Vault as Intermediate CA
Here are instructions for setting up a vault instance as an Intermediate CA.
NOTE: This page assumes that you have created a single-node vault instance to serve as your Root CA.
See this page for how to do that: Hashicorp Vault Setup
NOTE: Always create the Intermediate CA as a separate instance from your Root CA.
This allows you to offline the Root CA, to uphold the integrity of your root CA certificate.
To properly sign certificates, you will want to generate an Intermediate CA that will do all the actual issuing.
And, you will offline the root CA, after the Intermediate CA is usable.
See this page if you need to setup a vault instance as a Root CA: Vault as Root CA
Configure Intermediate CA
For Vault to serve as an Intermediate CA, you have to add the PKI secrets engine.
To do this, enable the pki secrets engine:
For an Intermediate CA, set the Max lease time to 43800 hours, and enable the engine.
Once initialized, it will look like this:
For an Intermediate CA, click Configure PKI to begin setup.
Choose the Generate intermediate CSR option, and fill in the blanks.
Set Type to Internal.
Set your Common name to your domain with a suffix that it’s an Intermediate CA, like this:
ogsofttech.lan Int CA 01
Click Generate, to make the CSR.
Paste the CSR onto the clipboard, and save it as a file: pki_intermediate.csr.
Open the web UI for your root CA, and navigate to Secrets/PKI/Issuers, and click Sign Intermediate.
Paste the CSR content into the CSR field.
Set the domain name as the common name: ogsofttech.lan
Select pem_bundle from the Format dropdown:
Click Sign, to sign the CSR from the Intermediate CA.
Once signed, you’ll see this:
It contains the signed certificate for the Intermediate CA, the cert of the issuing CA, and the CA chain cert.
NOTE: Save all three in a known place, as this is the only time these will be available.
Download the certificate as: ogsofttech.lan-intca01.cert.pem
Open the UI for the Intermediate CA, and navigate to the Import a CA:
NOTE: You get to this, by clicking on the Issuers tab, and clicking Import.
Upload the certificate that you saved to: ogsofttech.lan-intca01.cert.pem
Click Import Issuer.
The Issuers tab will show two entries, one for the root, and one for the Int CA:
Issuing Role
Before you can issue certificates to hosts and such, you need to create an issuer role.
To do this, we need to identify the issuer’s Guid.
We can get this by clicking the terminal button, and running this:
read -field=default pki/config/issuers
Note the Guid that was returned.
Now, go to Secrets/PKI/Roles, and create a new role.
Give the role a name in this format: ogsofttech-dot-lan
Unclick the Use Default Issuer, and select the Guid that matches what we found above.
Set the TTL to 43800 hours.
At the bottom of the form…
In the Allowed Domains field, add our domain: ogsofttech.lan.
Check the “Allow Subdomains” checkbox.
And, click Create, to make our issuing role.
Now, you have a role that can create and sign certificates.
If not already done, you can offline your root CA, as it needs to be kept safe, and only needed to create a new Intermediate CA.
See this page for how to generate certificates: Generate Certificates with Hashicorp Vault













No Comments