You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reconcile 3.0.0 to main
* Added additional store types, pfx discovery and inventory complete.
* jks stores discovery and inventory complete
* PKCS12 store discovery and inventory completed.
* added add, remove, and create functionality to JKS store. Added store type classes.
* Completed add/remove/create for PFX and PKCS12
* Added capability to PEM cert stores for creating an empty store location.
* Update integration-manifest.json removing storepathtype and storepathvalue to prevent errors in KFUtil when creating store types.
Copy file name to clipboardExpand all lines: README.md
+41-23Lines changed: 41 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,16 +14,13 @@ The Universal Orchestrator is part of the Keyfactor software distribution and is
14
14
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.
15
15
16
16
17
-
18
-
19
17
## Support for Orchestrator Extension for Hashicorp Vault
20
18
21
19
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.
22
20
23
21
###### 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.
24
22
25
23
26
-
27
24
---
28
25
29
26
@@ -62,17 +59,39 @@ This integration supports 3 Hashicorp Secrets Engines; PKI, Key-Value store, and
62
59
63
60
### The Key-Value secrets engine
64
61
65
-
The Following operations are supported by this integration **only** for the Key-Value secrets engine.
62
+
For the Key-Value secrets engine, we have 4 store types that can be used.
66
63
67
-
1. Discovery - Discover all sub-paths containing certificate.
68
-
1. Inventory - Return all certificates stored in a path.
64
+
-*HCVKVJKS* - For JKS certificate files, treats each file as it's own store.
65
+
-*HCVKVPFX* - For PFX certificate files, treats each file as it's own store.
66
+
-*HCVKVP12* - For PKCS12 certificate files, treats each file as it's own store.
67
+
-*HCVKVPEM* - For PEM encoded certificates, treats each _path_ as it's own store. Each certificate exists in a sub-path from the store path.
68
+
69
+
The following operations are supported by this integration for all of the Key-Value secrets engine types:
70
+
71
+
1. Discovery - Discovery all file repositories for the type
72
+
1. Inventory - Inventory all certificates in the path
69
73
1. Management (Add) - Add a certificate to a defined certificate store.
70
74
1. Management (Remove) - Remove a certificate from a defined certificate store.
75
+
1. Create - Create a new, empty certificate store at the path defined in Store Path.
76
+
77
+
78
+
Excluding *HCVKVPEM*, the discovery process requires that:
79
+
1. The entry for the certificate contain the base64 encoded certificate file.
80
+
1. The name (key) for the entry ends with the suffix corresponding to the certificate store type:
81
+
1.*HCVKVJKS* - `*_jks`
82
+
1.*HCVKVPFX* - `*_pfx`
83
+
1.*HCVKVP12* - `*_p12`
84
+
1.*HCVKVPEM* - `certificate`
85
+
1. For all except *HCVKVPEM*, there be an entry named `passphrase` that contains the password for the store.
86
+
1. For *HCVKVPEM*, there be an entry named `private_key` containing the private key portion of the key-pair.
87
+
88
+
**Note**: Key/Value secrets that do not include the expected keys will be ignored during inventory scans.
71
89
72
90
### The Hashicorp PKI and Keyfactor Plugin secrets engines
73
91
74
-
Both the Hashicorp PKI and Keyfactor plugin are designed to allow managing certifications directly on the Hashicorp Vault instance.
75
-
This integration does support the following in order to view your certificates from the platform:
92
+
Both the Hashicorp PKI and Keyfactor Secrets Engine plugins are designed to allow managing certifications directly on the Hashicorp Vault instance.
93
+
The store type for the PKI and/or the Keyfactor secrets engine is the same; `HCVPKI`.
94
+
This integration supports the following in order to view your certificates from the platform:
76
95
77
96
1. Inventory - Return all certificates stored in a path.
78
97
@@ -90,13 +109,6 @@ This integration was built on the .NET Core 3.1 target framework and are compati
90
109
91
110
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.
92
111
93
-
1. For the Key-Value secrets engine, the certificates are stored as an entry with these fields.
94
-
95
-
-`certificate` - The PEM formatted certificate and intermediate CA chain (if selected)
96
-
-`private_key` - The certificate private key
97
-
98
-
**Note**: Key/Value secrets that do not include the keys `certificate` and `private_key` will be ignored during inventory scans.
99
-
100
112
## Extension Configuration
101
113
102
114
### On the Orchestrator Agent Machine
@@ -111,7 +123,7 @@ This integration was built on the .NET Core 3.1 target framework and are compati
111
123
112
124
### In the Keyfactor Platform
113
125
114
-
#### Add a new Certificate Store Type - **Key-Value Secrets Engine**
126
+
#### Add a new Certificate Store Type - **Hashicorp Vault Key-Value PEM**
115
127
116
128
- Log into Keyfactor as Administrator or a user with permissions to add certificate store types.
117
129
- Click on the gear icon in the top right and then navigate to the "Certificate Store Types"
@@ -120,9 +132,11 @@ This integration was built on the .NET Core 3.1 target framework and are compati
120
132

121
133
122
134
- Set the following values in the "Basic" tab:
123
-
-**Name:** "Hashicorp Vault Key-Value" (or another preferred name)
124
-
-**Short Name:** "HCVKV"
135
+
-**Name:** "Hashicorp Vault Key-Value PEM" (or another preferred name)
-**NOTE** If you are setting up "`HCVKVJKS`, `HCVKVPFX`, or `HCVKVP12` the supported job types will be "Inventory, Discovery".
139
+
-**Needs Server** - should be checked (true).
126
140
127
141

128
142
@@ -134,13 +148,14 @@ This integration was built on the .NET Core 3.1 target framework and are compati
134
148
135
149
- Click the "Custom Fields" tab to add the following custom fields:
136
150
-**MountPoint** - type: *string*
137
-
-**VaultServerUrl** - type: *string*, *required*
138
-
-**VaultToken** - type: *secret*, *required*
139
151
-**SubfolderInventory** - type: *bool* (By default, this is set to false. Not a required field)
140
152
-**IncludeCertChain** - type: *bool* (If true, the available intermediate certificates will also be written to Vault during enrollment)
141
153
142
154

143
155
156
+
**Note**
157
+
The 3 highlighted fields above will be added automatically by the platform, you will not need to include them when creating the certificate store type.
158
+
144
159
- Click **Save** to save the new Store Type.
145
160
146
161
#### Add the Hashicorp Vault Certificate Store - **Key-Value Secrets Engine**
@@ -154,16 +169,19 @@ In Keyfactor Command create a new Certificate Store that resembles the one below
154
169
155
170

156
171
157
-
-**Client Machine** - Enter the URL for the Vault host machine
172
+
-**Client Machine** - Enter an identifier for the client machine. This could be the Orchestrator host name, or anything else useful. This value is not used by the extension.
158
173
-**Store Path** - This is the path after mount point where the certs will be stored.
159
174
- example: `kv-v2\kf-secrets\certname` would use the path "\kf-secrets"
160
175
-**Mount Point** - This is the mount point name for the instance of the Key Value secrets engine.
161
176
- If left blank, will default to "kv-v2".
162
177
- If your organization utilizes Vault enterprise namespaces, you should include the namespace here.
163
-
-**Vault Token** - This is the access token that will be used by the orchestrator for requests to Vault.
164
-
-**Vault Server Url** - the full url and port of the Vault server instance
165
178
-**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.
166
179
180
+
#### Set the server name and password
181
+
182
+
- The server name should be the full URL to the instance of Vault that will be accessible by the orchestrator. (example: `http://127.0.0.1:8200`)
183
+
- The server password should be the Vault token that will be used for authenticating.
0 commit comments