-
Notifications
You must be signed in to change notification settings - Fork 0
Completed prototype development #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 15 commits
0df7f5b
a13df0d
3f4fe3c
d3edb38
8513944
379b500
a6a8859
976d0f6
4fc46a3
e78dd82
23297b3
14828d8
f71e0aa
c5b6d33
da3557d
072b739
9457add
34f633a
e3c0433
a950dd9
f7d5ca5
5c8db48
0f5334e
162d092
7a79a12
abf0b2b
80a869c
ad20419
a6ad3c4
d7afff7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| name: Keyfactor Bootstrap Workflow | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| pull_request: | ||
| types: [opened, closed, synchronize, edited, reopened] | ||
| push: | ||
| create: | ||
| branches: | ||
| - 'release-*.*' | ||
|
|
||
| jobs: | ||
| call-starter-workflow: | ||
| uses: keyfactor/actions/.github/workflows/starter.yml@v3 | ||
| secrets: | ||
| token: ${{ secrets.V2BUILDTOKEN}} | ||
| APPROVE_README_PUSH: ${{ secrets.APPROVE_README_PUSH}} | ||
| gpg_key: ${{ secrets.KF_GPG_PRIVATE_KEY }} | ||
| gpg_pass: ${{ secrets.KF_GPG_PASSPHRASE }} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| ### 1.0.0 | ||
| * initial release |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,24 @@ | ||||||
| ## Overview | ||||||
|
|
||||||
| The Nexus Certificate Manager AnyCA REST plugin extends the capabilities of the Nexus Certificate Manager product to Keyfactor Command via the Keyfactor AnyCA Gateway REST. The plugin represents a fully featured AnyCA REST Plugin with the following capabilies: | ||||||
| * Certificate Synchronization | ||||||
| * Certificate Enrollment | ||||||
| * Certificate Revocation | ||||||
|
|
||||||
| ## Requirements | ||||||
|
|
||||||
| - The host URL for the instance of Nexus Certificate Manager | ||||||
| - A certificate in the pfx format to use for authentication into Nexus Certificate Manager, located on the Gateway Host | ||||||
| - The passphrase for the pfx certificate | ||||||
|
|
||||||
| ## Gateway Registration | ||||||
|
|
||||||
| In order to enroll certificates the Keyfactor Command server must trust the CA chain. Once you identify your Root and/or Subordinate CA used by the Nexus Certificate Manager platform, make sure to download and import the certificate chain into the Command Server certificate store | ||||||
|
|
||||||
| ## CA Connection | ||||||
|
|
||||||
| The certificate used by the gateway for authenticating into the Nexus Certificate Manager will need to be copied to a location on the Gateway Host that is accessble by the gateway service. The Certificate Path | ||||||
|
joevanwanzeeleKF marked this conversation as resolved.
Outdated
|
||||||
| The certificate used by the gateway for authenticating into the Nexus Certificate Manager will need to be copied to a location on the Gateway Host that is accessble by the gateway service. The Certificate Path | |
| The certificate used by the gateway for authenticating into the Nexus Certificate Manager will need to be copied to a location on the Gateway Host that is accessble by the gateway service. The Certificate Path setting in the gateway configuration must then be set to the full filesystem path of this certificate file so that the gateway can locate and load it at runtime. |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,37 @@ | ||||||
| { | ||||||
| "$schema": "https://keyfactor.github.io/v2/integration-manifest-schema.json", | ||||||
| "integration_type": "anyca-plugin", | ||||||
| "name": "Nexus Certificate Maanager AnyCA REST Gateway Plugin", | ||||||
|
||||||
| "name": "Nexus Certificate Maanager AnyCA REST Gateway Plugin", | |
| "name": "Nexus Certificate Manager AnyCA REST Gateway Plugin", |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| | ||
| // Copyright 2025 Keyfactor | ||
| // Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. | ||
| // You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 | ||
| // Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, | ||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions | ||
| // and limitations under the License. | ||
|
|
||
| namespace Keyfactor.Extensions.CAPlugin.NexusCertManager | ||
| { | ||
| public static class Constants | ||
| { | ||
| //names | ||
| public const string HOST = "Host"; | ||
| public const string AUTHCERTPATH = "AuthCertificatePath"; | ||
| public const string ENABLED = "Enabled"; | ||
| public const string AUTHCERTPASSWORD = "AuthCertPassword"; | ||
|
|
||
|
|
||
| //values | ||
| public const string APIPATH = "pgwy/api"; | ||
| public const string PRODUCTID = "NexusCM"; | ||
| public const string PKCS7MIMETYPE = "application/pkcs7-mime"; | ||
| public const string PEMCHAIN = "application/pem-certificate-chain"; | ||
|
|
||
| public const string MEDIATYPE_PKCS10 = "pkcs10"; | ||
| public const string MEDIATYPE_PKCS12 = "pkcs12"; | ||
| public const string MEDIATYPE_SMARTCARD = "smartcard"; | ||
| public const string MEDIATYPE_ATTRIBUTECERT = "attributecertificate"; | ||
| public const string MEDIATYPE_DATA = "data"; | ||
| } | ||
|
|
||
| public static class ApiEndpoints | ||
| { | ||
| public const string LISTCERTS = "/certificates"; //get | ||
| public static string DOWNLOADCERT(string certId) => $"/certificates/{certId}/download"; //get | ||
| public static string CERTDETAILS(string certId) => $"/certificates/{certId}/details"; //get | ||
|
|
||
| public const string REVOKE = "/certificates/revoke"; //post | ||
|
|
||
| public const string ENROLL = "/certificates/pkcs10"; //post | ||
|
|
||
| public const string LISTPROCEDURES = "/procedures"; | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spelling error in "capabilies" - should be "capabilities"