Zwischenzertifizierungsstellen erstellen
Eine Zwischenzertifizierungsstelle (CA) ist eine untergeordnete Zertifizierungsstelle, die Zertifikate für eine Endentität wie eine App oder eine Website signieren und ausstellen kann. In IBM Cloud® Secrets Managerkönnen Sie eine temporäre Zertifizierungsstelle verwenden, um Private Zertifikate zu erstellen.
Wenn Sie bereits eine übergeordnete Zertifizierungsstelle in Ihrer Secrets Manager -Instanz erstellt haben, z. B. eine Stammzertifizierungsstelle oder eine temporäre Zertifizierungsstelle, können Sie sie verwenden, um eine temporäre Zertifizierungsstelle zu signieren und auszugeben. Wenn Sie die übergeordnete Zertifizierungsstelle an einer anderen Stelle außerhalb von Secrets Managererstellt haben, können Sie diese Zertifizierungsstelle auch zum Signieren einer temporären Zertifizierungsstelle verwenden.
Sie können bis zu 10 temporäre Zertifizierungsstellen pro Instanz erstellen. Um eine Liste der Konfigurationen anzuzeigen, die für Ihre Instanz verfügbar sind, rufen Sie die Seite Engines für geheime Schlüssel > Private Zertifikate in der Secrets Manager -Benutzerschnittstelle auf.
Vorbereitende Schritte
Bevor Sie beginnen, müssen Sie prüfen, ob Sie über die erforderliche Zugriffsebene verfügen. Für die Verwaltung von Engine-Konfigurationen für Ihre Instanz benötigen Sie die Servicerolle Manager oder höher.
Unterstützte Signaturmethoden
Der Service bietet zwei Optionen:
Signieroptionen | Verwendung von |
---|---|
Intern signiert | Sie erstellen eine Zertifikatskette, die eine vorhandene übergeordnete Zertifizierungsstelle (z. B. eine Stammzertifizierungsstelle oder eine andere temporäre Zertifizierungsstelle) als Trust Anchor verwendet. Die übergeordnete Zertifizierungsstelle wurde zuvor in derselben Secrets Manager -Instanz erstellt. |
Extern signiert | Wenn Sie eine übergeordnete Zertifizierungsstelle offline oder in einer anderen Secrets Manager -Serviceinstanz erstellt haben, können Sie die externe Zertifizierungsstelle verwenden, um eine temporäre Zertifizierungsstelle zu signieren und auszustellen. |
Nicht unterstützte Konfigurationsaktionen in Terraform
Die folgenden Aktionen werden nicht unterstützt.
- CRL rotieren
- Zertifizierungsstelle widerrufen
Temporäre Zertifizierungsstelle mit interner Signatur in der Benutzerschnittstelle erstellen
Eine temporäre Zertifizierungsstelle mit interner Signatur verwendet eine übergeordnete Zertifizierungsstelle, die zuvor in Ihrer Secrets Manager -Instanz als Trust-Anchor erstellt wurde. Sie können eine temporäre Zertifizierungsstelle mit interner Signatur über die Secrets Manager -Benutzerschnittstelle erstellen.
-
Klicken Sie in der Konsole auf das Symbol Menü
> Ressourcenliste.
-
Wählen Sie in der Liste der Services Ihre Secrets Manager -Instanz aus.
-
Klicken Sie auf der Seite Engines für geheime Schlüssel auf die Registerkarte Private Zertifikate.
-
Klicken Sie in der Tabelle "Zertifizierungsstellen" auf Zertifizierungsstelle erstellen , um den Erstellungsassistenten zu starten.
-
Geben Sie den Typ und die Optionen der Zertifizierungsstelle an.
- Wählen Sie Zwischenzertifizierungsstelle als Berechtigungstyp aus.
- Wählen Sie Interne Signaturaus. Wählen Sie aus der Liste der konfigurierten Zertifizierungsstellen die Zertifizierungsstelle aus, die Sie als Aussteller des Zertifikats der Zwischenzertifizierungsstelle verwenden möchten.
- Geben Sie einen Namen ein, um Ihre Zertifizierungsstelle leicht zu identifizieren.
- Wählen Sie eine maximale Lebensdauer (TTL, Time-to-Live) für das Zertifikat aus, das für diese Zertifizierungsstelle generiert wird. Die Lebensdauer bestimmt, wie lange das CA-Zertifikat gültig bleibt.
- Wählen Sie die maximale Anzahl der Endentitätszertifikate aus, die in der Kette vorhanden sein können.
- Um die URL des ausstellenden CA-Zertifikats in Endentitätszertifikate zu codieren, setzen Sie die Option URL codieren auf Aktiviert.
-
Geben Sie die Betreffnamensfelder für Ihr Zertifikat der Stammzertifizierungsstelle ein.
-
Wählen Sie den Schlüsselverwaltungsdienst aus. Wählen Sie den Dienst Secrets Manager, um die Schlüssel der Stammzertifizierungsstelle dienstintern zu erstellen, oder wählen Sie Hyper Protect Crypto Services (HPCS). Wenn HPCS ausgewählt ist, führen Sie die folgenden Aufgaben aus:
-
Wählen Sie Ihre HPCS-Instanz aus der Dropdown-Liste der Instanzen oder geben Sie Ihre HPCS-Instanz-CRN manuell ein
-
Wählen Sie das IAM Credentials-Geheimnis, das zuvor für die Authentifizierung mit HPCS erstellt wurde.
Sobald der IAM-Berechtigungsnachweis in der CA-Konfiguration festgelegt wurde, kann er später nicht mehr ersetzt werden.
-
Wählen Sie den privaten HPCS-Schlüsselspeicher aus der Dropdown-Liste der Schlüsselspeicher aus, oder geben Sie die Schlüsselspeicher-ID manuell ein.
-
Wählen Sie, ob Sie vorhandene Schlüssel verwenden oder neue Schlüssel erzeugen möchten. Wenn Sie einen vorhandenen privaten HPCS-Schlüssel auswählen oder die ID eines privaten Schlüssels manuell eingeben, stellen Sie sicher, dass ein öffentlicher Schlüssel vorhanden ist und die gleiche ID wie der private Schlüssel im privaten Schlüsselspeicher hat.
Wenn Sie sich für die Erzeugung neuer Schlüssel entscheiden, werden diese Schlüssel nicht von Secrets Manager gelöscht, wenn die Konfiguration gelöscht wird.
-
-
Schlüsselalgorithmus auswählen , den Sie zum Generieren des öffentlichen und des privaten Schlüssels für Ihr CA-Zertifikat verwenden möchten.
-
Legen Sie fest, ob die Erstellung der Zertifikatswiderrufsliste (CRL) und die Verteilungspunkte für Ihr CA-Zertifikat aktiviert werden sollen.
Ein CRL ist eine Liste von Zertifikaten, die von der ausstellenden Zertifizierungsstelle vor ihrem geplanten Ablaufdatum widerrufen werden. Ein Zertifikat, das als Teil einer CRL aufgeführt ist, kann von Anwendungen nicht mehr anerkannt werden.
- Um bei jeder Zertifikatsanforderung eine CRL für Ihre Zwischenzertifizierungsstelle zu erstellen, setzen Sie die Option "CRL-Erstellung" auf "Aktiviert ".
- Um die URL der Widerrufsliste im CA-Zwischenzertifikat zu codieren, setzen Sie die Option CRL-Verteilungspunkte auf Aktiviert.
- Wählen Sie eine Lebensdauer (Time-to-Live, TTL) der generierten CRL aus. Die Lebensdauer bestimmt, wie lange die CRL gültig bleibt.
-
Prüfen Sie Ihre Auswahl. Klicken Sie zum Erstellen der temporären Zertifizierungsstelle auf Erstellen.
Sie können diese temporäre Zertifizierungsstelle jetzt für Generieren eines privaten Zertifikats auswählen. Klicken Sie zum Ändern oder
Entfernen einer vorhandenen Konfiguration in der Zeile der Zertifizierungsstelle, die Sie aktualisieren möchten, auf Aktionen Menü .
Erstellen einer Zwischenzertifizierungsstelle mit interner Signatur mit der API
Eine temporäre Zertifizierungsstelle mit interner Signatur verwendet eine übergeordnete Zertifizierungsstelle, die zuvor in Ihrer Secrets Manager -Instanz als Trust-Anchor erstellt wurde. Sie können eine Zwischenzertifizierungsstelle mit interner Signatur erstellen, indem Sie die API Secrets Manager verwenden.
Schritt 1: Temporäre Zertifizierungsstelle mit interner Signatur erstellen
Das folgende Beispiel zeigt eine Abfrage, mit der Sie eine temporäre Zertifizierungsstelle mit interner Signatur erstellen können. Setzen Sie im Anforderungshauptteil den Wert des Attributs signing_method
auf internal
.
Verwenden Sie das Attribut issuer
, um die übergeordnete Zertifizierungsstelle anzugeben.
curl -X POST
--H "Authorization: Bearer {iam_token}" \
--H "Accept: application/json" \
--H "Content-Type: application/json" \
--d '{
"config_type": "private_cert_configuration_intermediate_ca",
"name": "example-intermediate-CA",
"common_name": "example.com",
"crl_disable": false,
"crl_distribution_points_encoded": true,
"crl_expiry": "72h",
"issuer": "example-root-CA",
"issuing_certificates_urls_encoded": true,
"max_ttl": "26300h",
"signing_method": "internal"
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations"
Wenn Sie Ihr eigenes HSM mitbringen, fügen Sie dem Antrag folgende Angaben bei:
"crypto_key": {
"label": "my_key",
"allow_generate_key": true,
"provider": {
"type": "hyper_protect_crypto_services",
"instance_crn": "replace_with_hpcs_crn::",
"pin_iam_credentials_secret_id": "replace_with_iam_credentials_secret_guid",
"private_keystore_id": "replace_with_keystore_id"
}
}
Schritt 2: Zwischenzertifizierungsstelle signieren
Das folgende Beispiel zeigt eine Abfrage, mit der Sie die in Schritt 1 erstellte temporäre Zertifizierungsstelle signieren können.
curl -X POST
--H "Authorization: Bearer {iam_token}" \
--H "Accept: application/json" \
--H "Content-Type: application/json" \
--d -d '{
"action_type": "private_cert_configuration_action_sign_intermediate",
"intermediate_certificate_authority": "example-intermediate-CA"
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations/example-root-CA/actions"
Temporäre Zertifizierungsstelle mit externer Signatur in der Benutzerschnittstelle erstellen
Eine temporäre Zertifizierungsstelle mit externer Signatur verwendet eine übergeordnete Zertifizierungsstelle aus einem externen PKI-System oder sogar einer anderen Secrets Manager -Instanz als Trust-Anchor. Die übergeordnete Zertifizierungsstelle kann eine Stammzertifizierungsstelle oder eine temporäre Zertifizierungsstelle sein.
Schritt 1: Zwischenzertifizierungsstelle erstellen und Anforderung signieren
Sie können ein CA-Zwischenzertifikat erstellen, das externe Signatur in der Secrets Manager -Benutzerschnittstelle verwendet.
-
Klicken Sie in der Konsole auf das Symbol Menü
> Ressourcenliste.
-
Wählen Sie in der Liste der Services Ihre Secrets Manager -Instanz aus.
-
Klicken Sie auf der Seite Engines für geheime Schlüssel auf die Registerkarte Private Zertifikate.
-
Klicken Sie in der Tabelle "Zertifizierungsstellen" auf Zertifizierungsstelle erstellen , um den Erstellungsassistenten zu starten.
-
Geben Sie den Typ und die Optionen der Zertifizierungsstelle an.
- Wählen Sie Zwischenzertifizierungsstelle als Berechtigungstyp aus.
- Wählen Sie Externe Signaturaus.
- Geben Sie einen Namen ein, um Ihre Zertifizierungsstelle leicht zu identifizieren.
- Wählen Sie eine maximale Lebensdauer (TTL, Time-to-Live) für das Zertifikat aus, das für diese Zertifizierungsstelle generiert wird. Die Lebensdauer bestimmt, wie lange das CA-Zertifikat gültig bleibt.
- Um die URL des ausstellenden CA-Zertifikats in Endentitätszertifikate zu codieren, setzen Sie die Option URL codieren auf Aktiviert.
-
Geben Sie die Betreffnamensfelder für Ihr CA-Zwischenzertifikat ein.
-
Wählen Sie den Schlüsselverwaltungsdienst aus. Wählen Sie den Dienst Secrets Manager, um die Schlüssel der Stammzertifizierungsstelle dienstintern zu erstellen, oder wählen Sie Hyper Protect Crypto Services (HPCS). Wenn HPCS ausgewählt ist, führen Sie die folgenden Aufgaben aus:
-
Wählen Sie Ihre HPCS-Instanz aus der Dropdown-Liste der Instanzen oder geben Sie Ihre HPCS-Instanz-CRN manuell ein
-
Wählen Sie das IAM Credentials-Geheimnis, das zuvor für die Authentifizierung mit HPCS erstellt wurde.
Sobald der IAM-Berechtigungsnachweis in der CA-Konfiguration festgelegt wurde, kann er später nicht mehr ersetzt werden.
-
Wählen Sie den privaten HPCS-Schlüsselspeicher aus der Dropdown-Liste der Schlüsselspeicher aus, oder geben Sie die Schlüsselspeicher-ID manuell ein.
-
Wählen Sie, ob Sie vorhandene Schlüssel verwenden oder neue Schlüssel erzeugen möchten. Wenn Sie einen vorhandenen privaten HPCS-Schlüssel auswählen oder die ID eines privaten Schlüssels manuell eingeben, stellen Sie sicher, dass ein öffentlicher Schlüssel vorhanden ist und die gleiche ID wie der private Schlüssel im privaten Schlüsselspeicher hat.
Wenn Sie sich für die Erzeugung neuer Schlüssel entscheiden, werden diese Schlüssel nicht von Secrets Manager gelöscht, wenn die Konfiguration gelöscht wird.
-
-
Schlüsselalgorithmus auswählen , den Sie zum Generieren des öffentlichen und des privaten Schlüssels für Ihr CA-Zertifikat verwenden möchten.
-
Legen Sie fest, ob die Erstellung der Zertifikatswiderrufsliste (CRL) und die Verteilungspunkte für Ihr CA-Zertifikat aktiviert werden sollen.
Eine CRL ist eine Liste von Zertifikaten, die von der ausstellenden Zertifizierungsstelle vor ihrem geplanten Ablaufdatum widerrufen wurden. Ein Zertifikat, das als Teil einer CRL aufgeführt ist, kann von Anwendungen nicht mehr anerkannt werden.
- Um bei jeder Zertifikatsanforderung eine CRL für Ihre Zwischenzertifizierungsstelle zu erstellen, setzen Sie die Option "CRL-Erstellung" auf "Aktiviert ".
- Um die URL der Widerrufsliste im CA-Zwischenzertifikat zu codieren, setzen Sie die Option CRL-Verteilungspunkte auf Aktiviert.
- Wählen Sie eine Lebensdauer (Time-to-Live, TTL) der generierten CRL aus. Die Lebensdauer bestimmt, wie lange die CRL gültig bleibt.
-
Prüfen Sie Ihre Auswahl. Klicken Sie zum Erstellen der temporären Zertifizierungsstelle auf Erstellen.
Die temporäre Zertifizierungsstelle wird Ihrer Liste der Konfigurationen für Ihre Instanz mit dem Status Signatur erforderlich hinzugefügt. Bevor Sie diese temporäre Zertifizierungsstelle zum Ausstellen privater Zertifikate verwenden können, müssen Sie sie mit dem übergeordneten CA-Zertifikat signieren, das Sie in Ihrem externen PKI-System erstellt haben.
Schritt 2: Zwischenzertifizierungsstelle mit externer Zertifizierungsstelle signieren
Wenn Sie eine Zwischen-Zertifizierungsstelle in Secrets Manager erstellen, die Sie mithilfe einer externen Zertifizierungsstelle signieren möchten, wird eine Zertifikatsignierungsanforderung(CSR)Eine elektronische Nachricht, die von einer Organisation an eine Zertifizierungsstelle gesendet wird, um ein Zertifikat abzurufen. Die Anforderung schließt einen öffentlichen Schlüssel ein und ist mit einem privaten Schlüssel signiert; die Zertifizierungsstelle gibt das Zertifikat zurück, nachdem sie es mit einem eigenen privaten Schlüssel signiert hat. generiert. Sie können die Zertifikatssignieranforderung verwenden, um Ihr CA-Zwischenzertifikat zu signieren und auszustellen.
-
Wechseln Sie in der Benutzerschnittstelle von Secrets Manager zu Engines für geheime Schlüssel > Private Zertifikate.
-
Klicken Sie in der Zeile der temporären Zertifizierungsstelle, die Sie signieren möchten, auf das Aktionen Menü
> Zertifikat signieren.
-
Kopieren Sie die CSR oder laden Sie sie herunter.
-
Signieren Sie Ihr CA-Zwischenzertifikat mithilfe der Zertifikatssignieranforderung.
Sie können aus verschiedenen Tools wie
openssl
auswählen, um eine CSR-Datei zu signieren. Der folgendeopenssl
-Befehl verwendet beispielsweise eine CSR-Datei, die Sie von Secrets Manager heruntergeladen haben, und verwendet eine PEM-codierte CA-Datei und den zugehörigen privaten Schlüssel, um ein signiertes CA-Zertifikat auszugeben.openssl x509 -req -in <intermediate-ca-csr-file> -CA <external-parent-ca-file> -CAkey <external-ca-key-file> -out <signed-intermediate-ca-file>
Der Befehl gibt eine signierte CA-Zwischenzertifikatsdatei aus, die Sie anschließend in Ihre Secrets Manager -Instanz importieren können, um den Signaturprozess abzuschließen.
Schritt 3: Signierte temporäre Zertifizierungsstelle in Ihre Instanz importieren
Nachdem Sie ein CA-Zwischenzertifikat mithilfe einer externen übergeordneten Zertifizierungsstelle signiert haben, können Sie es mithilfe der Secrets Manager -Benutzerschnittstelle in Ihre Instanz importieren.
-
Wechseln Sie in der Benutzerschnittstelle von Secrets Manager zu Engines für geheime Schlüssel > Private Zertifikate.
-
Klicken Sie in der Zeile der temporären Zertifizierungsstelle, die Sie signiert haben, auf das Aktionen Menü
> Zertifikat signieren.
-
Wählen Sie die signierte CA-Zwischenzertifikatsdatei aus, die Sie in Vorheriger Schrittsigniert haben, oder geben Sie sie ein.
-
Klicken Sie auf Signieren , um den externen Signaturprozess abzuschließen.
Die signierte temporäre Zertifizierungsstelle wird Ihrer Liste der Konfigurationen für Ihre Instanz mit dem Status Aktiv hinzugefügt. Sie können diese temporäre Zertifizierungsstelle jetzt für Private Zertifikate erstellen für Ihre Anwendungen verwenden. Klicken Sie zum Ändern oder Entfernen einer vorhandenen Konfiguration in der Zeile der Zertifizierungsstelle, die Sie aktualisieren möchten, auf Aktionen Menü
.
Erstellen einer Zwischenzertifizierungsstelle mit externer Signatur über die API
Eine temporäre Zertifizierungsstelle mit externer Signatur verwendet eine übergeordnete Zertifizierungsstelle aus einem externen PKI-System oder sogar einer anderen Secrets Manager -Instanz als Trust-Anchor. Die übergeordnete Zertifizierungsstelle kann eine Stammzertifizierungsstelle oder eine temporäre Zertifizierungsstelle sein. Sie können eine Zwischenzertifizierungsstelle mit externer Signatur erstellen, indem Sie die API Secrets Manager verwenden.
Schritt 1: Zwischenzertifizierungsstelle erstellen und Anforderung signieren
Das folgende Beispiel zeigt eine Abfrage, mit der Sie eine temporäre Zertifizierungsstelle mit externer Signatur erstellen können. Setzen Sie im Anforderungshauptteil den Wert des Attributs signing_method
auf external
.
curl -X POST
--H "Authorization: Bearer {iam_token}" \
--H "Accept: application/json" \
--H "Content-Type: application/json" \
--d '{
"config_type": "private_cert_configuration_intermediate_ca",
"name": "example-intermediate-CA",
"common_name": "example.com",
"crl_disable": false,
"crl_distribution_points_encoded": true,
"crl_expiry": "72h",
"issuer": "example-root-CA",
"issuing_certificates_urls_encoded": true,
"max_ttl": "26300h",
"signing_method": "external"
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations"
Wenn Sie Ihr eigenes HSM mitbringen, fügen Sie dem Antrag folgende Angaben bei:
"crypto_key": {
"label": "my_key",
"allow_generate_key": true,
"provider": {
"type": "hyper_protect_crypto_services",
"instance_crn": "replace_with_hpcs_crn::",
"pin_iam_credentials_secret_id": "replace_with_iam_credentials_secret_guid",
"private_keystore_id": "replace_with_keystore_id"
}
}
Kopieren Sie die CSR aus den JSON-Antwortdaten. Der CSR-Wert ist im Wert des Attributs data
der Antwort verschachtelt. Sie können auch die API get configuration
verwenden, um die CSR aus den Daten der neu erstellten temporären Zertifizierungsstelle abzurufen.
Schritt 2: Zwischenzertifizierungsstelle mit externer Zertifizierungsstelle signieren
Verwenden Sie die CSR, die Sie in Schritt 1 kopiert haben, um Ihr CA-Zwischenzertifikat zu signieren. Fügen Sie die CSR in eine Datei ein, die zum Signieren verwendet werden soll.
Sie können aus verschiedenen Tools wie openssl
auswählen, um eine CSR-Datei zu signieren. Der folgende Befehl openssl
verwendet beispielsweise eine CSR-Datei und eine PEM-codierte CA-Datei sowie den zugehörigen privaten
Schlüssel, um ein signiertes CA-Zertifikat auszustellen.
openssl x509 -req -in <intermediate-ca-csr-file> -CA <external-parent-ca-file> -CAkey <external-ca-key-file> -out <signed-intermediate-ca-file>
Der Befehl gibt eine signierte Zertifikatsdatei aus, die Sie in Ihre CA-Zwischenkonfiguration importieren können, um den Signaturprozess abzuschließen.
Wenn die übergeordnete Zertifizierungsstelle eine Stammzertifizierungsstelle oder eine temporäre Zertifizierungsstelle aus einer anderen Secrets Manager-Instanz ist, können Sie die CSR mit der Aktion sign-csr
signieren. Das folgende
Beispiel zeigt eine Abfrage, mit der Sie die CSR signieren können.
curl -X POST
--H "Authorization: Bearer {iam_token}" \
--H "Accept: application/json" \
--H "Content-Type: application/json" \
--d '{
"action_type": "private_cert_configuration_action_sign_csr",
"csr": "-----BEGIN CERTIFICATE REQUEST-----\nMIICiDCCAXACAQAwGDEWMBQGA1UEAxMNct5ANo8jybxCwNjHOA==\n-----END CERTIFICATE REQUEST-----"
}' \
"https://{other_instance_ID}.{other_instance_region}.secrets-manager.appdomain.cloud/api/v2/configurations/example-intermediate-CA/actions"
Kopieren Sie den Wert des Felds certificate
aus der Antwort, um ihn im nächsten Schritt zu verwenden.
Schritt 3: Signierte temporäre Zertifizierungsstelle in die Konfiguration der temporären Zertifizierungsstelle importieren
Nachdem Sie ein Zwischenzertifikat der Zertifizierungsstelle mithilfe einer externen übergeordneten Zertifizierungsstelle signiert haben, können Sie es mithilfe der Aktion set-signed
in Ihre Zwischenzertifikatskonfiguration importieren.
Das folgende Beispiel zeigt eine Abfrage, mit der Sie das extern signierte Zertifikat importieren können.
curl -X POST
--H "Authorization: Bearer {iam_token}" \
--H "Accept: application/json" \
--H "Content-Type: application/json" \
--d '{
"action_type": "private_cert_configuration_action_set_signed",
"certificate": "-----BEGIN CERTIFICATE-----\nMIIGRjCCBS6gAwIBAgIUSKW6zI+E9JU4bva\n-----END CERTIFICATE-----"
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations/example-intermediate-CA/actions"
Erstellen einer Zwischenzertifizierungsstelle mit interner Signatur von der CLI
Eine temporäre Zertifizierungsstelle mit interner Signatur verwendet eine übergeordnete Zertifizierungsstelle, die zuvor in Ihrer Secrets Manager -Instanz als Trust-Anchor erstellt wurde. Sie können eine Zwischen-Zertifizierungsstelle mit interner Signatur erstellen, indem Sie die Befehlszeilenschnittstelle Secrets Manager verwenden.
Schritt 1: Temporäre Zertifizierungsstelle mit interner Signatur erstellen
Führen Sie den Befehl ibmcloud secrets-manager configuration-create
aus, um eine temporäre
Zertifizierungsstelle mit interner Signatur zu erstellen. Setzen Sie im Konfigurationsprototyp den Wert des Attributs signing_method
auf internal
. Verwenden Sie das Attribut issuer
, um die übergeordnete
Zertifizierungsstelle anzugeben. Der folgende Befehl erstellt beispielsweise eine temporäre Zertifizierungsstelle mit interner Signatur.
ibmcloud secrets-manager configuration-create
--configuration-prototype='{
"config_type": "private_cert_configuration_intermediate_ca",
"name": "example-intermediate-CA",
"max_ttl": "26300h",
"signing_method": "internal",
"issuer": "example-root-CA",
"crl_expiry": "72h",
"crl_disable": false,
"crl_distribution_points_encoded": true,
"issuing_certificates_urls_encoded": true,
"common_name": "example.com",
"alt_names": [
"alt-name-1","alt-name-2"
],
"ip_sans": "127.0.0.1",
"uri_sans": "https://www.example.com/test",
"other_sans": ["1.2.3.5.4.3.201.10.4.3;utf8:test@example.com"],
"format": "pem",
"private_key_format": "der",
"key_type": "rsa",
"key_bits": 4096,
"exclude_cn_from_sans": false
}'
Wenn Sie Ihr eigenes HSM mitbringen, fügen Sie dem Antrag folgende Angaben bei:
"crypto_key": {
"label": "my_key",
"allow_generate_key": true,
"provider": {
"type": "hyper_protect_crypto_services",
"instance_crn": "replace_with_hpcs_crn::",
"pin_iam_credentials_secret_id": "replace_with_iam_credentials_secret_guid",
"private_keystore_id": "replace_with_keystore_id"
}
}
Schritt 2: Zwischenzertifizierungsstelle signieren
Zum Signieren der temporären Zertifizierungsstelle über die Befehlszeilenschnittstelle Secrets Manager wenden Sie die Aktion sign-intermediate
an, indem Sie den Befehl ibmcloud secrets-manager configuration-action-create
ausführen. Übergeben Sie den Namen der Zertifizierungsstelle (Aussteller) mit der Befehlsoption --name
.
ibmcloud secrets-manager configuration-action-create --name example-root-CA
--config-action-prototype='{
"action_type": "private_cert_configuration_action_sign_intermediate",
"intermediate_certificate_authority": "example-intermediate-CA"
}'
Erstellen einer Zwischenzertifizierungsstelle mit externer Signatur von der Befehlszeilenschnittstelle
Eine temporäre Zertifizierungsstelle mit externer Signatur verwendet eine übergeordnete Zertifizierungsstelle aus einem externen PKI-System oder sogar einer anderen Secrets Manager -Instanz als Trust-Anchor. Die übergeordnete Zertifizierungsstelle kann eine Stammzertifizierungsstelle oder eine temporäre Zertifizierungsstelle sein. Sie können eine Zwischenzertifizierungsstelle mit externer Signatur erstellen, indem Sie die Befehlszeilenschnittstelle Secrets Manager verwenden.
Schritt 1: Zwischenzertifizierungsstelle erstellen und Anforderung signieren
Führen Sie den Befehl ibmcloud secrets-manager configuration-create
aus, um eine temporäre
Zertifizierungsstelle und eine Signaturanforderung über die Befehlszeilenschnittstelle Secrets Manager zu erstellen. Setzen Sie im Konfigurationsprototyp den Wert des Attributs signing_method
auf external
. Verwenden
Sie die Option --output json
, um eine vollständige Antwort zu erhalten, die den Wert des Attributs csr
enthält. Der folgende Befehl erstellt beispielsweise eine temporäre Zertifizierungsstelle mit externer Signatur.
ibmcloud secrets-manager configuration-create --output json
--configuration-prototype='{
"config_type": "private_cert_configuration_intermediate_ca",
"name": "example-intermediate-CA",
"max_ttl": "26300h",
"signing_method": "external",
"crl_expiry": "72h",
"crl_disable": false,
"crl_distribution_points_encoded": true,
"issuing_certificates_urls_encoded": true,
"common_name": "example.com",
"alt_names": [
"alt-name-1","alt-name-2"
],
"ip_sans": "127.0.0.1",
"uri_sans": "https://www.example.com/test",
"other_sans": ["1.2.3.5.4.3.201.10.4.3;utf8:test@example.com"],
"format": "pem",
"private_key_format": "der",
"key_type": "rsa",
"key_bits": 4096,
"exclude_cn_from_sans": false
}'
Kopieren Sie die CSR aus den JSON-Antwortdaten. Der CSR-Wert ist im Wert des Attributs data
der Antwort verschachtelt. Sie können auch die Daten der neu erstellten temporären Zertifizierungsstelle abrufen, indem Sie den Befehl
ibmcloud secrets-manager configuration
mit der Option --output json
ausführen.
Beispiel:
ibmcloud secrets-manager configuration --name example-intermediate-CA --output json
Schritt 2: Zwischenzertifizierungsstelle mit externer Zertifizierungsstelle signieren
Verwenden Sie die CSR, die Sie in Schritt 1 kopiert haben, um Ihr CA-Zwischenzertifikat zu signieren. Fügen Sie die CSR in eine Datei ein, die zum Signieren verwendet werden soll.
Sie können aus verschiedenen Tools wie openssl
auswählen, um eine CSR-Datei zu signieren. Der folgende Befehl openssl
verwendet beispielsweise eine CSR-Datei und eine PEM-codierte CA-Datei sowie den zugehörigen privaten
Schlüssel, um ein signiertes CA-Zertifikat auszustellen.
openssl x509 -req -in <intermediate-ca-csr-file> -CA <external-parent-ca-file> -CAkey <external-ca-key-file> -out <signed-intermediate-ca-file>
Der Befehl gibt eine signierte Zertifikatsdatei aus, die Sie in Ihre CA-Zwischenkonfiguration importieren können, um den Signaturprozess abzuschließen.
Wenn die übergeordnete Zertifizierungsstelle eine Stammzertifizierungsstelle oder eine temporäre Zertifizierungsstelle aus einer anderen Secrets Manager-Instanz ist, können Sie die CSR signieren, indem Sie die Aktion sign-csr
anwenden. Führen Sie zum Anwenden der Aktion den Befehl ibmcloud secrets-manager configuration-action-create
aus. Kopieren Sie den Wert des Felds certificate
aus der Befehlsausgabe, um ihn im nächsten Schritt zu verwenden. Wenn die übergeordnete Zertifizierungsstelle beispielsweise die Stammzertifizierungsstelle mit dem Namen example-root-CA
in einer anderen Instanz von Secrets Manager ist, lautet der Befehl wie folgt.
ibmcloud secrets-manager configuration-action-create --name example-root-CA --output json
--config-action-prototype='{
"action_type": "private_cert_configuration_action_sign_csr",
"csr": "-----BEGIN CERTIFICATE REQUEST-----\nMIICiDCCAXACAQAwGDEWMBQGA1UEAxMNct5ANo8jybxCwNjHOA==\n-----END CERTIFICATE REQUEST-----"
}'
Für die Aktion sign-csr
müssen Sie die andere Secrets Manager-Instanz als Ziel angeben, in der sich die übergeordnete Zertifizierungsstelle befindet. Bevor Sie den Befehl ausführen, exportieren Sie die Umgebungsvariable SECRETS_MANAGER_URL
,
um die andere Instanz als Ziel auszuwählen.
Schritt 3: Signierte temporäre Zertifizierungsstelle in die Konfiguration der temporären Zertifizierungsstelle importieren
Nachdem Sie ein Zwischenzertifizierungsstellenzertifikat mithilfe einer externen übergeordneten Zertifizierungsstelle signiert haben, können Sie es in Ihre CA-Zwischenkonfiguration importieren, indem Sie die Aktion set-signed
auf Ihre CA-Zwischenkonfiguration anwenden. Führen Sie zum Anwenden der Aktion den Befehl ibmcloud secrets-manager configuration-action-create
aus. Beispiel:
ibmcloud secrets-manager configuration-action-create --name example-intermediate-CA
--config-action-prototype='{
"action_type": "private_cert_configuration_action_set_signed",
"certificate": "-----BEGIN CERTIFICATE-----\nMIIGRjCCBS6gAwIBAgIUSKW6zI+E9JU4bva\n-----END CERTIFICATE-----"
}'
Temporäre Zertifizierungsstelle mit interner Signatur mit Terraform erstellen
Eine temporäre Zertifizierungsstelle mit interner Signatur verwendet eine übergeordnete Zertifizierungsstelle, die zuvor in Ihrer Secrets Manager -Instanz als Trust-Anchor erstellt wurde. Sie können eine Zwischen-Zertifizierungsstelle mit interner Signatur erstellen, indem Sie Terraform für Secrets Manager verwenden.
Das folgende Beispiel zeigt eine Konfiguration, mit der Sie eine temporäre Zertifizierungsstelle mit interner Signatur erstellen können.
resource "ibm_sm_private_certificate_configuration_intermediate_ca" "my_intermediate_ca" {
instance_id = local.instance_id
signing_method = "internal"
name = "example-intermediate-ca"
common_name = "example.com"
issuer = ibm_sm_private_certificate_configuration_root_ca.my_root_ca.name
max_ttl = "180000"
}
Wenn Sie Ihr eigenes HSM mitbringen, müssen Sie die folgenden Punkte in die Konfiguration aufnehmen:
crypto_key {
label = "my_key"
allow_generate_key = true
provider {
type = "hyper_protect_crypto_services"
instance_crn = "replace_with_hpcs_crn::"
pin_iam_credentials_secret_id = "replace_with_iam_credentials_secret_guid"
private_keystore_id = "replace_with_keystore_id"
}
}
Bei Verwendung der internen Signatur signiert der definierte Aussteller automatisch das neu erstellte CA-Zwischenzertifikat.
Erstellen einer Zwischen-CA mit externer Signierung mit Terraform
Eine temporäre Zertifizierungsstelle mit externer Signatur verwendet eine übergeordnete Zertifizierungsstelle aus einem externen PKI-System oder sogar einer anderen Secrets Manager -Instanz als Trust-Anchor. Die übergeordnete Zertifizierungsstelle kann eine Stammzertifizierungsstelle oder eine temporäre Zertifizierungsstelle sein. Sie können eine temporäre Zertifizierungsstelle mit externer Signatur über Terraform für Secrets Managererstellen.
Das folgende Beispiel zeigt eine Konfiguration, mit der Sie eine temporäre Zertifizierungsstelle mit externer Signatur erstellen können. Die Konfiguration besteht aus drei Ressourcen. Die Ressource ibm_sm_private_certificate_configuration_intermediate_ca
erstellt die Konfiguration der temporären Zertifizierungsstelle und die Zertifikatssignieranforderung. Die Ressource ibm_sm_private_certificate_configuration_action_sign_csr
signiert die CSR mit einer Stammzertifizierungsstelle
von einer anderen Secrets Manager-Instanz. Die Ressource ibm_sm_private_certificate_configuration_action_set_signed
importiert das signierte Zertifikat in die temporäre CA-Ressource.
resource "ibm_sm_private_certificate_configuration_intermediate_ca" "my_intermediate_ca" {
instance_id = local.instance_id
name = "example-intermediate-ca"
signing_method = "external"
common_name = "example.com"
max_ttl = "180000"
}
resource "ibm_sm_private_certificate_configuration_action_sign_csr" "my_sign_action" {
instance_id = local.another_instance_id
name = ibm_sm_private_certificate_configuration_root_ca.my_root_ca.name
csr = ibm_sm_private_certificate_configuration_intermediate_ca.my_intermediate_ca.data[0].csr
}
resource "ibm_sm_private_certificate_configuration_action_set_signed" "my_set_signed_action" {
instance_id = local.instance_id
name = ibm_sm_private_certificate_configuration_intermediate_ca.my_intermediate_ca.name
certificate = ibm_sm_private_certificate_configuration_action_sign_csr.my_sign_action.data[0].certificate
}
In diesem Beispiel wird die externe Signatur verwendet, weil sich die Stammzertifizierungsstelle in einer anderen Secrets Manager-Instanz befindet. Um eine übergeordnete Zertifizierungsstelle aus einem externen PKI-System zu verwenden, verwenden
Sie eine andere Methode zum Signieren des CSR anstelle der Ressource ibm_sm_private_certificate_configuration_action_sign_csr
. Sie können beispielsweise die Ressource tls_locally_signed_cert
des tls
-Providers
verwenden.
Wenn Sie Ihr eigenes HSM mitbringen, müssen Sie die folgenden Punkte in die Konfiguration aufnehmen:
crypto_key {
label = "my_key"
allow_generate_key = true
provider {
type = "hyper_protect_crypto_services"
instance_crn = "replace_with_hpcs_crn::"
pin_iam_credentials_secret_id = "replace_with_iam_credentials_secret_guid"
private_keystore_id = "replace_with_keystore_id"
}
}
Temporäre Zertifizierungsstelle in der Benutzerschnittstelle abrufen
Sie können den Wert der temporären Zertifizierungsstelle über die Benutzerschnittstelle von Secrets Manager abrufen.
- Klicken Sie in der Öffentliche Zertifikate-Engine für geheime Schlüssel auf das Aktionen Menü
, um eine Liste mit Optionen für Ihre Enginekonfiguration zu öffnen.
- Klicken Sie zum Anzeigen des Konfigurationswerts auf Konfiguration anzeigen.
- Klicken Sie auf Bestätigen, nachdem Sie sichergestellt haben, dass Sie sich in einer sicheren Umgebung befinden.
Der Wert des geheimen Schlüssels wird 15 Sekunden lang angezeigt und der Dialog wird geschlossen.
Temporäre Zertifizierungsstelle über die Befehlszeilenschnittstelle abrufen
Sie können den Wert der temporären Zertifizierungsstelle über die Befehlszeilenschnittstelle von Secrets Manager abrufen. Ersetzen Sie im folgenden Beispielbefehl den Namen der Enginekonfiguration durch den Namen Ihrer Konfiguration.
ibmcloud secrets-manager configuration --name EXAMPLE_CONFIG --service-url https://{instance_ID}.{region}.secrets-manager.appdomain.cloud
Ersetzen Sie {instance_ID}
und {region}
durch die Werte, die für Ihre Serviceinstanz von Secrets Manager gelten. Um die Endpunkt-URL zu finden, die für Ihre Instanz spezifisch ist, können Sie sie von der Seite Endpunkte in der Benutzerschnittstelle von Secrets Manager kopieren. Weitere Informationen finden Sie unter Endpunkt-URLs anzeigen.
Temporäre Zertifizierungsstelle über API abrufen
Sie können den Wert der temporären Zertifizierungsstelle mithilfe der API Secrets Manager abrufen. Ersetzen Sie in der folgenden Beispielanforderung den Namen der Enginekonfiguration durch den Namen Ihrer Konfiguration.
curl -X GET --location --header "Authorization: Bearer {iam_token}" \
--header "Accept: application/json" \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations/{name}"
Ersetzen Sie {instance_ID}
und {region}
durch die Werte, die für Ihre Serviceinstanz von Secrets Manager gelten. Um die Endpunkt-URL zu finden, die für Ihre Instanz spezifisch ist, können Sie sie von der Seite Endpunkte in der Benutzerschnittstelle von Secrets Manager kopieren. Weitere Informationen finden Sie unter Endpunkt-URLs anzeigen.
Eine erfolgreiche Antwort gibt den Wert der Motorkonfiguration zusammen mit anderen Metadaten zurück. Weitere Informationen zu den erforderlichen und optionalen Anfrageparametern finden Sie unter "Get a secret ".