mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
Add docs for certificate revocation
This commit is contained in:
@@ -6,7 +6,7 @@ description: "Learn how to issue X.509 certificates with Infisical."
|
|||||||
|
|
||||||
## Concept
|
## Concept
|
||||||
|
|
||||||
Assuming that you've created a Private CA hierarchy with a root CA and an intermediate CA, you can now issue X.509 certificates using the intermediate CA.
|
Assuming that you've created a Private CA hierarchy with a root CA and an intermediate CA, you can now issue/revoke X.509 certificates using the intermediate CA.
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
@@ -23,17 +23,19 @@ graph TD
|
|||||||
|
|
||||||
## Workflow
|
## Workflow
|
||||||
|
|
||||||
The typical workflow for issuing certificates consists of the following steps:
|
The typical workflow for managing certificates consists of the following steps:
|
||||||
|
|
||||||
1. Issuing a certificate under an intermediate CA with details like name and validity period.
|
1. Issuing a certificate under an intermediate CA with details like name and validity period.
|
||||||
2. Managing certificate lifecycle events such as certificate renewal, revocation, and reissuance.
|
2. Managing certificate lifecycle events such as certificate renewal and revocation. As part of the certificate revocation flow,
|
||||||
|
you can also query for a Certificate Revocation List [CRL](https://en.wikipedia.org/wiki/Certificate_revocation_list), a time-stamped, signed
|
||||||
|
data structure issued by a CA containing a list of revoked certificates to check if a certificate has been revoked.
|
||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
Note that this workflow can be executed via the Infisical UI or manually such
|
Note that this workflow can be executed via the Infisical UI or manually such
|
||||||
as via API.
|
as via API.
|
||||||
</Note>
|
</Note>
|
||||||
|
|
||||||
## Guide
|
## Guide to Issuing Certificates
|
||||||
|
|
||||||
In the following steps, we explore how to issue a X.509 certificate under a CA using the Infisical UI.
|
In the following steps, we explore how to issue a X.509 certificate under a CA using the Infisical UI.
|
||||||
|
|
||||||
@@ -67,6 +69,40 @@ In the following steps, we explore how to issue a X.509 certificate under a CA u
|
|||||||
</Step>
|
</Step>
|
||||||
</Steps>
|
</Steps>
|
||||||
|
|
||||||
|
## Guide to Revoking Certificates
|
||||||
|
|
||||||
|
In the following steps, we explore how to revoke a X.509 certificate under a CA and obtain a Certificate Revocation List (CRL) for a CA using the Infisical UI.
|
||||||
|
|
||||||
|
<Steps>
|
||||||
|
<Step title="Revoking a Certificate">
|
||||||
|
Assuming that you've issued a certificate under a CA, you can revoke it by
|
||||||
|
selecting the **Revoke Certificate** option for it and specifying the reason
|
||||||
|
for revocation. Image 1 Image 2
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
</Step>
|
||||||
|
<Step title="Obtaining a CRL">
|
||||||
|
In order to check the revocation status of a certificate, you can check it
|
||||||
|
against the CRL of a CA by selecting the **View CRL** option under the
|
||||||
|
issuing CA and downloading the CRL file.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
To verify a certificate against the
|
||||||
|
downloaded CRL with OpenSSL, you can use the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
openssl verify -crl_check -CAfile chain.pem -CRLfile crl.pem certificate.pem
|
||||||
|
```
|
||||||
|
|
||||||
|
</Step>
|
||||||
|
</Steps>
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
<AccordionGroup>
|
<AccordionGroup>
|
||||||
|
|||||||
BIN
docs/images/platform/pki/ca-crl-modal.png
Normal file
BIN
docs/images/platform/pki/ca-crl-modal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 638 KiB |
BIN
docs/images/platform/pki/ca-crl.png
Normal file
BIN
docs/images/platform/pki/ca-crl.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 649 KiB |
BIN
docs/images/platform/pki/cert-revoke-modal.png
Normal file
BIN
docs/images/platform/pki/cert-revoke-modal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 365 KiB |
BIN
docs/images/platform/pki/cert-revoke.png
Normal file
BIN
docs/images/platform/pki/cert-revoke.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 617 KiB |
@@ -133,27 +133,30 @@ export const CaTable = ({ handlePopUpOpen }: Props) => {
|
|||||||
)}
|
)}
|
||||||
</ProjectPermissionCan>
|
</ProjectPermissionCan>
|
||||||
)}
|
)}
|
||||||
<ProjectPermissionCan
|
{ca.status !== CaStatus.PENDING_CERTIFICATE && (
|
||||||
I={ProjectPermissionActions.Read}
|
<ProjectPermissionCan
|
||||||
a={ProjectPermissionSub.CertificateAuthorities}
|
I={ProjectPermissionActions.Read}
|
||||||
>
|
a={ProjectPermissionSub.CertificateAuthorities}
|
||||||
{(isAllowed) => (
|
>
|
||||||
<DropdownMenuItem
|
{(isAllowed) => (
|
||||||
className={twMerge(
|
<DropdownMenuItem
|
||||||
!isAllowed && "pointer-events-none cursor-not-allowed opacity-50"
|
className={twMerge(
|
||||||
)}
|
!isAllowed &&
|
||||||
onClick={async () =>
|
"pointer-events-none cursor-not-allowed opacity-50"
|
||||||
handlePopUpOpen("caCrl", {
|
)}
|
||||||
caId: ca.id
|
onClick={async () =>
|
||||||
})
|
handlePopUpOpen("caCrl", {
|
||||||
}
|
caId: ca.id
|
||||||
disabled={!isAllowed}
|
})
|
||||||
icon={<FontAwesomeIcon icon={faFile} />}
|
}
|
||||||
>
|
disabled={!isAllowed}
|
||||||
View CRL
|
icon={<FontAwesomeIcon icon={faFile} />}
|
||||||
</DropdownMenuItem>
|
>
|
||||||
)}
|
View CRL
|
||||||
</ProjectPermissionCan>
|
</DropdownMenuItem>
|
||||||
|
)}
|
||||||
|
</ProjectPermissionCan>
|
||||||
|
)}
|
||||||
<ProjectPermissionCan
|
<ProjectPermissionCan
|
||||||
I={ProjectPermissionActions.Read}
|
I={ProjectPermissionActions.Read}
|
||||||
a={ProjectPermissionSub.CertificateAuthorities}
|
a={ProjectPermissionSub.CertificateAuthorities}
|
||||||
|
|||||||
Reference in New Issue
Block a user