From f0d7ae6eddc300ca706c3dd8358071854dc2ae74 Mon Sep 17 00:00:00 2001 From: Mikey Henderson Date: Wed, 28 Jun 2023 12:47:29 -0700 Subject: [PATCH] ab#46718 2.0 Feature Set Complete (#20) (#21) * Kv sub path support (#12) * updated to support 2 store types. HCVKV and HCV. * Updated to distinguish between multiple supported store types. * updated doc to reflect multiple store type configs. * removed sensitive info from tracelog. * Removed KEY_SECRET from PutCertificate Task * Modified PutCertificate to include ---BEGIN ----END banners (for key+cert) * Allows Cert Stores to be allow a boolean value for SubfolderInventory. Allows inventory to be done on a root storepath and all of the component/subdirectories. Included documentation update to README.md * Adding InputValidation for KeyValue secrets * Update generated README * Include pem chain (#17) * Fixed store path and mount point mapping * Fixed issue with path not being resolved before attempting to write cert. * Allows for Recursive subfolder inventory * Update readme to call out cert store limits * Adding InputValidation for KeyValue secrets * including certificate chain when enrolling via platform. * added flag on store type to indicate whether to include cert chain * fixed issue when checking for revocation time for inventory. * Combine chain certs (#19) * updated documentation to store Vault token as a secret instead of plain string. * Updated property names. now including full chain in ca_chain field. * fixed issue with revocation time check. * updated fields. the full chain is now stored in certificate if selected. * Fixed issue where improperly formatted secrets would cause inventory to bail. * Update changelog version info * updated integration manifest * Update generated README * Create keyfactor-merge-store-types.yml --------- Co-authored-by: Joe VanWanzeele <76071503+joevanwanzeeleKF@users.noreply.github.com> Co-authored-by: Keyfactor Co-authored-by: Michael Henderson Co-authored-by: JoeKF --- .../workflows/keyfactor-starter-workflow.yml | 18 +- .gitignore | 1 + CHANGELOG.md | 18 + README.md | 158 +++++-- hashicorp-vault-orchestrator.sln | 1 + hashicorp-vault-orchestrator/Constants.cs | 3 +- hashicorp-vault-orchestrator/HcvClient.cs | 352 ---------------- .../HcvKeyValueClient.cs | 384 ++++++++++++++++++ .../HcvKeyfactorClient.cs | 170 ++++++++ hashicorp-vault-orchestrator/IHashiClient.cs | 22 + .../Jobs/Discovery.cs | 22 +- .../Jobs/Inventory.cs | 2 +- hashicorp-vault-orchestrator/Jobs/JobBase.cs | 48 ++- .../Jobs/Management.cs | 62 ++- hashicorp-vault-orchestrator/manifest.json | 10 +- images/cert-store-kv.PNG | Bin 0 -> 29419 bytes images/cert-store-pki.PNG | Bin 0 -> 24062 bytes images/cert-store-type-advanced.png | Bin 0 -> 24700 bytes images/cert_store_add_dialog.png | Bin 20278 -> 22194 bytes images/store-type-kv.PNG | Bin 0 -> 30679 bytes images/store_type_fields.png | Bin 13147 -> 17863 bytes images/store_type_pki.png | Bin 0 -> 30301 bytes images/vault_cli_read.png | Bin 110140 -> 69116 bytes integration-manifest.json | 147 ++++++- readme_source.md | 132 ++++-- 25 files changed, 1070 insertions(+), 480 deletions(-) create mode 100644 CHANGELOG.md delete mode 100644 hashicorp-vault-orchestrator/HcvClient.cs create mode 100644 hashicorp-vault-orchestrator/HcvKeyValueClient.cs create mode 100644 hashicorp-vault-orchestrator/HcvKeyfactorClient.cs create mode 100644 hashicorp-vault-orchestrator/IHashiClient.cs create mode 100644 images/cert-store-kv.PNG create mode 100644 images/cert-store-pki.PNG create mode 100644 images/cert-store-type-advanced.png create mode 100644 images/store-type-kv.PNG create mode 100644 images/store_type_pki.png diff --git a/.github/workflows/keyfactor-starter-workflow.yml b/.github/workflows/keyfactor-starter-workflow.yml index 4c2d327..e291ab4 100644 --- a/.github/workflows/keyfactor-starter-workflow.yml +++ b/.github/workflows/keyfactor-starter-workflow.yml @@ -5,6 +5,19 @@ jobs: call-create-github-release-workflow: uses: Keyfactor/actions/.github/workflows/github-release.yml@main + get-manifest-properties: + runs-on: windows-latest + outputs: + update_catalog: ${{ steps.read-json.outputs.prop }} + steps: + - uses: actions/checkout@v3 + - name: Read json + id: read-json + shell: pwsh + run: | + $json = Get-Content integration-manifest.json | ConvertFrom-Json + echo "::set-output name=prop::$(echo $json.update_catalog)" + call-dotnet-build-and-release-workflow: needs: [call-create-github-release-workflow] uses: Keyfactor/actions/.github/workflows/dotnet-build-and-release.yml@main @@ -18,9 +31,12 @@ jobs: call-generate-readme-workflow: if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' uses: Keyfactor/actions/.github/workflows/generate-readme.yml@main + secrets: + token: ${{ secrets.APPROVE_README_PUSH }} call-update-catalog-workflow: - if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' + needs: get-manifest-properties + if: needs.get-manifest-properties.outputs.update_catalog == 'True' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') uses: Keyfactor/actions/.github/workflows/update-catalog.yml@main secrets: token: ${{ secrets.SDK_SYNC_PAT }} diff --git a/.gitignore b/.gitignore index 9e70390..50f98d1 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /hashicorp-vault-orchestrator/hashicorp-vault-orchestrator.csproj.user .vs *.licenseheader +README.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..a0dd80d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,18 @@ +## 2.0.0 + +* Added support for storing certs in sub-paths +* Updated documentation to specify storing the token as a secret. +* Added inventory job support for the Hashicorp PKI secrets engine +* Added inventory job support for the Keyfactor secrets engine + +* **Breaking Change**: the properties have been renamed from: + * `PUBLIC_KEY` to `certificate` + * `PRIVATE_KEY` to `private_key` + * `PUBLIC_KEY_` has been removed. Now the chain is stored in `certificate` if the option is selected. + +* **Breaking Change**: Added a flag on the Keyfactor Certificate store definition to indicate whether to store the full CA chain along with the certificate + + +* **Breaking Change**: the cert store types are now: + * **HCVPKI** for the PKI and Keyfactor secrets engine + * **HCVKV** for the Key-Value secrets engine \ No newline at end of file diff --git a/README.md b/README.md index 257cffd..47866fb 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,26 @@ # Orchestrator Extension for Hashicorp Vault -The Hashicorp Vault Orchestrator extension allows you store certificates in Hashicorp Vault KeyValue secrets engine. +The Hashicorp Vault Orchestrator extension allows you to manage certificates in Hashicorp Vault KeyValue secrets engine and perform inventory on certificates stored in the PKI or Keyfactor secrets engines. #### Integration status: Production - Ready for use in production environments. -## About the Keyfactor Universal Orchestrator Capability -This repository contains a Universal Orchestrator Capability which is a plugin to the Keyfactor Universal Orchestrator. Within the Keyfactor Platform, Orchestrators are used to manage “certificate stores” — collections of certificates and roots of trust that are found within and used by various applications. +## About the Keyfactor Universal Orchestrator Extension -The Universal Orchestrator is part of the Keyfactor software distribution and is available via the Keyfactor customer portal. For general instructions on installing Capabilities, see the “Keyfactor Command Orchestrator Installation and Configuration Guide” section of the Keyfactor documentation. For configuration details of this specific Capability, see below in this readme. +This repository contains a Universal Orchestrator Extension which is a plugin to the Keyfactor Universal Orchestrator. Within the Keyfactor Platform, Orchestrators are used to manage “certificate stores” — collections of certificates and roots of trust that are found within and used by various applications. -The Universal Orchestrator is the successor to the Windows Orchestrator. This Capability plugin only works with the Universal Orchestrator and does not work with the Windows Orchestrator. +The Universal Orchestrator is part of the Keyfactor software distribution and is available via the Keyfactor customer portal. For general instructions on installing Extensions, see the “Keyfactor Command Orchestrator Installation and Configuration Guide” section of the Keyfactor documentation. For configuration details of this specific Extension see below in this readme. +The Universal Orchestrator is the successor to the Windows Orchestrator. This Orchestrator Extension plugin only works with the Universal Orchestrator and does not work with the Windows Orchestrator. + + + + +## Support for Orchestrator Extension for Hashicorp Vault + +Orchestrator Extension for Hashicorp Vault is supported by Keyfactor for Keyfactor customers. If you have a support issue, please open a support ticket with your Keyfactor representative. + +###### To report a problem or suggest a new feature, use the **[Issues](../../issues)** tab. If you want to contribute actual bug fixes or proposed enhancements, use the **[Pull requests](../../pulls)** tab. @@ -19,6 +28,11 @@ The Universal Orchestrator is the successor to the Windows Orchestrator. This Ca + +## Keyfactor Version Supported + +The minimum version of the Keyfactor Universal Orchestrator Framework needed to run this version of the extension is 10.1 + ## Platform Specific Notes The Keyfactor Universal Orchestrator may be installed on either Windows or Linux based platforms. The certificate operations supported by a capability may vary based what platform the capability is installed on. The table below indicates what capabilities are supported based on which platform the encompassing Universal Orchestrator is running. @@ -33,58 +47,71 @@ The Keyfactor Universal Orchestrator may be installed on either Windows or Linux + + --- -This integration for the Keyfactor Universal Orchestrator has been tested against Hashicorp Vault 1.10. It utilizes the *Key/Value* secrets engine to store certificates issues via Keyfactor Command. +This integration for the Keyfactor Universal Orchestrator has been tested against Hashicorp Vault 1.10. It utilizes the **Key/Value** secrets engine to store certificates issues via Keyfactor Command. ## Use Cases -The Hashicorp Vault Orchestrator Integration implements the following capabilities: +This integration supports 3 Hashicorp Secrets Engines; PKI, Key-Value store, and the Keyfactor Hashicorp Plugin (Keyfactor Secrets Engine). + +### The Key-Value secrets engine + +The Following operations are supported by this integration **only** for the Key-Value secrets engine. 1. Discovery - Discover all sub-paths containing certificate. 1. Inventory - Return all certificates stored in a path. 1. Management (Add) - Add a certificate to a defined certificate store. 1. Management (Remove) - Remove a certificate from a defined certificate store. +### The Hashicorp PKI and Keyfactor Plugin secrets engines + +Both the Hashicorp PKI and Keyfactor plugin are designed to allow managing certifications directly on the Hashicorp Vault instance. +This integration does support the following in order to view your certificates from the platform: + +1. Inventory - Return all certificates stored in a path. + +[View the repository on Github](https://github.com/Keyfactor/hashicorp-vault-secretsengine) for more information about the Hashicorp Vault Keyfactor Secrets Engine plugin. + ## Versioning The version number of a the Hashicorp Vault Orchestrator Extension can be verified by right clicking on the `Keyfactor.Extensions.Orchestrator.HCV.dll` file in the extensions installation folder, selecting Properties, and then clicking on the Details tab. ## Keyfactor Version Supported -This integration was built on the .NET Core 3.1 target framework and are compatible for use with the Keyfactor Universal Orchestrator. +This integration was built on the .NET Core 3.1 target framework and are compatible for use with the Keyfactor Universal Orchestrator and the latest version of the Keyfactor platform. ## Security Considerations 1. It is not necessary to use the Vault root token when creating a Certificate Store for HashicorpVault. We recommend creating a token with policies that reflect the minimum permissions necessary to perform the intended operations. -1. The certificates are stored in 3 fields in the Key Value store. - -- `PUBLIC_KEY` - The certificate public key -- `PRIVATE_KEY` - The certificate private key -- `KEY_SECRET` - The certificate private key password - -## Extension Configuration -### On the Orchestrator Agent Machine +1. For the Key-Value secrets engine, the certificates are stored as an entry with these fields. -1. Stop the Orchestrator service. +- `certificate` - The PEM formatted certificate and intermediate CA chain (if selected) +- `private_key` - The certificate private key -- The service will be called "KeyfactorOrchestrator-Default" by default. +**Note**: Key/Value secrets that do not include the keys `certificate` and `private_key` will be ignored during inventory scans. -1. Navigate to the "extensions" sub-folder of your Orchestrator installation directory +## Extension Configuration -- example: `C:\Program Files\Keyfactor\Keyfactor Orchestrator\extensions` +### On the Orchestrator Agent Machine -1. Create a new folder called "HCV" (the name of the folder is not important) -1. Extract the contents of the release zip file into this folder. -1. Re-start the Orchestrator service. +1. Stop the Orchestrator service. + - The service will be called "KeyfactorOrchestrator-Default" by default. +2. Navigate to the "extensions" sub-folder of your Orchestrator installation directory + - example: `C:\Program Files\Keyfactor\Keyfactor Orchestrator\extensions` +3. Create a new folder called "HCV" (the name of the folder is not important) +4. Extract the contents of the release zip file into this folder. +5. Re-start the Orchestrator service. ### In the Keyfactor Platform -1. Add a new Certificate Store Type +#### Add a new Certificate Store Type - **Key-Value Secrets Engine** - Log into Keyfactor as Administrator or a user with permissions to add certificate store types. - Click on the gear icon in the top right and then navigate to the "Certificate Store Types" @@ -93,33 +120,39 @@ This integration was built on the .NET Core 3.1 target framework and are compati ![](images/store_type_add.png) - Set the following values in the "Basic" tab: - - **Name** - "Hashicorp Vault" (or another preferred name) - - **Short Name** - "HCV" + - **Name:** "Hashicorp Vault Key-Value" (or another preferred name) + - **Short Name:** "HCVKV" - **Supported Job Types** - "Inventory", "Add", "Remove", "Discovery" + +![](images/store-type-kv.PNG) + +- Set the following values on the "Advanced" tab: - **Supports Custom Alias** - "Optional" - **Private Key Handling** - "Optional" -![](images/store_type_1.png) +![](images/cert-store-type-advanced.png) - Click the "Custom Fields" tab to add the following custom fields: - **MountPoint** - type: *string* - **VaultServerUrl** - type: *string*, *required* - - **VaultToken** - type: *string*, *required* + - **VaultToken** - type: *secret*, *required* + - **SubfolderInventory** - type: *bool* (By default, this is set to false. Not a required field) + - **IncludeCertChain** - type: *bool* (If true, the available intermediate certificates will also be written to Vault during enrollment) ![](images/store_type_fields.png) - Click **Save** to save the new Store Type. -1. Add the Hashicorp Vault Certificate Store +#### Add the Hashicorp Vault Certificate Store - **Key-Value Secrets Engine** - Navigate to **Locations** > **Certificate Stores** from the main menu - Click **ADD** to open the new Certificate Store Dialog -![](images/cert_store_add_dialog.png) +![](images/cert_store_add_dialog.png) -In Keyfactor Command create a new Certificate Store Type similar to the one below: +In Keyfactor Command create a new Certificate Store that resembles the one below: -![](images/cert_store_fields.png) +![](images/cert_store_fields.png) - **Client Machine** - Enter the URL for the Vault host machine - **Store Path** - This is the path after mount point where the certs will be stored. @@ -128,11 +161,65 @@ In Keyfactor Command create a new Certificate Store Type similar to the one belo - If left blank, will default to "kv-v2". - **Vault Token** - This is the access token that will be used by the orchestrator for requests to Vault. - **Vault Server Url** - the full url and port of the Vault server instance +- **Subfolder Inventory** - Set to 'True' if it is a requirement to inventory secrets at the subfolder/component level. The default, 'False' will inventory secrets stored at the root of the "Store Path", but will not look at secrets in subfolders. **Note** that there is a limit on the number of certificates that can be in a certificate store. In certain environments enabling Subfolder Inventory may exceed this limit and cause inventory job failure. Inventory job results are currently submitted to the Command platform as a single HTTP POST. There is not a specific limit on the number of certificates in a store, rather the limit is based on the size of the actual certificates and the HTTP POST size limit configured on the Command web server. + +### For the Keyfactor and PKI plugins -## Testing +- Add a new Certificate Store Type + - Log into Keyfactor as Administrator or a user with permissions to add certificate store types. + - Click on the gear icon in the top right and then navigate to the "Certificate Store Types" + - Click "Add" and enter the following information on the first tab: + +![](images/store_type_add.png) + +- **Name:** "Hashicorp Vault PKI" (or another preferred name) +- **Short Name:** "HCVPKI" +- **Supported Job Types:** "Inventory" + +![](images/store_type_pki.PNG) + +- Set the following values on the "Advanced" tab: + - **Supports Custom Alias** - "Optional" + - **Private Key Handling** - "Optional" + +![](images/cert-store-type-advanced.png) + +- Click the "Custom Fields" tab to add the following custom fields: + - **MountPoint** - type: *string* + - **VaultServerUrl** - type: *string*, *required* + - **VaultToken** - type: *secret*, *required* + +![](images/store_type_fields.png) + +- Click **Save** to save the new Store Type. + +1. Add the Hashicorp Vault Certificate Store + +- Navigate to **Locations** > **Certificate Stores** from the main menu +- Click **ADD** to open the new Certificate Store Dialog + +In Keyfactor Command create a new Certificate Store similar to the one below: + +![](images/store_type_pki.png) + +- **Client Machine** - Enter the URL for the Vault host machine +- **Store Path** - "/" +- **Mount Point** - This is the mount point name for the instance of the PKI or Keyfactor secrets engine plugin. + - If using the PKI plugin, the default in Hashicorp is pki. If using the Keyfactor plugin, it should correspond to the mount point given when the plugin was enabled. + - It is possible to have multiple instances of the Keyfactor plugin running simultaneously, so be sure this corresponds to the one you would like to manage. + +- **Vault Token** - This is the access token that will be used by the orchestrator for requests to Vault. +- **Vault Server Url** - the full url and port of the Vault server instance + +At this point, the certificate store should be created and ready to peform inventory on your certificates stored via the Keyfactor or PKI secrets engine plugin for Hashicorp Vault. + +## Testing the Key-Value store ### PFX Enrollment into Vault +**Note** +Enrollment via the platform is only supported by the Key-Value store type + At this point you should be able to enroll a certificate and store it in Vault using the plugin. 1. Navigate to `Enrollment > PFX Enrollment` from the main menu. @@ -153,7 +240,7 @@ At this point you should be able to enroll a certificate and store it in Vault u - Make sure the vault is unsealed first -1. Type `vault kv list kv/cert-store` (where "kv/cert-store" is /) +1. Type `vault kv list kv/cert-store` (where "kv/cert-store" is `/`) - You should see the alias of the newly enrolled certificate @@ -168,6 +255,5 @@ At this point you should be able to enroll a certificate and store it in Vault u ## Notes / Future Enhancements -- Currently we only operate on a single version of the Key Value secret (no versioning capabilities through the Orchesterator Extension / Keyfactor). -- Creating a new certificate store is done implicitly by adding a **store path** value that doesn't currently exist. +- For the Key-Value stores we operate on a single version of the Key Value secret (no versioning capabilities through the Orchesterator Extension / Keyfactor). diff --git a/hashicorp-vault-orchestrator.sln b/hashicorp-vault-orchestrator.sln index a46e58b..af7d618 100644 --- a/hashicorp-vault-orchestrator.sln +++ b/hashicorp-vault-orchestrator.sln @@ -7,6 +7,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "hashicorp-vault-orchestrato EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{83623EBF-AC4C-4158-922D-959AEFC75453}" ProjectSection(SolutionItems) = preProject + CHANGELOG.md = CHANGELOG.md integration-manifest.json = integration-manifest.json LICENSE = LICENSE README.md = README.md diff --git a/hashicorp-vault-orchestrator/Constants.cs b/hashicorp-vault-orchestrator/Constants.cs index 9fe095e..da037a4 100644 --- a/hashicorp-vault-orchestrator/Constants.cs +++ b/hashicorp-vault-orchestrator/Constants.cs @@ -9,7 +9,8 @@ namespace Keyfactor.Extensions.Orchestrator.HashicorpVault { static class AzureKeyVaultConstants { - public const string STORE_TYPE_NAME = "HCV"; + public const string KEY_VALUE_STORE_TYPE = "HCVKV"; + public const string PKI_STORE_TYPE = "HCV"; //same for Keyfactor plugin store type } static class JobTypes diff --git a/hashicorp-vault-orchestrator/HcvClient.cs b/hashicorp-vault-orchestrator/HcvClient.cs deleted file mode 100644 index 5bf6e2c..0000000 --- a/hashicorp-vault-orchestrator/HcvClient.cs +++ /dev/null @@ -1,352 +0,0 @@ -// Copyright 2022 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. - -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Keyfactor.Logging; -using Keyfactor.Orchestrators.Common.Enums; -using Keyfactor.Orchestrators.Extensions; -using Microsoft.Extensions.Logging; -using Org.BouncyCastle.Crypto; -using Org.BouncyCastle.OpenSsl; -using Org.BouncyCastle.Pkcs; -using VaultSharp; -using VaultSharp.V1.AuthMethods; -using VaultSharp.V1.AuthMethods.Token; -using VaultSharp.V1.Commons; - -namespace Keyfactor.Extensions.Orchestrator.HashicorpVault -{ - public class HcvClient - { - private IVaultClient _vaultClient { get; set; } - - protected IVaultClient VaultClient => _vaultClient; - - private ILogger logger = LogHandler.GetClassLogger(); - - private string _storePath { get; set; } - - private VaultClientSettings clientSettings { get; set; } - - private static readonly string privKeyStart = "-----BEGIN RSA PRIVATE KEY-----\n"; - private static readonly string privKeyEnd = "\n-----END RSA PRIVATE KEY-----"; - - public HcvClient(string vaultToken, string serverUrl) - { - // Initialize one of the several auth methods. - IAuthMethodInfo authMethod = new TokenAuthMethodInfo(vaultToken); - - // Initialize settings. You can also set proxies, custom delegates etc. here. - clientSettings = new VaultClientSettings(serverUrl, authMethod); - - _vaultClient = new VaultClient(clientSettings); - } - - public async Task GetCertificate(string key, string storePath, string mountPoint = null) - { - VaultClient.V1.Auth.ResetVaultToken(); - - Dictionary certData; - Secret res; - - storePath = !string.IsNullOrEmpty(storePath) ? "/" + storePath : storePath; //add the slash back in. - try - { - var fullPath = storePath + "/" + key; - - try - { - if (mountPoint == null) - { - res = (await VaultClient.V1.Secrets.KeyValue.V2.ReadSecretAsync(fullPath)); - } - else - { - res = (await VaultClient.V1.Secrets.KeyValue.V2.ReadSecretAsync(fullPath, mountPoint: mountPoint)); - } - } - catch (Exception ex) - { - logger.LogWarning("Error getting certificate (deleted?)", ex); - return null; - } - - certData = (Dictionary)res.Data.Data; - } - catch (Exception ex) - { - logger.LogError("Error getting certificate from Vault", ex); - throw; - } - - try - { - string publicKey = certData["PUBLIC_KEY"]?.ToString() ?? null; - bool hasPrivateKey = certData["PRIVATE_KEY"] != null; - - var certs = new List() { publicKey }; - - var keys = certData.Keys.Where(k => k.StartsWith("PUBLIC_KEY_")).ToList(); - - keys.ForEach(k => certs.Add(certData[k].ToString())); - - return new CurrentInventoryItem() - { - Alias = key, - PrivateKeyEntry = hasPrivateKey, - ItemStatus = OrchestratorInventoryItemStatus.Unknown, - UseChainLevel = true, - Certificates = certs.ToArray() - }; - } - catch (Exception ex) - { - logger.LogError("Error parsing cert data", ex); - throw; - } - } - - public async Task> GetVaults(string storePath, string mountPoint = null) - { - VaultClient.V1.Auth.ResetVaultToken(); - - var vaults = new List(); - - try - { - if (mountPoint == null) - { - vaults = (await VaultClient.V1.Secrets.KeyValue.V2.ReadSecretPathsAsync(storePath)).Data.Keys.ToList(); - } - else - { - vaults = (await VaultClient.V1.Secrets.KeyValue.V2.ReadSecretPathsAsync(storePath, mountPoint)).Data.Keys.ToList(); - } - - } - catch (Exception ex) - { - logger.LogError(ex.Message); - } - - return vaults; - } - - public async Task PutCertificate(string certName, string contents, string pfxPassword, string storePath, string mountPoint = null) - { - VaultClient.V1.Auth.ResetVaultToken(); - - var certDict = new Dictionary(); - - var pfxBytes = Convert.FromBase64String(contents); - Pkcs12Store p; - using (var pfxBytesMemoryStream = new MemoryStream(pfxBytes)) - { - p = new Pkcs12Store(pfxBytesMemoryStream, - pfxPassword.ToCharArray()); - } - - // Extract private key - string alias; - string privateKeyString; - using (var memoryStream = new MemoryStream()) - { - using (TextWriter streamWriter = new StreamWriter(memoryStream)) - { - logger.LogTrace("Extracting Private Key..."); - var pemWriter = new PemWriter(streamWriter); - logger.LogTrace("Created pemWriter..."); - alias = p.Aliases.Cast().SingleOrDefault(a => p.IsKeyEntry(a)); - logger.LogTrace($"Alias = {alias}"); - var publicKey = p.GetCertificate(alias).Certificate.GetPublicKey(); - logger.LogTrace($"publicKey = {publicKey}"); - var KeyEntry = p.GetKey(alias); - logger.LogTrace($"KeyEntry = {KeyEntry}"); - if (KeyEntry == null) throw new Exception("Unable to retrieve private key"); - - var privateKey = KeyEntry.Key; - logger.LogTrace($"privateKey = {privateKey}"); - var keyPair = new AsymmetricCipherKeyPair(publicKey, privateKey); - - pemWriter.WriteObject(keyPair.Private); - streamWriter.Flush(); - privateKeyString = Encoding.ASCII.GetString(memoryStream.GetBuffer()).Trim() - .Replace("\r", "").Replace("\0", ""); - logger.LogTrace($"Got Private Key String {privateKeyString}"); - memoryStream.Close(); - streamWriter.Close(); - logger.LogTrace("Finished Extracting Private Key..."); - } - } - var pubCertPem = Pemify(Convert.ToBase64String(p.GetCertificate(alias).Certificate.GetEncoded())); - - try - { - privateKeyString = privateKeyString.Replace(privKeyStart, "").Replace(privKeyEnd, ""); - certDict.Add("PRIVATE_KEY", privateKeyString); - certDict.Add("PUBLIC_KEY", pubCertPem); - certDict.Add("KEY_SECRET", pfxPassword); - } - catch (Exception ex) - { - logger.LogError("Error parsing certificate content", ex); - throw; - } - try - { - storePath = !string.IsNullOrEmpty(storePath) ? "/" + storePath : storePath; //add the slash back in. - var fullPath = storePath + "/" + certName; - - if (mountPoint == null) - { - await VaultClient.V1.Secrets.KeyValue.V2.WriteSecretAsync(fullPath, certDict); - } - else - { - await VaultClient.V1.Secrets.KeyValue.V2.WriteSecretAsync(fullPath, certDict, mountPoint: mountPoint); - } - } - catch (Exception ex) - { - logger.LogError("Error writing cert to Vault", ex); - throw; - } - } - - public async Task DeleteCertificate(string certName, string storePath, string mountPoint = null) - { - VaultClient.V1.Auth.ResetVaultToken(); - - try - { - storePath = !string.IsNullOrEmpty(storePath) ? "/" + storePath : storePath; //add the slash back in. - var fullPath = storePath + "/" + certName; - - if (mountPoint == null) - { - await VaultClient.V1.Secrets.KeyValue.V2.DeleteSecretAsync(fullPath); - } - else - { - await VaultClient.V1.Secrets.KeyValue.V2.DeleteSecretAsync(fullPath, mountPoint); - } - } - catch (Exception ex) - { - logger.LogError("Error removing cert from Vault", ex); - throw; - } - return true; - } - - public async Task> GetCertificates(string storePath, string mountPoint = null) - { - VaultClient.V1.Auth.ResetVaultToken(); - storePath = !string.IsNullOrEmpty(storePath) ? "/" + storePath : storePath; //add the slash back in. - - var certs = new List(); - var certNames = new List(); - try - { - if (string.IsNullOrEmpty(mountPoint)) - { - certNames = (await VaultClient.V1.Secrets.KeyValue.V2.ReadSecretPathsAsync(storePath)).Data.Keys.ToList(); - } - else - { - certNames = (await VaultClient.V1.Secrets.KeyValue.V2.ReadSecretPathsAsync(storePath, mountPoint)).Data.Keys.ToList(); - } - - certNames.ForEach(k => - { - var cert = GetCertificate(k, storePath, mountPoint).Result; - if (cert != null) certs.Add(cert); - }); - } - catch (Exception ex) - { - logger.LogError(ex.Message); - } - - return certs; - } - - private static Func Pemify = ss => - ss.Length <= 64 ? ss : ss.Substring(0, 64) + "\n" + Pemify(ss.Substring(64)); - - //private string GetCertPem(string alias, string contents, string password, ref string privateKeyString) - //{ - // logger.MethodEntry(LogLevel.Debug); - // logger.LogTrace($"alias {alias} privateKeyString {privateKeyString}"); - // string certPem = null; - // try - // { - // if (!string.IsNullOrEmpty(password)) - // { - // logger.LogTrace($"Certificate and Key exist for {alias}"); - // var certData = Convert.FromBase64String(contents); - - // var ms = new MemoryStream(certData); - // Pkcs12Store store = new Pkcs12Store(ms, - // password.ToCharArray()); - - - // string storeAlias; - // TextWriter streamWriter; - // using (var memoryStream = new MemoryStream()) - // { - // streamWriter = new StreamWriter(memoryStream); - // var pemWriter = new PemWriter(streamWriter); - - // storeAlias = store.Aliases.Cast().SingleOrDefault(a => store.IsKeyEntry(a)); - // var publicKey = store.GetCertificate(storeAlias).Certificate.GetPublicKey(); - // var privateKey = store.GetKey(storeAlias).Key; - // var keyPair = new AsymmetricCipherKeyPair(publicKey, privateKey); - - // var pkStart = "-----BEGIN RSA PRIVATE KEY-----\n"; - // var pkEnd = "\n-----END RSA PRIVATE KEY-----"; - - - // pemWriter.WriteObject(keyPair.Private); - // streamWriter.Flush(); - // privateKeyString = Encoding.ASCII.GetString(memoryStream.GetBuffer()).Trim() - // .Replace("\r", "") - // .Replace("\0", ""); - // privateKeyString = privateKeyString.Replace(pkStart, "").Replace(pkEnd, ""); - - // memoryStream.Close(); - // } - - // streamWriter.Close(); - - // // Extract server certificate - // certPem = Pemify( - // Convert.ToBase64String(store.GetCertificate(storeAlias).Certificate.GetEncoded())); - // } - // else - // { - // logger.LogTrace($"Certificate ONLY for {alias}"); - // certPem = Pemify(contents); - // } - // } - // catch (Exception ex) - // { - // logger.LogError($"Error Generating PEM: Error {LogHandler.FlattenException(ex)}"); - // } - - // logger.LogTrace($"PEM {certPem}"); - // logger.MethodEntry(LogLevel.Debug); - // return certPem; - //} - - } -} diff --git a/hashicorp-vault-orchestrator/HcvKeyValueClient.cs b/hashicorp-vault-orchestrator/HcvKeyValueClient.cs new file mode 100644 index 0000000..d7ee988 --- /dev/null +++ b/hashicorp-vault-orchestrator/HcvKeyValueClient.cs @@ -0,0 +1,384 @@ +// Copyright 2022 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. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Keyfactor.Logging; +using Keyfactor.Orchestrators.Common.Enums; +using Keyfactor.Orchestrators.Extensions; +using Microsoft.Extensions.Logging; +using Org.BouncyCastle.Crypto; +using Org.BouncyCastle.OpenSsl; +using Org.BouncyCastle.Pkcs; +using VaultSharp; +using VaultSharp.V1.AuthMethods; +using VaultSharp.V1.AuthMethods.Token; +using VaultSharp.V1.Commons; + +namespace Keyfactor.Extensions.Orchestrator.HashicorpVault +{ + public class HcvKeyValueClient : IHashiClient + { + private IVaultClient _vaultClient { get; set; } + + protected IVaultClient VaultClient => _vaultClient; + + private ILogger logger = LogHandler.GetClassLogger(); + + private string _storePath { get; set; } + private string _mountPoint { get; set; } + private bool _subfolderInventory { get; set; } + + //private VaultClientSettings clientSettings { get; set; } + + public HcvKeyValueClient(string vaultToken, string serverUrl, string mountPoint, string storePath, bool SubfolderInventory = false) + { + // Initialize one of the several auth methods. + IAuthMethodInfo authMethod = new TokenAuthMethodInfo(vaultToken); + + // Initialize settings. You can also set proxies, custom delegates etc. here. + var clientSettings = new VaultClientSettings(serverUrl, authMethod); + _mountPoint = mountPoint; + _storePath = !string.IsNullOrEmpty(storePath) ? "/" + storePath : storePath; + _vaultClient = new VaultClient(clientSettings); + _subfolderInventory = SubfolderInventory; + } + public async Task> ListComponentPathsAsync(string storagePath) + { + VaultClient.V1.Auth.ResetVaultToken(); + List componentPaths = new List { }; + try + { + Secret listInfo = (await VaultClient.V1.Secrets.KeyValue.V2.ReadSecretPathsAsync(storagePath, _mountPoint)); + + foreach (var path in listInfo.Data.Keys) + { + if (!path.EndsWith("/")) + { + continue; + } + + string fullPath = $"{storagePath}{path}"; + componentPaths.Add(fullPath); + + List subPaths = await ListComponentPathsAsync(fullPath); + componentPaths.AddRange(subPaths); + } + } + catch (Exception ex) + { + logger.LogWarning($"Error while listing component paths: {ex}"); + } + return componentPaths; + } + public async Task GetCertificate(string key) + { + VaultClient.V1.Auth.ResetVaultToken(); + + Dictionary certData; + Secret res; + var fullPath = _storePath + key; + var relativePath = fullPath.Substring(_storePath.Length); + + try + { + try + { + if (_mountPoint == null) + { + res = (await VaultClient.V1.Secrets.KeyValue.V2.ReadSecretAsync(fullPath)); + } + else + { + res = (await VaultClient.V1.Secrets.KeyValue.V2.ReadSecretAsync(fullPath, mountPoint: _mountPoint)); + } + } + catch (Exception ex) + { + logger.LogError($"Error getting certificate {fullPath}", ex); + + return null; + } + + certData = (Dictionary)res.Data.Data; + } + catch (Exception ex) + { + logger.LogError("Error getting certificate from Vault", ex); + throw; + } + + try + { + string certificate = null; + + //Validates if the "certificate" and "private_key" keys exist in certData + if (certData.TryGetValue("certificate", out object publicKeyObj)) + { + certificate = publicKeyObj as string; + } + + var certs = new List() { certificate }; + + certData.TryGetValue("private_key", out object privateKeyObj); + + // if either field is missing, don't include it in inventory + + if (publicKeyObj == null || privateKeyObj == null) return null; + + //split the chain entries (if chain is included) + + var certFooter = "\n-----END CERTIFICATE-----"; + + certs = certificate.Split(new string[] { certFooter }, StringSplitOptions.RemoveEmptyEntries).ToList(); + + for (int i = 0; i 0) + { + return new CurrentInventoryItem() + { + Alias = key, + PrivateKeyEntry = privateKeyObj != null, + ItemStatus = OrchestratorInventoryItemStatus.Unknown, + UseChainLevel = certs.Count() > 1, + Certificates = certs + }; + } + else + { + return null; + } + } + catch (Exception ex) + { + logger.LogError("Error parsing cert data", ex); + throw; + } + } + + public async Task> GetVaults() + { + VaultClient.V1.Auth.ResetVaultToken(); + + var vaults = new List(); + + try + { + if (_mountPoint == null) + { + vaults = (await VaultClient.V1.Secrets.KeyValue.V2.ReadSecretPathsAsync(_storePath)).Data.Keys.ToList(); + } + else + { + vaults = (await VaultClient.V1.Secrets.KeyValue.V2.ReadSecretPathsAsync(_storePath, _mountPoint)).Data.Keys.ToList(); + } + + } + catch (Exception ex) + { + logger.LogError(ex.Message); + } + + return vaults; + } + + public async Task PutCertificate(string certName, string contents, string pfxPassword, bool includeChain) + { + VaultClient.V1.Auth.ResetVaultToken(); + + var certDict = new Dictionary(); + + var pfxBytes = Convert.FromBase64String(contents); + Pkcs12Store p; + using (var pfxBytesMemoryStream = new MemoryStream(pfxBytes)) + { + p = new Pkcs12Store(pfxBytesMemoryStream, + pfxPassword.ToCharArray()); + } + + // Extract private key + string alias; + string privateKeyString; + using (var memoryStream = new MemoryStream()) + { + using (TextWriter streamWriter = new StreamWriter(memoryStream)) + { + logger.LogTrace("Extracting Private Key..."); + var pemWriter = new PemWriter(streamWriter); + logger.LogTrace("Created pemWriter..."); + alias = p.Aliases.Cast().SingleOrDefault(a => p.IsKeyEntry(a)); + logger.LogTrace($"Alias = {alias}"); + var publicKey = p.GetCertificate(alias).Certificate.GetPublicKey(); + + logger.LogTrace($"publicKey = {publicKey}"); + var KeyEntry = p.GetKey(alias); + if (KeyEntry == null) throw new Exception("Unable to retrieve private key"); + + var privateKey = KeyEntry.Key; + var keyPair = new AsymmetricCipherKeyPair(publicKey, privateKey); + + pemWriter.WriteObject(keyPair.Private); + streamWriter.Flush(); + privateKeyString = Encoding.ASCII.GetString(memoryStream.GetBuffer()).Trim() + .Replace("\r", "").Replace("\0", ""); + + logger.LogTrace($"Got Private Key String"); + memoryStream.Close(); + streamWriter.Close(); + logger.LogTrace("Finished Extracting Private Key..."); + } + } + + var pubCert = p.GetCertificate(alias).Certificate.GetEncoded(); + var pubCertPem = Pemify(Convert.ToBase64String(pubCert)); + + // add the certs in the chain + + var pemChain = new List(); + var chain = p.GetCertificateChain(alias).ToList(); + + chain.ForEach(c => + { + var cert = c.Certificate.GetEncoded(); + var encoded = Pemify(Convert.ToBase64String(cert)); + pemChain.Add(encoded); + }); + + try + { + certDict.Add("private_key", privateKeyString); + + // certDict.Add("revocation_time", 0); + + if (includeChain) + { + + certDict.Add("certificate", String.Join("\n", pemChain)); + } + else { + certDict.Add("certificate", pubCertPem); + } + } + catch (Exception ex) + { + logger.LogError("Error parsing certificate content", ex); + throw; + } + try + { + var fullPath = _storePath + certName; + + if (_mountPoint == null) + { + await VaultClient.V1.Secrets.KeyValue.V2.WriteSecretAsync(fullPath, certDict); + } + else + { + await VaultClient.V1.Secrets.KeyValue.V2.WriteSecretAsync(fullPath, certDict, mountPoint: _mountPoint); + } + } + catch (Exception ex) + { + logger.LogError("Error writing cert to Vault", ex); + throw; + } + } + + public async Task DeleteCertificate(string certName) + { + VaultClient.V1.Auth.ResetVaultToken(); + + try + { + var fullPath = _storePath + certName; + + if (_mountPoint == null) + { + await VaultClient.V1.Secrets.KeyValue.V2.DeleteSecretAsync(fullPath); + } + else + { + await VaultClient.V1.Secrets.KeyValue.V2.DeleteSecretAsync(fullPath, _mountPoint); + } + } + catch (Exception ex) + { + logger.LogError("Error removing cert from Vault", ex); + throw; + } + return true; + } + + public async Task> GetCertificates() + { + VaultClient.V1.Auth.ResetVaultToken(); + _storePath = _storePath.TrimStart('/'); + List subPaths = new List(); + //Grabs the list of subpaths to get certificates from, if SubFolder Inventory is turned on. + //Otherwise just define the single path _storePath + if (_subfolderInventory == true) + { + subPaths = (await ListComponentPathsAsync(_storePath)); + subPaths.Add(_storePath); + } + else + { + subPaths.Add(_storePath); + } + var certs = new List(); + var certNames = new List(); + logger.LogDebug($"SubInventoryEnabled: {_subfolderInventory}"); + foreach (var path in subPaths) + { + var relative_path = path.Substring(_storePath.Length); + try + { + + if (string.IsNullOrEmpty(_mountPoint)) + { + certNames = (await VaultClient.V1.Secrets.KeyValue.V2.ReadSecretPathsAsync(path)).Data.Keys.ToList(); + } + else + { + certNames = (await VaultClient.V1.Secrets.KeyValue.V2.ReadSecretPathsAsync(path, mountPoint: _mountPoint)).Data.Keys.ToList(); + } + + certNames.ForEach(k => + { + var cert = GetCertificate($"{relative_path}{k}").Result; + if (cert != null) certs.Add(cert); + }); + } + catch (Exception ex) + { + logger.LogError(ex.Message); + throw ex; + } + } + return certs; + } + private static Func Pemify = base64Cert => + { + string FormatBase64(string ss) => + ss.Length <= 64 ? ss : ss.Substring(0, 64) + "\n" + FormatBase64(ss.Substring(64)); + + string header = "-----BEGIN CERTIFICATE-----\n"; + string footer = "\n-----END CERTIFICATE-----"; + + return header + FormatBase64(base64Cert) + footer; + }; + } +} \ No newline at end of file diff --git a/hashicorp-vault-orchestrator/HcvKeyfactorClient.cs b/hashicorp-vault-orchestrator/HcvKeyfactorClient.cs new file mode 100644 index 0000000..33be1d8 --- /dev/null +++ b/hashicorp-vault-orchestrator/HcvKeyfactorClient.cs @@ -0,0 +1,170 @@ +// Copyright 2022 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. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Net; +using System.Threading.Tasks; +using Keyfactor.Logging; +using Keyfactor.Orchestrators.Common.Enums; +using Keyfactor.Orchestrators.Extensions; +using Microsoft.Extensions.Logging; +using Newtonsoft.Json; + +namespace Keyfactor.Extensions.Orchestrator.HashicorpVault +{ + public class HcvKeyfactorClient : IHashiClient + { + //private IVaultClient _vaultClient { get; set; } + + private ILogger logger = LogHandler.GetClassLogger(); + + private string _vaultUrl { get; set; } + + private string _vaultToken { get; set; } + + private string _mountPoint { get; set; } + + private string _storePath { get; set; } + + public HcvKeyfactorClient(string vaultToken, string serverUrl, string mountPoint, string storePath) + { + _vaultToken = vaultToken; + _mountPoint = mountPoint ?? "keyfactor"; + _storePath = !string.IsNullOrEmpty(storePath) ? "/" + storePath : storePath; + _vaultUrl = $"{ serverUrl }/v1/{ _mountPoint.Replace("/", string.Empty) }"; + } + + public async Task GetCertificate(string key) + { + var fullPath = $"{ _vaultUrl }/cert/{ key }"; + + try + { + try + { + var req = WebRequest.Create(fullPath); + req.Headers.Add("X-Vault-Request", "true"); + req.Headers.Add("X-Vault-Token", _vaultToken); + req.Method = WebRequestMethods.Http.Get; + var res = await req.GetResponseAsync(); + CertResponse content = JsonConvert.DeserializeObject(new StreamReader(res.GetResponseStream()).ReadToEnd()); + + content.data.TryGetValue("certificate", out object cert); + content.data.TryGetValue("ca_chain", out object caChain); + content.data.TryGetValue("private_key", out object privateKey); + content.data.TryGetValue("revocation_time", out object revokeTime); + + List certList = new List() { cert as string }; + + // if the chain is available, include all certs + + if (!string.IsNullOrEmpty(caChain as string)) + { + string fullChain = caChain.ToString(); + certList = fullChain.Split(new string[] { "\n\n" }, StringSplitOptions.RemoveEmptyEntries).ToList(); + } + + // don't include them in inventory unless they haven't been revoked + + if (revokeTime == null || Equals(revokeTime.ToString(), "0")) + { + var inventoryItem = new CurrentInventoryItem() + { + Alias = key, + Certificates = certList, + ItemStatus = OrchestratorInventoryItemStatus.Unknown, + PrivateKeyEntry = !string.IsNullOrEmpty(privateKey as string), + UseChainLevel = !string.IsNullOrEmpty(caChain as string), + }; + return inventoryItem; + } + return null; + } + catch (Exception ex) + { + logger.LogWarning($"Error getting certificate \"{fullPath}\" from Vault", ex); + + return null; + } + } + catch (Exception ex) + { + logger.LogError($"Error getting certificate \"{fullPath}\" from Vault", ex); + throw; + } + } + + public async Task> GetCertificates() + { + var getKeysPath = $"{ _vaultUrl }/certs?list=true"; + var certs = new List(); + var certNames = new List(); + + try + { + var req = WebRequest.Create(getKeysPath); + req.Headers.Add("X-Vault-Request", "true"); + req.Headers.Add("X-Vault-Token", _vaultToken); + req.Method = WebRequestMethods.Http.Get; + var res = await req.GetResponseAsync(); + var content = JsonConvert.DeserializeObject(new StreamReader(res.GetResponseStream()).ReadToEnd()); + string[] certKeys; + + content.data.TryGetValue("keys", out certKeys); + + certKeys.ToList().ForEach(k => + { + var cert = GetCertificate(k).Result; + if (cert != null) certs.Add(cert); + }); + } + catch (Exception ex) + { + logger.LogError(ex.Message); + } + return certs; + } + + public Task> GetVaults() + { + throw new NotSupportedException(); + } + + public Task PutCertificate(string certName, string contents, string pfxPassword, bool includeChain) + { + throw new NotSupportedException(); + } + + public Task DeleteCertificate(string certName) + { + throw new NotSupportedException(); + } + + public class HashiResponse + { + public string request_id { get; set; } + public bool renewable { get; set; } + public int lease_duration { get; set; } + public string wrap_info { get; set; } + public string warnings { get; set; } + public string auth { get; set; } + } + + public class CertResponse : HashiResponse + { + public Dictionary data { get; set; } + } + + public class ListResponse : HashiResponse + { + public Dictionary data { get; set; } + } + } +} \ No newline at end of file diff --git a/hashicorp-vault-orchestrator/IHashiClient.cs b/hashicorp-vault-orchestrator/IHashiClient.cs new file mode 100644 index 0000000..043dd63 --- /dev/null +++ b/hashicorp-vault-orchestrator/IHashiClient.cs @@ -0,0 +1,22 @@ +// Copyright 2023 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. + +using System.Collections.Generic; +using System.Threading.Tasks; +using Keyfactor.Orchestrators.Extensions; + +namespace Keyfactor.Extensions.Orchestrator.HashicorpVault +{ + public interface IHashiClient + { + Task> GetCertificates(); + Task GetCertificate(string key); + Task> GetVaults(); + Task PutCertificate(string certName, string contents, string pfxPassword, bool includeChain); + Task DeleteCertificate(string certName); + } +} diff --git a/hashicorp-vault-orchestrator/Jobs/Discovery.cs b/hashicorp-vault-orchestrator/Jobs/Discovery.cs index 3dee838..fb40c41 100644 --- a/hashicorp-vault-orchestrator/Jobs/Discovery.cs +++ b/hashicorp-vault-orchestrator/Jobs/Discovery.cs @@ -27,19 +27,27 @@ public JobResult ProcessJob(DiscoveryJobConfiguration config, SubmitDiscoveryUpd try { - vaults = VaultClient.GetVaults(StorePath, MountPoint).Result.ToList(); - + vaults = VaultClient.GetVaults().Result.ToList(); } catch (Exception ex) { - logger.LogError(ex.Message); - - return new JobResult + var result = new JobResult { Result = OrchestratorJobStatusJobResult.Failure, - JobHistoryId = config.JobHistoryId, - FailureMessage = ex.Message + JobHistoryId = config.JobHistoryId }; + + if (ex.GetType() == typeof(NotSupportedException)) + { + logger.LogError("Attempt to perform discovery on unsupported Secrets Engine backend."); + + result.FailureMessage = $"{SecretsEngine} does not support Discovery jobs."; + } + else + { + result.FailureMessage = ex.Message; + } + return result; } submitDiscoveryUpdate.DynamicInvoke(vaults); diff --git a/hashicorp-vault-orchestrator/Jobs/Inventory.cs b/hashicorp-vault-orchestrator/Jobs/Inventory.cs index a331bd2..6232be6 100644 --- a/hashicorp-vault-orchestrator/Jobs/Inventory.cs +++ b/hashicorp-vault-orchestrator/Jobs/Inventory.cs @@ -26,7 +26,7 @@ public JobResult ProcessJob(InventoryJobConfiguration config, SubmitInventoryUpd IEnumerable certs = null; try { - certs = VaultClient.GetCertificates(StorePath, MountPoint).Result; + certs = VaultClient.GetCertificates().Result; } catch (Exception ex) { diff --git a/hashicorp-vault-orchestrator/Jobs/JobBase.cs b/hashicorp-vault-orchestrator/Jobs/JobBase.cs index dc0cc0b..83e8eb7 100644 --- a/hashicorp-vault-orchestrator/Jobs/JobBase.cs +++ b/hashicorp-vault-orchestrator/Jobs/JobBase.cs @@ -18,44 +18,76 @@ public abstract class JobBase public string VaultToken { get; set; } + public string SecretsEngine { get; set; } // "PKI", "Keyfactor", "Key Value" + public string VaultServerUrl { get; set; } + + public bool SubfolderInventory { get; set; } + + public bool IncludeCertChain { get; set; } public string MountPoint { get; set; } // the mount point of the KV secrets engine. defaults to KV - internal protected HcvClient VaultClient { get; set; } + public string RoleName { get; set; } + internal protected IHashiClient VaultClient { get; set; } + + const string KEY_VALUE_ENGINE = "KV"; + const string KEYFACTOR_ENGINE = "Keyfactor"; + const string PKI_ENGINE = "Hashicorp PKI"; public void InitializeStore(InventoryJobConfiguration config) { var props = JsonConvert.DeserializeObject(config.CertificateStoreDetails.Properties); //var props = Jsonconfig.CertificateStoreDetails.Properties; - InitProps(props); StorePath = config.CertificateStoreDetails?.StorePath ?? null; + StorePath = StorePath.TrimStart('/'); + StorePath = StorePath.TrimEnd('/'); + StorePath = StorePath == null ? null : StorePath + "/"; //enforce single trailing slash for path + + InitProps(props, config.Capability); } public void InitializeStore(DiscoveryJobConfiguration config) { var props = config.JobProperties; - InitProps(props); + InitProps(props, config.Capability); } public void InitializeStore(ManagementJobConfiguration config) { var props = JsonConvert.DeserializeObject(config.CertificateStoreDetails.Properties); - InitProps(props); StorePath = config.CertificateStoreDetails?.StorePath ?? null; - StorePath = StorePath.Replace("/", string.Empty); + StorePath = StorePath.TrimStart('/'); + StorePath = StorePath.TrimEnd('/'); + StorePath = StorePath == null ? null : StorePath + "/"; //enforce single trailing slash for path + InitProps(props, config.Capability); } - private void InitProps(dynamic props) { + private void InitProps(dynamic props, string capability) + { if (props == null) throw new System.Exception("Properties is null", props); VaultToken = props["VaultToken"]; VaultServerUrl = props["VaultServerUrl"]; + SecretsEngine = props["SecretsEngine"]; MountPoint = props["MountPoint"] ?? null; - VaultClient = new HcvClient(VaultToken, VaultServerUrl); + SubfolderInventory = props["SubfolderInventory"] ?? false; + IncludeCertChain = props["IncludeCertChain"] ?? false; + + var isPki = capability.Contains("HCVPKI"); + + if (!isPki) + { + VaultClient = new HcvKeyValueClient(VaultToken, VaultServerUrl, MountPoint, StorePath, SubfolderInventory); + } + else + { + VaultClient = new HcvKeyfactorClient(VaultToken, VaultServerUrl, MountPoint, StorePath); + } + } } -} +} \ No newline at end of file diff --git a/hashicorp-vault-orchestrator/Jobs/Management.cs b/hashicorp-vault-orchestrator/Jobs/Management.cs index 5dd0c12..0670d32 100644 --- a/hashicorp-vault-orchestrator/Jobs/Management.cs +++ b/hashicorp-vault-orchestrator/Jobs/Management.cs @@ -29,10 +29,6 @@ public JobResult ProcessJob(ManagementJobConfiguration config) switch (config.OperationType) { - //case CertStoreOperationType.Create: - // logger.LogDebug($"Begin Management > Create..."); - // complete = PerformCreateVault(config.JobHistoryId).Result; - // break; case CertStoreOperationType.Add: logger.LogDebug($"Begin Management > Add..."); complete = PerformAddition(config.JobCertificate.Alias, config.JobCertificate.PrivateKeyPassword, config.JobCertificate.Contents, config.JobHistoryId); @@ -46,32 +42,6 @@ public JobResult ProcessJob(ManagementJobConfiguration config) return complete; } - //protected async Task PerformCreateVault(long jobHistoryId) - //{ - // var jobResult = new JobResult() { JobHistoryId = jobHistoryId, Result = OrchestratorJobStatusJobResult.Failure }; - // bool createVaultResult; - // try - // { - // createVaultResult = await VaultClient.CreateStore(StorePath, MountPoint); - // } - // catch (Exception ex) - // { - // jobResult.FailureMessage = ex.Message; - // return jobResult; - // } - - // if (createVaultResult) - // { - // jobResult.Result = OrchestratorJobStatusJobResult.Success; - // } - // else - // { - // jobResult.FailureMessage = "The creation of the Azure Key Vault failed for an unknown reason. Check your job parameters and ensure permissions are correct."; - // } - - // return jobResult; - //} - protected virtual JobResult PerformAddition(string alias, string pfxPassword, string entryContents, long jobHistoryId) { var complete = new JobResult() { Result = OrchestratorJobStatusJobResult.Failure, JobHistoryId = jobHistoryId }; @@ -87,15 +57,23 @@ protected virtual JobResult PerformAddition(string alias, string pfxPassword, st try { // uploadCollection is either not null or an exception was thrown. - var cert = VaultClient.PutCertificate(alias, entryContents, pfxPassword, StorePath, MountPoint); + var cert = VaultClient.PutCertificate(alias, entryContents, pfxPassword, IncludeCertChain); complete.Result = OrchestratorJobStatusJobResult.Success; } catch (Exception ex) { - complete.FailureMessage = $"An error occured while adding {alias} to {ExtensionName}: " + ex.Message; - - if (ex.InnerException != null) - complete.FailureMessage += " - " + ex.InnerException.Message; + if (ex.GetType() == typeof(NotSupportedException)) + { + logger.LogError("Attempt to Add Certificate on unsupported Secrets Engine backend."); + complete.FailureMessage = $"{SecretsEngine} does not support adding certificates via the Orchestrator."; + } + else + { + complete.FailureMessage = $"An error occured while adding {alias} to {ExtensionName}: " + ex.Message; + + if (ex.InnerException != null) + complete.FailureMessage += " - " + ex.InnerException.Message; + } } } @@ -119,7 +97,7 @@ protected virtual JobResult PerformRemoval(string alias, long jobHistoryId) try { - var success = VaultClient.DeleteCertificate(alias, StorePath, MountPoint).Result; + var success = VaultClient.DeleteCertificate(alias).Result; if (!success) { @@ -133,8 +111,16 @@ protected virtual JobResult PerformRemoval(string alias, long jobHistoryId) catch (Exception ex) { - logger.LogError("Error deleting cert from Vault", ex); - complete.FailureMessage = $"An error occured while removing {alias} from {ExtensionName}: " + ex.Message; + if (ex.GetType() == typeof(NotSupportedException)) + { + logger.LogError("Attempt to Delete Certificate on unsupported Secrets Engine backend."); + complete.FailureMessage = $"{SecretsEngine} does not support removing certificates via the Orchestrator."; + } + else + { + logger.LogError("Error deleting cert from Vault", ex); + complete.FailureMessage = $"An error occured while removing {alias} from {ExtensionName}: " + ex.Message; + } } return complete; } diff --git a/hashicorp-vault-orchestrator/manifest.json b/hashicorp-vault-orchestrator/manifest.json index 837162f..559c5a3 100644 --- a/hashicorp-vault-orchestrator/manifest.json +++ b/hashicorp-vault-orchestrator/manifest.json @@ -1,17 +1,21 @@ { "extensions": { "Keyfactor.Orchestrators.Extensions.IOrchestratorJobExtension": { - "CertStores.HCV.Inventory": { + "CertStores.HCVKV.Inventory": { "assemblypath": "Keyfactor.Extensions.Orchestrator.HCV.dll", "TypeFullName": "Keyfactor.Extensions.Orchestrator.HashicorpVault.Jobs.Inventory" }, - "CertStores.HCV.Discovery": { + "CertStores.HCVKV.Discovery": { "assemblypath": "Keyfactor.Extensions.Orchestrator.HCV.dll", "TypeFullName": "Keyfactor.Extensions.Orchestrator.HashicorpVault.Jobs.Discovery" }, - "CertStores.HCV.Management": { + "CertStores.HCVKV.Management": { "assemblypath": "Keyfactor.Extensions.Orchestrator.HCV.dll", "TypeFullName": "Keyfactor.Extensions.Orchestrator.HashicorpVault.Jobs.Management" + }, + "CertStores.HCVPKI.Inventory": { + "assemblypath": "Keyfactor.Extensions.Orchestrator.HCV.dll", + "TypeFullName": "Keyfactor.Extensions.Orchestrator.HashicorpVault.Jobs.Inventory" } } } diff --git a/images/cert-store-kv.PNG b/images/cert-store-kv.PNG new file mode 100644 index 0000000000000000000000000000000000000000..e88e2d9a43a5da5b0a543a8647f984485c10b83e GIT binary patch literal 29419 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

h_D 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 literal 0 HcmV?d00001 diff --git a/images/cert-store-pki.PNG b/images/cert-store-pki.PNG new file mode 100644 index 0000000000000000000000000000000000000000..c6f70758a891dca483f4d96e8b5e2a2bb6ae6a86 GIT binary patch literal 24062 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 RBFLYie)8~fFWDX#^EVcQx)%Td literal 20278 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

=+I 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℘tqF4M)#S(5UF=d-;m006*BNL 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 C!mJwr literal 13147 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 P#N1Jq*N}tBdwaUB&r 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 Ik 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�|`)dpF99s4kG7YjJ7 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
H77H#d5XXXW(Xs(Eh_F3VWtFaPAy$xdf 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 S3lwHz9FI&ajcW{DUjGkB#L3YB diff --git a/integration-manifest.json b/integration-manifest.json index b335284..1ac05aa 100644 --- a/integration-manifest.json +++ b/integration-manifest.json @@ -4,9 +4,13 @@ "name": "Orchestrator Extension for Hashicorp Vault", "status": "production", "link_github": true, - "description": "The Hashicorp Vault Orchestrator extension allows you store certificates in Hashicorp Vault KeyValue secrets engine. ", + "update_catalog": true, + "support_level": "kf-supported", + "description": "The Hashicorp Vault Orchestrator extension allows you to manage certificates in Hashicorp Vault KeyValue secrets engine and perform inventory on certificates stored in the PKI or Keyfactor secrets engines.", "about": { "orchestrator": { + "UOFramework": "10.1", + "pam_support": false, "win": { "supportsCreateStore": true, "supportsDiscovery": true, @@ -24,7 +28,146 @@ "supportsReenrollment": false, "supportsInventory": true, "platformSupport": "Unused" - } + }, + "store_types": [ + { + "Name": "Hashicorp Vault Key-Value", + "ShortName": "HCVKV", + "Capability": "HCVKV", + "StoreType": 110, + "ImportType": 110, + "LocalStore": false, + "SupportedOperations": { + "Add": true, + "Create": false, + "Discovery": true, + "Enrollment": false, + "Remove": true + }, + "Properties": [ + { + "StoreTypeId": 110, + "Name": "MountPoint", + "DisplayName": "Mount Point", + "Type": "String", + "DependsOn": null, + "DefaultValue": null, + "Required": false + }, + { + "StoreTypeId": 110, + "Name": "VaultServerUrl", + "DisplayName": "Vault Server URL", + "Type": "String", + "DependsOn": null, + "DefaultValue": null, + "Required": true + }, + { + "StoreTypeId": 110, + "Name": "VaultToken", + "DisplayName": "Vault Token", + "Type": "Secret", + "DependsOn": null, + "DefaultValue": null, + "Required": true + }, + { + "StoreTypeId": 110, + "Name": "SubfolderInventory", + "DisplayName": "Subfolder Inventory", + "Type": "Bool", + "DependsOn": null, + "DefaultValue": "true", + "Required": false + }, + { + "StoreTypeId": 110, + "Name": "IncludeCertChain", + "DisplayName": "Include CertChain", + "Type": "Bool", + "DependsOn": null, + "DefaultValue": "true", + "Required": false + } + ], + "EntryParameters": [], + "PasswordOptions": { + "EntrySupported": false, + "StoreRequired": false, + "Style": "Default" + }, + "PrivateKeyAllowed": "Optional", + "JobProperties": [], + "ServerRequired": false, + "PowerShell": false, + "BlueprintAllowed": false, + "CustomAliasAllowed": "Optional", + "InventoryEndpoint": "/AnyInventory/Update", + "InventoryJobType": "ea93bb61-6b57-4c09-848a-3afa0a36507c", + "ManagementJobType": "e14c92fc-64f5-4902-ab62-bfc54af2cb2b", + "DiscoveryJobType": "d35efd13-89e9-402f-b4bf-b8b92b2a4e00" + }, + { + "Name": "Hashicorp Vault PKI", + "ShortName": "HCVPKI", + "Capability": "HCVPKI", + "StoreType": 112, + "ImportType": 112, + "LocalStore": false, + "SupportedOperations": { + "Add": false, + "Create": false, + "Discovery": false, + "Enrollment": false, + "Remove": false + }, + "Properties": [ + { + "StoreTypeId": 112, + "Name": "MountPoint", + "DisplayName": "Mount Point", + "Type": "String", + "DependsOn": null, + "DefaultValue": null, + "Required": false + }, + { + "StoreTypeId": 112, + "Name": "VaultToken", + "DisplayName": "Vault Token", + "Type": "Secret", + "DependsOn": null, + "DefaultValue": null, + "Required": true + }, + { + "StoreTypeId": 112, + "Name": "VaultServerUrl2", + "DisplayName": "Vault Server URL", + "Type": "String", + "DependsOn": null, + "DefaultValue": null, + "Required": false + } + ], + "EntryParameters": [], + "PasswordOptions": { + "EntrySupported": false, + "StoreRequired": false, + "Style": "Default" + }, + "StorePathValue": "/", + "PrivateKeyAllowed": "Optional", + "JobProperties": [], + "ServerRequired": false, + "PowerShell": false, + "BlueprintAllowed": false, + "CustomAliasAllowed": "Optional", + "InventoryEndpoint": "/AnyInventory/Update", + "InventoryJobType": "9171e003-cc8d-4b41-b8d9-c02c4dadcb34" + } + ] } } } diff --git a/readme_source.md b/readme_source.md index 0087675..e69172b 100644 --- a/readme_source.md +++ b/readme_source.md @@ -1,52 +1,63 @@ -This integration for the Keyfactor Universal Orchestrator has been tested against Hashicorp Vault 1.10. It utilizes the *Key/Value* secrets engine to store certificates issues via Keyfactor Command. +This integration for the Keyfactor Universal Orchestrator has been tested against Hashicorp Vault 1.10. It utilizes the **Key/Value** secrets engine to store certificates issues via Keyfactor Command. ## Use Cases -The Hashicorp Vault Orchestrator Integration implements the following capabilities: +This integration supports 3 Hashicorp Secrets Engines; PKI, Key-Value store, and the Keyfactor Hashicorp Plugin (Keyfactor Secrets Engine). + +### The Key-Value secrets engine + +The Following operations are supported by this integration **only** for the Key-Value secrets engine. 1. Discovery - Discover all sub-paths containing certificate. 1. Inventory - Return all certificates stored in a path. 1. Management (Add) - Add a certificate to a defined certificate store. 1. Management (Remove) - Remove a certificate from a defined certificate store. +### The Hashicorp PKI and Keyfactor Plugin secrets engines + +Both the Hashicorp PKI and Keyfactor plugin are designed to allow managing certifications directly on the Hashicorp Vault instance. +This integration does support the following in order to view your certificates from the platform: + +1. Inventory - Return all certificates stored in a path. + +[View the repository on Github](https://github.com/Keyfactor/hashicorp-vault-secretsengine) for more information about the Hashicorp Vault Keyfactor Secrets Engine plugin. + ## Versioning The version number of a the Hashicorp Vault Orchestrator Extension can be verified by right clicking on the `Keyfactor.Extensions.Orchestrator.HCV.dll` file in the extensions installation folder, selecting Properties, and then clicking on the Details tab. ## Keyfactor Version Supported -This integration was built on the .NET Core 3.1 target framework and are compatible for use with the Keyfactor Universal Orchestrator. +This integration was built on the .NET Core 3.1 target framework and are compatible for use with the Keyfactor Universal Orchestrator and the latest version of the Keyfactor platform. ## Security Considerations 1. It is not necessary to use the Vault root token when creating a Certificate Store for HashicorpVault. We recommend creating a token with policies that reflect the minimum permissions necessary to perform the intended operations. -1. The certificates are stored in 3 fields in the Key Value store. -- `PUBLIC_KEY` - The certificate public key -- `PRIVATE_KEY` - The certificate private key -- `KEY_SECRET` - The certificate private key password - -## Extension Configuration - -### On the Orchestrator Agent Machine +1. For the Key-Value secrets engine, the certificates are stored as an entry with these fields. -1. Stop the Orchestrator service. +- `certificate` - The PEM formatted certificate and intermediate CA chain (if selected) +- `private_key` - The certificate private key -- The service will be called "KeyfactorOrchestrator-Default" by default. +**Note**: Key/Value secrets that do not include the keys `certificate` and `private_key` will be ignored during inventory scans. -1. Navigate to the "extensions" sub-folder of your Orchestrator installation directory +## Extension Configuration -- example: `C:\Program Files\Keyfactor\Keyfactor Orchestrator\extensions` +### On the Orchestrator Agent Machine -1. Create a new folder called "HCV" (the name of the folder is not important) -1. Extract the contents of the release zip file into this folder. -1. Re-start the Orchestrator service. +1. Stop the Orchestrator service. + - The service will be called "KeyfactorOrchestrator-Default" by default. +2. Navigate to the "extensions" sub-folder of your Orchestrator installation directory + - example: `C:\Program Files\Keyfactor\Keyfactor Orchestrator\extensions` +3. Create a new folder called "HCV" (the name of the folder is not important) +4. Extract the contents of the release zip file into this folder. +5. Re-start the Orchestrator service. ### In the Keyfactor Platform -1. Add a new Certificate Store Type +#### Add a new Certificate Store Type - **Key-Value Secrets Engine** - Log into Keyfactor as Administrator or a user with permissions to add certificate store types. - Click on the gear icon in the top right and then navigate to the "Certificate Store Types" @@ -55,33 +66,39 @@ This integration was built on the .NET Core 3.1 target framework and are compati ![](images/store_type_add.png) - Set the following values in the "Basic" tab: - - **Name** - "Hashicorp Vault" (or another preferred name) - - **Short Name** - "HCV" + - **Name:** "Hashicorp Vault Key-Value" (or another preferred name) + - **Short Name:** "HCVKV" - **Supported Job Types** - "Inventory", "Add", "Remove", "Discovery" + +![](images/store-type-kv.PNG) + +- Set the following values on the "Advanced" tab: - **Supports Custom Alias** - "Optional" - **Private Key Handling** - "Optional" -![](images/store_type_1.png) +![](images/cert-store-type-advanced.png) - Click the "Custom Fields" tab to add the following custom fields: - **MountPoint** - type: *string* - **VaultServerUrl** - type: *string*, *required* - - **VaultToken** - type: *string*, *required* + - **VaultToken** - type: *secret*, *required* + - **SubfolderInventory** - type: *bool* (By default, this is set to false. Not a required field) + - **IncludeCertChain** - type: *bool* (If true, the available intermediate certificates will also be written to Vault during enrollment) ![](images/store_type_fields.png) - Click **Save** to save the new Store Type. -1. Add the Hashicorp Vault Certificate Store +#### Add the Hashicorp Vault Certificate Store - **Key-Value Secrets Engine** - Navigate to **Locations** > **Certificate Stores** from the main menu - Click **ADD** to open the new Certificate Store Dialog -![](images/cert_store_add_dialog.png) +![](images/cert_store_add_dialog.png) -In Keyfactor Command create a new Certificate Store Type similar to the one below: +In Keyfactor Command create a new Certificate Store that resembles the one below: -![](images/cert_store_fields.png) +![](images/cert_store_fields.png) - **Client Machine** - Enter the URL for the Vault host machine - **Store Path** - This is the path after mount point where the certs will be stored. @@ -90,11 +107,65 @@ In Keyfactor Command create a new Certificate Store Type similar to the one belo - If left blank, will default to "kv-v2". - **Vault Token** - This is the access token that will be used by the orchestrator for requests to Vault. - **Vault Server Url** - the full url and port of the Vault server instance +- **Subfolder Inventory** - Set to 'True' if it is a requirement to inventory secrets at the subfolder/component level. The default, 'False' will inventory secrets stored at the root of the "Store Path", but will not look at secrets in subfolders. **Note** that there is a limit on the number of certificates that can be in a certificate store. In certain environments enabling Subfolder Inventory may exceed this limit and cause inventory job failure. Inventory job results are currently submitted to the Command platform as a single HTTP POST. There is not a specific limit on the number of certificates in a store, rather the limit is based on the size of the actual certificates and the HTTP POST size limit configured on the Command web server. + +### For the Keyfactor and PKI plugins + +- Add a new Certificate Store Type + - Log into Keyfactor as Administrator or a user with permissions to add certificate store types. + - Click on the gear icon in the top right and then navigate to the "Certificate Store Types" + - Click "Add" and enter the following information on the first tab: -## Testing +![](images/store_type_add.png) + +- **Name:** "Hashicorp Vault PKI" (or another preferred name) +- **Short Name:** "HCVPKI" +- **Supported Job Types:** "Inventory" + +![](images/store_type_pki.PNG) + +- Set the following values on the "Advanced" tab: + - **Supports Custom Alias** - "Optional" + - **Private Key Handling** - "Optional" + +![](images/cert-store-type-advanced.png) + +- Click the "Custom Fields" tab to add the following custom fields: + - **MountPoint** - type: *string* + - **VaultServerUrl** - type: *string*, *required* + - **VaultToken** - type: *secret*, *required* + +![](images/store_type_fields.png) + +- Click **Save** to save the new Store Type. + +1. Add the Hashicorp Vault Certificate Store + +- Navigate to **Locations** > **Certificate Stores** from the main menu +- Click **ADD** to open the new Certificate Store Dialog + +In Keyfactor Command create a new Certificate Store similar to the one below: + +![](images/store_type_pki.png) + +- **Client Machine** - Enter the URL for the Vault host machine +- **Store Path** - "/" +- **Mount Point** - This is the mount point name for the instance of the PKI or Keyfactor secrets engine plugin. + - If using the PKI plugin, the default in Hashicorp is pki. If using the Keyfactor plugin, it should correspond to the mount point given when the plugin was enabled. + - It is possible to have multiple instances of the Keyfactor plugin running simultaneously, so be sure this corresponds to the one you would like to manage. + +- **Vault Token** - This is the access token that will be used by the orchestrator for requests to Vault. +- **Vault Server Url** - the full url and port of the Vault server instance + +At this point, the certificate store should be created and ready to peform inventory on your certificates stored via the Keyfactor or PKI secrets engine plugin for Hashicorp Vault. + +## Testing the Key-Value store ### PFX Enrollment into Vault +**Note** +Enrollment via the platform is only supported by the Key-Value store type + At this point you should be able to enroll a certificate and store it in Vault using the plugin. 1. Navigate to `Enrollment > PFX Enrollment` from the main menu. @@ -115,7 +186,7 @@ At this point you should be able to enroll a certificate and store it in Vault u - Make sure the vault is unsealed first -1. Type `vault kv list kv/cert-store` (where "kv/cert-store" is /) +1. Type `vault kv list kv/cert-store` (where "kv/cert-store" is `/`) - You should see the alias of the newly enrolled certificate @@ -130,5 +201,4 @@ At this point you should be able to enroll a certificate and store it in Vault u ## Notes / Future Enhancements -- Currently we only operate on a single version of the Key Value secret (no versioning capabilities through the Orchesterator Extension / Keyfactor). -- Creating a new certificate store is done implicitly by adding a **store path** value that doesn't currently exist. +- For the Key-Value stores we operate on a single version of the Key Value secret (no versioning capabilities through the Orchesterator Extension / Keyfactor).