Bestellung SSL / TLS öffentliche Zertifikate
Sie können IBM Cloud® Secrets Manager verwenden, um öffentliche SSL / TLS Zertifikate zu speichern, anzufordern und zu generieren, die Sie für Ihre Anwendungen oder Dienste verwenden können.
Ein SSL/TLS-Zertifikat ist ein digitaler Zertifikatstyp, der verwendet wird, um die Kommunikation zwischen einem Server und einem Client zu schützen. Zertifikate werden von Zertifizierungsstellen(CA)Eine anerkannte Drittorganisation oder ein anerkanntes Drittunternehmen, das die digitalen Zertifikate ausgibt. Die Zertifizierungsstelle überprüft standardmäßig die Identität der Einzelpersonen, denen das eindeutige Zertifikat gewährt wird. ausgestellt und enthalten Informationen, die zum Aufbau vertrauenswürdiger und sicherer Verbindungen zwischen Endpunkten verwendet werden. Nachdem Sie Ihrem Secrets Manager-Instanz hinzugefügt haben, können Sie es verwenden, um die Netzkommunikation für Ihre Cloud- oder On-Premises-Bereitstellungen zu schützen. Ihr Zertifikat wird sicher in Ihrer dedizierten Secrets Manager-Serviceinstanz gespeichert, in der Sie den Lebenszyklus zentral verwalten können.
In Secrets Manager sind Zertifikate, die Sie über Secrets Manager bei einer dritten Zertifizierungsstelle bestellen, öffentliche Zertifikate. Zertifikate, die Sie in den Service importieren, sind importierte Zertifikate (imported_cert). Zertifikate, die Sie mithilfe einer privaten Zertifizierungsstelle erstellen, sind private Zertifikate (private_cert).
Vorbereitende Schritte
Bevor Sie beginnen, müssen Sie prüfen, ob Sie über die erforderliche Zugriffsebene verfügen. Zum Erstellen oder Hinzufügen von geheimen Schlüsseln benötigen Sie die Servicerolle Schreibberechtigter oder eine Rolle mit größerem Berechtigungsumfang.
Bevor Sie ein Zertifikat bestellen, stellen Sie Folgendes sicher:
- Bereiten Sie Ihre Instanz für die Bestellung von Zertifikaten vor..
- Überprüfen Sie die verfügbaren Konfigurationen der Zertifizierungsstelle und des DNS-Anbieters. Um eine Liste der Konfigurationen anzuzeigen, die für Ihre Instanz verfügbar sind, rufen Sie die Seite Secrets engines > Öffentliche Zertifikate in der Secrets Manager-Benutzerschnittstelle auf.
Um mit einem DNS-Provider zu arbeiten, der derzeit nicht in den Service integriert ist, müssen Sie keine Konfiguration hinzufügen, um Ihr öffentliches Zertifikat zu bestellen.
Öffentliche Zertifikate bestellen
Nachdem Sie die Engine für öffentliche Zertifikate konfigurieren für Ihre Instanz eingerichtet haben, können Sie Secrets Manager verwenden, um öffentliche SSL/TLS Zertifikate von Let's Encrypt anzufordern. Bevor ein Zertifikat an Sie ausgegeben werden kann, verwendet Secrets Manager die Domänenvalidierung, um das Eigentumsrecht an Ihren Domänen zu überprüfen. Wenn Sie ein Zertifikat bestellen:
-
Secrets Manager sendet Ihre Anforderung an die ausgewählte Zertifizierungsstelle. Der Status des Zertifikats ändert sich in Voraktivierung, um anzuzeigen, dass Ihre Anforderung verarbeitet wird.
-
Wenn die Validierung erfolgreich abgeschlossen ist, wird Ihr Zertifikat ausgegeben und der Status ändert sich in Aktiv.
-
Wenn die Validierung nicht erfolgreich abgeschlossen werden kann, ändert sich der Status des Zertifikats in Inaktiviert. In der Tabelle der geheimen Schlüssel können Sie die Ausgabedetails Ihres Zertifikats überprüfen, indem Sie auf das Symbol Aktionen
> Details anzeigen klicken.
-
Wenn die Validierung nicht erfolgreich abgeschlossen werden kann, ändert sich der Status des Zertifikats in Inaktiviert. In der Tabelle der geheimen Schlüssel können Sie die Ausgabedetails Ihres Zertifikats überprüfen, indem Sie auf das Symbol Aktionen
> Details anzeigen klicken.
-
Wenn die Validierung nicht erfolgreich abgeschlossen werden kann, ändert sich der Status des Zertifikats in Inaktiviert. Sie können die API Get secret metadata verwenden, um das Feld
resources.issuance_infofür die Ausgabe von Details zu Ihrem Zertifikat zu überprüfen. -
Nachdem das Zertifikat ausgestellt wurde, können Sie es in Ihre integrierten Apps implementieren, es herunterladen oder seine Rotationsoptionen ändern.
Öffentliche Zertifikate mit integrierten DNS-Providern in der Benutzerschnittstelle bestellen
Sie können ein Zertifikat über die Secrets Manager-Benutzerschnittstelle bestellen.
-
Klicken Sie in der Konsole auf das Symbol Menü
> Ressourcenliste.
-
Wählen Sie in der Liste der Services Ihre Instanz von Secrets Manager aus.
-
Klicken Sie in der Tabelle Geheime Schlüssel auf Hinzufügen.
-
Klicken Sie auf die Kachel Öffentliches Zertifikat bestellen.
-
Fügen Sie einen Namen und eine Beschreibung hinzu, um Ihr Zertifikat leicht zu identifizieren.
-
Wählen Sie die Gruppe geheimer Schlüssel aus, die Sie dem geheimen Schlüssel zuordnen möchten. Haben Sie noch keine Gruppe geheimer Schlüssel? Im Feld Gruppe geheimer Schlüssel können Sie auf Erstellen klicken, um einen Namen und eine Beschreibung für eine neue Gruppe anzugeben. Ihr geheimer Schlüssel wird automatisch zur neuen Gruppe hinzugefügt. Weitere Informationen zu Gruppen geheimer Schlüssel finden Sie im Abschnitt zum Organisieren Ihrer geheimen Schlüssel.
-
Optional: Fügen Sie Bezeichnungen hinzu, die Ihnen helfen, nach ähnlichen geheimen Schlüsseln in Ihrer Instanz zu suchen.
-
Optional: Fügen Sie Ihrem geheimen Schlüssel oder einer bestimmten Version Ihres geheimen Schlüssels Metadaten hinzu. Laden Sie eine Datei hoch oder geben Sie die Metadaten und die Versionsmetadaten im JSON-Format ein.
-
Klicken Sie auf Weiter.
-
Wählen Sie eine Zertifikatsstellenkonfiguration aus.
Die von Ihnen ausgewählte Konfiguration bestimmt die Zertifizierungsstelle, die zum Signieren und Ausstellen des Zertifikats verwendet werden soll. Zum Anzeigen der Konfigurationen, die für Ihre Instanz definiert sind, können Sie Engines für geheime Schlüssel > Öffentliche Zertifikate verwenden.
-
Wählen Sie den Schlüsselalgorithmus aus, der zum Generieren des öffentlichen Schlüssels für Ihr Zertifikat verwendet werden soll.
Der von Ihnen ausgewählte Schlüsselalgorithmus bestimmt den Verschlüsselungsalgorithmus (RSA oder ECDSA) und die Schlüsselgröße für die Generierung von Schlüsseln und Signaturzertifikaten. Für länger gültige Zertifikate
wird empfohlen, längere Schlüssellängen zu verwenden, um mehr Verschlüsselungsschutz zu bieten. Zu den Optionen gehören RSA2048, RSA4096, ECDSA256 und ECDSA384.
-
Optional: Aktivieren Sie erweiterte Optionen für das Zertifikat.
-
Um Ihr ausgestelltes Zertifikat mit Zwischenzertifikaten zu bündeln, wählen Sie auf der entsprechenden Umschaltfläche die Einstellung Ein. Nachdem Ihre Zertifikate gebündelt sind, können sie nicht mehr entbündelt werden. Wenn Sie sich dafür entscheiden, die Zertifikate nicht zu bündeln, kann dies im Nachhinein nicht mehr geändert werden, sondern nur durch die Erstellung eines neuen Geheimnisses.
-
Um den automatischen turnusmäßigen Wechsel für das Zertifikat zu aktivieren, wählen Sie auf der entsprechenden Umschaltfläche die Einstellung Ein. Ihr Zertifikat wird 31 Tage vor Ablauf der Zertifikate gewechselt.
-
Um bei jeder Rotation einen neuen privaten Schlüssel mit dem Zertifikat anzufordern, schalten Sie die Option Re-Key auf Ein.
-
Wählen Sie eine DNS-Providerkonfiguration aus. Die von Ihnen ausgewählte Konfiguration bestimmt den DNS-Provider, um das Eigentumsrecht für Ihre Domänen zu prüfen. Zum Anzeigen der Konfigurationen, die für Ihre Instanz definiert sind, können Sie Engines für geheime Schlüssel > Öffentliche Zertifikate verwenden.
-
Fügen Sie die Domänen hinzu, die in Ihre Anforderung eingeschlossen werden sollen.
-
Klicken Sie auf Domänen auswählen.
-
Wählen Sie aus Ihrer Liste der Domänen den allgemeinen Namen des Zertifikats aus.
Der allgemeine Name ist eine optionale Eingabe. Wenn der allgemeine Name nicht ausdrücklich angegeben wird, weist Let's encrypt automatisch den ersten alternativen Namen, der nicht länger als 64 Zeichen ist, als allgemeinen Namen zu. Wenn kein solcher alternativer Name gefunden wird, wird das Zertifikat ohne Common Name ausgestellt.
Optional können Sie gültige Domänen auch manuell hinzufügen, indem Sie Domänen manuell hinzufügen Feld.
-
Klicken Sie auf Weiter.
-
Überprüfen Sie die Details Ihres Zertifikats.
-
Klicken Sie auf Hinzufügen.
Wenn Sie ein Zertifikat bestellen, erfolgt die Domänenvalidierung, um das Eigentumsrecht an Ihren ausgewählten Domänen zu überprüfen. Dieser Vorgang kann einige Minuten in Anspruch nehmen. Wenn Sie Ihre Zertifikatsdetails übergeben haben, sendet Secrets Manager Ihre Anforderung an die ausgewählte Zertifizierungsstelle. Nachdem ein Zertifikat ausgegeben wurde, können Sie es in Ihren integrierten Apps implementieren, herunterladen oder manuell turnusmäßig wechseln. Ihr privater Schlüssel für SSL/TLS wird direkt in Secrets Manager generiert und sicher gespeichert.
Sie müssen Ihren Bestellstatus überprüfen? In der Tabelle der geheimen Schlüssel können Sie die Ausgabedetails Ihres Zertifikats überprüfen, indem Sie auf das Symbol Aktionen > Details anzeigen klicken.
Öffentliche Zertifikate mit integrierten DNS-Providern über die Befehlszeilenschnittstelle bestellen
Bevor Sie beginnen, folgen Sie den CLI-Dokumenten, um Ihren API-Endpunkt festzulegen.
Zum Bestellen eines öffentlichen Zertifikats mit einem integrierten DNS-Provider über das CLI-Plug-in Secrets Manager führen Sie den Befehl ibmcloud secrets-manager secret-create command.For Der folgende Befehl fordert einen geheimen Schlüssel für ein öffentliches Zertifikat von der von Ihnen angegebenen Zertifizierungsstelle an.
Wenn Sie ein Zertifikat bestellen, erfolgt die Domänenvalidierung, um das Eigentumsrecht an Ihren ausgewählten Domänen zu überprüfen. Dieser Vorgang kann einige Minuten in Anspruch nehmen.
ibmcloud secrets-manager secret-create \
--secret-name example-public-certificate \
--secret-description "Extended description for this secret." \
--secret-type public_cert \
--secret-group-id bc656587-8fda-4d05-9ad8-b1de1ec7e712 \
--secret-labels dev,us-south \
--public-cert-dns dns_provider \
--certificate-common-name cert_common_name \
--certificate-alt-names alt_name1,alt_name2 \
--public-cert-ca lets-encrypt-config \
--public-cert-key-algorithm RSA2048 \
--secret-rotation '{"auto_rotate": true, "rotate_keys": false}' \
--secret-custom-metadata '{"anyKey": "anyValue"}' \
--secret-version-custom-metadata '{"anyKey": "anyValue"}'
Der Befehl gibt den ID-Wert des geheimen Schlüssels zusammen mit anderen Metadaten aus. Weitere Informationen zu den Befehlsoptionen finden Sie in ibmcloud secrets-manager secret-create.
Öffentliche Zertifikate mit integrierten DNS-Providern über die API bestellen
Sie können Zertifikate programmgesteuert bestellen, indem Sie die Secrets Manager-API aufrufen.
Das folgende Beispiel zeigt eine Abfrage, die Sie zum Bestellen eines Zertifikats verwenden können. Wenn Sie die API aufrufen, müssen Sie die ID-Variablen und das IAM-Token durch die Werte ersetzen, die für Ihre Secrets Manager-Instanz spezifisch sind.
Sie können Metadaten, die für die Anforderungen Ihrer Organisation relevant sind, mit den Anforderungsparametern custom_metadata und version_custom_metadata speichern. Werte von version_custom_metadata werden nur für die Versionen eines geheimen Schlüssels zurückgegeben. Die angepassten Metadaten Ihres geheimen Schlüssels werden wie alle anderen Metadaten für bis zu 50 Versionen gespeichert und Sie dürfen keine vertraulichen Daten einschließen.
Wenn Sie ein Zertifikat bestellen, erfolgt die Domänenvalidierung, um das Eigentumsrecht an Ihren ausgewählten Domänen zu überprüfen. Dieser Vorgang kann einige Minuten in Anspruch nehmen.
curl -X POST
-H "Authorization: Bearer {iam_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "example-public-certificate",
"description": "Description of my public certificate",
"secret_type": "public_cert",
"secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
"labels": [
"dev",
"us-south"
],
"common_name": "example.com",
"alt_names": [
"s1.example.com",
"*.s2.example.com"
],
"ca": "lets-encrypt-config",
"dns": "cloud-internet-services-config",
"rotation": {
"auto_rotate": true,
"rotate_keys": true
},
"bundle_certs": true,
"custom_metadata": {
"metadata_custom_key": "metadata_custom_value"
},
"version_custom_metadata": {
"custom_version_key": "custom_version_value"
}
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"
Wenn Sie Ihre Zertifikatsdetails übergeben haben, sendet Secrets Manager Ihre Anforderung an die ausgewählte Zertifizierungsstelle. Nachdem ein Zertifikat ausgegeben wurde, können Sie es in Ihren integrierten Apps implementieren, herunterladen oder manuell turnusmäßig wechseln. Ihr privater Schlüssel für SSL/TLS wird direkt in Secrets Manager generiert und sicher gespeichert. Weitere Informationen über die erforderlichen und optionalen Anfrageparameter finden Sie unter Erstellen eines Geheimnisses.
Sie müssen Ihren Bestellstatus überprüfen? Verwenden Sie die API Metadaten für geheime Schlüssel abrufen, um das Feld resources.issuance_info auf Ausgabedetails
zu Ihrem Zertifikat zu überprüfen.
Öffentliche Zertifikate mit integrierten DNS-Providern mithilfe von Terraform bestellen
Das folgende Beispiel zeigt eine Konfiguration, die Sie für die Bestellung eines öffentlichen Zertifikats verwenden können.
resource "ibm_sm_public_certificate" "sm_public_certificate" {
instance_id = local.instance_id
region = local.region
name = "test-public-certificate"
secret_group_id = "default"
ca = ibm_sm_public_certificate_configuration_ca_lets_encrypt.my_lets_encrypt_config.name
dns = ibm_sm_public_certificate_configuration_dns_cis.my_cis_dns_config.name
rotation {
auto_rotate = true
rotate_keys = false
}
}
Vereinfachen Sie die Bestellung von öffentlichen Zertifikaten mit Terraform IBM Modules (TIM) für Secrets Manager Public Certificate, das die Verwaltung des Lebenszyklus von Zertifikaten über den Code abwickelt. Informieren Sie sich über Terraform IBM Module für beste Praktiken.
Öffentliche Zertifikate mit eigenem DNS-Provider in der Benutzerschnittstelle bestellen
Führen Sie die folgenden Schritte aus, um ein öffentliches Zertifikat mithilfe eines manuellen DNS-Providers in der Benutzerschnittstelle zu erstellen.
-
Klicken Sie in der Konsole auf das Symbol Menü
> Ressourcenliste.
-
Wählen Sie in der Liste der Services Ihre Instanz von Secrets Manager aus.
-
Klicken Sie in der Tabelle Geheime Schlüssel auf Hinzufügen.
-
Klicken Sie auf die Kachel Öffentliches Zertifikat bestellen.
-
Fügen Sie einen Namen und eine Beschreibung hinzu, um Ihr Zertifikat leicht zu identifizieren.
-
Wählen Sie die Gruppe geheimer Schlüssel aus, die Sie dem geheimen Schlüssel zuordnen möchten. Haben Sie noch keine Gruppe geheimer Schlüssel? Im Feld Gruppe geheimer Schlüssel können Sie auf Erstellen klicken, um einen Namen und eine Beschreibung für eine neue Gruppe anzugeben. Ihr geheimer Schlüssel wird automatisch zur neuen Gruppe hinzugefügt. Weitere Informationen zu Gruppen geheimer Schlüssel finden Sie im Abschnitt zum Organisieren Ihrer geheimen Schlüssel.
-
Optional: Fügen Sie Bezeichnungen hinzu, die Ihnen helfen, nach ähnlichen geheimen Schlüsseln in Ihrer Instanz zu suchen.
-
Optional: Fügen Sie Ihrem geheimen Schlüssel oder einer bestimmten Version Ihres geheimen Schlüssels Metadaten hinzu. Laden Sie eine Datei hoch oder geben Sie die Metadaten und die Versionsmetadaten im JSON-Format ein.
-
Klicken Sie auf Weiter.
-
Wählen Sie eine Zertifikatsstellenkonfiguration aus. Die von Ihnen ausgewählte Konfiguration bestimmt die Zertifizierungsstelle, die zum Signieren und Ausstellen des Zertifikats verwendet werden soll. Zum Anzeigen der Konfigurationen, die für Ihre Instanz definiert sind, können Sie Engines für geheime Schlüssel > Öffentliche Zertifikate verwenden.
-
Wählen Sie den Schlüsselalgorithmus aus, der zum Generieren des öffentlichen Schlüssels für Ihr Zertifikat verwendet werden soll. Der von Ihnen ausgewählte Schlüsselalgorithmus bestimmt den Verschlüsselungsalgorithmus (
RSAoderECDSA) und die Schlüsselgröße für die Generierung von Schlüsseln und Signaturzertifikaten. Für länger gültige Zertifikate wird empfohlen, längere Schlüssellängen zu verwenden, um mehr Verschlüsselungsschutz zu bieten. Zu den Optionen gehörenRSA2048,RSA4096,ECDSA256undECDSA384. -
Optional: Aktivieren Sie erweiterte Optionen für das Zertifikat.
-
Um Ihr ausgestelltes Zertifikat mit Zwischenzertifikaten zu bündeln, wählen Sie auf der entsprechenden Umschaltfläche die Einstellung Ein. Nachdem Ihre Zertifikate gebündelt sind, können sie nicht mehr entbündelt werden. Wenn Sie sich dafür entscheiden, die Zertifikate nicht zu bündeln, kann dies im Nachhinein nicht mehr geändert werden, sondern nur durch die Erstellung eines neuen Geheimnisses.
-
Um bei jeder Rotation einen neuen privaten Schlüssel mit dem Zertifikat anzufordern, schalten Sie die Option Re-Key auf Ein.
-
Wählen Sie Manuell als DNS-Provider aus.
-
Fügen Sie die Domänen hinzu, die in Ihre Anforderung eingeschlossen werden sollen.
Sie können bis zu 100 Domänen, Unterdomänen oder Platzhalter einschließen. Der allgemeine Name oder der vollständig qualifizierte Domänenname des Zertifikats darf eine Länge von 64 Zeichen nicht überschreiten. Ein Platzhalterzeichen kann als allgemeiner Name ausgewählt werden.
- Wählen Sie im Abschnitt Allgemeiner Name in Ihrer Liste der Domänen den allgemeinen Namen des Zertifikats aus.
- Klicken Sie auf Weiter.
- Überprüfen Sie die Details Ihres Zertifikats.
- Klicken Sie auf Hinzufügen.
- Überprüfen Sie die Ausstelldetails Ihres Zertifikats, indem Sie auf das Symbol Aktionen
> Details anzeigen klicken.
- Klicken Sie auf Abfragen, um auf den Namen und Wert des TXT-Datensatzes zuzugreifen, die den einzelnen Domänen zugeordnet sind. Sie benötigen sie, um die Herausforderungen zu meistern.
- Um das Eigentumsrecht an Ihren Domänen zu validieren, fügen Sie die für jede Ihrer Domänen bereitgestellten TXT-Datensätze manuell zu Ihrem DNS-Providerkonto hinzu. Sie dürfen nur die Prüffragen bearbeiten, die vor dem Ablaufdatum nicht validiert wurden.
Wenn Sie ein Zertifikat für eine Unterdomäne bestellen, z. B. sub1.sub2.domain.com, müssen Sie die TXT-Datensätze Ihrer registrierten Domäne hinzufügen domain.com.
- Überprüfen Sie, ob die TXT-Datensätze, die Sie Ihren Domänen hinzugefügt haben, weitergegeben werden. Abhängig von Ihrem DNS-Anbieter kann es einige Zeit dauern, bis der Vorgang abgeschlossen ist.
- Nachdem Sie bestätigt haben, dass die Datensätze weitergegeben wurden, klicken Sie auf Validieren, um Let' s Encrypt anzufordern, um die Anforderungen an Ihre Domänen zu validieren und ein öffentliches Zertifikat zu erstellen.
Wenn die Bestellung fehlschlägt, da die TXT-Datensätze nicht erfolgreich weitergegeben wurden, müssen Sie eine neue Bestellung starten, um fortzufahren.
- Wenn Ihr Zertifikat ausgestellt wurde, bereinigen und entfernen Sie die TXT-Datensätze aus den Domänen in Ihrem DNS-Providerkonto.
Öffentliche Zertifikate mit Ihrem eigenen DNS-Provider über die API bestellen
Führen Sie die folgenden Schritte aus, um ein öffentliches Zertifikat mithilfe eines manuellen DNS-Providers zu erstellen.
-
Erstellen Sie eine CA-Konfiguration, indem Sie die unter CA-Konfiguration hinzufügen beschriebenen Schritte ausführen.
-
Erstellen Sie ein neues öffentliches Zertifikat, indem Sie
manualals DNS-Konfiguration angeben.curl -X POST -H "Authorization: Bearer {iam_token}" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d '{ "name": "example-public-certificate", "description": "description of my public certificate", "secret_type": "public_cert", "secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa", "labels": [ "dev", "us-south" ], "common_name": "example.com", "alt_names": [ "s1.example.com", "*.s2.example.com" ], "ca": "lets-encrypt-config", "dns": "manual", "rotation": { "auto_rotate": true, "rotate_keys": true }, "bundle_certs": true, "custom_metadata": { "metadata_custom_key": "metadata_custom_value" }, "version_custom_metadata": { "custom_version_key": "custom_version_value" } }' \ "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"Beispielantwort:
"metadata": { "collection_type": "application/vnd.ibm.secrets-manager.secret+json", "collection_total": 1 }, "resources": [ { "alt_names": [ "domain2", "domain3" ], "common_name": "domain1", "created_by": "User", "creation_date": "2022-09-13T06:21:33Z", "crn": "secret crn", "description": "Description for ordered certificate.", "downloaded": false, "id": "38747ae6-8c69-d745-5276-cdf3157b9021", "issuance_info": { "auto_rotated": false, "bundle_certs": false, "ca": "ca_config_name", "challenges": [ { "domain": "domain1", "expiration": "2022-09-20T06:21:36Z", "status": "pending", "txt_record_name": "_acme-challenge.domain1.", "txt_record_value": "TA6J7fFYrwP3Jg-S_IAQSj2Ydqfw4Ycm4sMwlzuCcxk" }, { "domain": "domain2", "expiration": "2022-09-20T06:21:36Z", "status": "pending", "txt_record_name": "_acme-challenge.domain2.", "txt_record_value": "qSDrCkFAViX4xANKuEPcMNairWm1PUtROm6kp9bmSS0" }, { "domain": "domain3", "expiration": "2022-09-20T06:21:36Z", "status": "pending", "txt_record_name": "_acme-challenge.domain3.", "txt_record_value": "8dcgan91fW6aK3aIhPAVZRkHpbYEoMcCNPpVh1n4tSA" } ], "dns": "manual", "ordered_on": "2022-09-13T06:21:33Z", "state": 0, "state_description": "Pre-activation" }, "key_algorithm": "RSA2048", "labels": [], "last_update_date": "2022-09-13T06:21:33Z", "locks_total": 0, "name": "my-public-certificate", "rotation": { "auto_rotate": false, "rotate_keys": false }, "secret_type": "public_cert", "state": 0, "state_description": "Pre-activation", "versions": [], "versions_total": 1 } ] -
Schließen Sie die als
pendingmarkierten Abfragen ab, bevor sie ablaufen, indem Sie die TXT-Datensätze, die in der Abfrage angegeben sind, zu Ihrer Domäne in Ihrem DNS-Providerkonto hinzufügen, um Ihr Eigentumsrecht an der Domäne zu überprüfen.Wenn Sie ein Zertifikat für Unterdomänen bestellen, z. B.
sub1.sub2.domain.com, müssen Sie die TXT-Datensätze zu Ihrer registrierten Domäne hinzufügendomain.com. -
Überprüfen Sie, ob die hinzugefügten TXT-Datensätze weitergegeben werden. Abhängig von Ihrem DNS-Anbieter kann es einige Zeit dauern, bis der Vorgang abgeschlossen ist.
-
Nachdem die Datensätze weitergegeben wurden, rufen Sie die API Secrets Manager Create a secret action auf, um Let' s Encrypt anzufordern, um die Anforderungen an Ihre Domäne zu validieren und ein öffentliches Zertifikat zu erstellen.
curl -X POST --header "Authorization: Bearer {iam_token}" --header "Accept: application/json" --header "Content-Type: application/json" --data '{ "action_type": "public_cert_action_validate_dns_challenge" }'\ "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/actions"Wenn Sie Ihr Zertifikat später aktualisieren müssen, können Sie die API Create a secret action verwenden, aber mit der Aktion
rotate. Sie können jedoch keine manuellen DNS-Anbieterzertifikate in Secrets Manager automatisch rotieren lassen. -
Wenn Ihr Zertifikat ausgestellt wurde, bereinigen und entfernen Sie die TXT-Datensätze aus den Domänen in Ihrem DNS-Providerkonto.
Möchten Sie die Erstellung Ihrer öffentlichen Zertifikate automatisieren? Wenn Ihre Domänen über einen DNS-Provider konfiguriert sind, können Sie ein Script erstellen, um die Prüffragen auszuführen. Einige DNS-Provider bieten eine API an,
die prüft, ob die neuen Datensätze vollständig übertragen wurden. Wenn Ihr DNS-Anbieter diese Option nicht anbietet, können Sie Ihren Client so konfigurieren, dass er eine bestimmte Zeit wartet, manchmal bis zu einer Stunde. Unter Secrets
Manager können Sie nach dem Aufruf von validate-dns-challenges den Status der Zertifikatsausstellung überprüfen, indem Sie die Metadaten Ihres Zertifikats abrufen. Wenn sich das Feld IssuanceInfo.State, das zurückgegeben
wird, in active ändert, wird das Zertifikat ausgegeben.
Öffentliche Zertifikate mit Ihrem eigenen DNS-Provider über die Befehlszeilenschnittstelle bestellen
Führen Sie den Befehl ibmcloud secrets-manager secret-create aus, um ein öffentliches Zertifikat
mit Ihrem eigenen DNS-Anbieter über das CLI-Plug-in Secrets Manager zu bestellen. Der folgende Befehl fordert beispielsweise einen geheimen Schlüssel für ein öffentliches Zertifikat von der von Ihnen angegebenen Zertifizierungsstelle an.
Wenn Sie ein Zertifikat bestellen, erfolgt die Domänenvalidierung, um das Eigentumsrecht an Ihren ausgewählten Domänen zu überprüfen. Dieser Vorgang kann einige Minuten in Anspruch nehmen.
ibmcloud secrets-manager secret-create \
--secret-name example-public-certificate \
--secret-description "Extended description for this secret." \
--secret-type public_cert \
--secret-group-id bc656587-8fda-4d05-9ad8-b1de1ec7e712 \
--secret-labels dev,us-south \
--public-cert-dns manual \
--certificate-common-name cert_common_name \
--certificate-alt-names alt_name1,alt_name2 \
--public-cert-ca lets-encrypt-config \
--public-cert-key-algorithm RSA2048 \
--secret-rotation '{"enabled": false, "rotate_keys": false}' \
--secret-custom-metadata '{"anyKey": "anyValue"}' \
--secret-version-custom-metadata '{"anyKey": "anyValue"}'
Der Befehl gibt den ID-Wert des geheimen Schlüssels zusammen mit anderen Metadaten aus. Weitere Informationen zu den Befehlsoptionen finden Sie in ibmcloud secrets-manager secret-create.
Öffentliche Zertifikate mit dem Akamai-DNS-Provider mithilfe von Terraform bestellen
Führen Sie die folgenden Schritte aus, um ein öffentliches Zertifikat mit Akamai als DNS-Provider zu erstellen.
-
Erstellen Sie eine CA-Konfiguration, indem Sie die unter CA-Konfiguration hinzufügen beschriebenen Schritte ausführen.
-
Erstellen Sie ein neues öffentliches Zertifikat, indem Sie
akamaials DNS-Konfiguration angeben. -
Verwenden Sie eine der folgenden Authentifizierungsmethoden von Akamai. Sie können eine
edgerc-Datei verwenden oder Ihre Akamai-Authentifizierungsnachweise direkt angeben. Weitere Informationen zu den Authentifizierungsnachweisen von Akamai.-
Geben Sie den Pfad zu Ihrer Datei
.edgercund den entsprechendenconfig_sectionan.resource "ibm_sm_public_certificate" "sm_public_certificate" { instance_id = local.instance_id region = local.region name = "test-public-certificate" secret_group_id = "default" ca = ibm_sm_public_certificate_configuration_ca_lets_encrypt.my_lets_encrypt_config.name dns = “akamai” akamai { edgerc { path_to_edgerc = “/path/to/your/edgerc/file” config_section = “default” } } rotation { auto_rotate = true rotate_keys = false } } ``` -
Geben Sie Ihre Akamai-Authentifizierungsdaten an.
resource "ibm_sm_public_certificate" "sm_public_certificate" { instance_id = local.instance_id region = local.region name = "test-public-certificate" secret_group_id = "default" ca = ibm_sm_public_certificate_configuration_ca_lets_encrypt.my_lets_encrypt_config.name dns = “akamai” akamai { config { client_secret = “your_client_secret” host = “your_host” access_token = "your_access_token" client_token = "your_client_token" } } rotation { auto_rotate = true rotate_keys = false } } ```
-
Die neu erstellten TXT-Einträge, die sich in den relevanten Domains in Akamai befinden, werden nicht automatisch gelöscht.
Öffentliche Zertifikate mit Ihrem eigenen DNS-Provider mithilfe von Terraform bestellen
-
Erstellen Sie eine CA-Konfiguration, indem Sie die unter CA-Konfiguration hinzufügen beschriebenen Schritte ausführen.
-
Erstellen Sie ein neues öffentliches Zertifikat, indem Sie
manualals DNS-Konfiguration angeben.resource "ibm_sm_public_certificate" "sm_public_certificate" { instance_id = local.instance_id region = local.region name = "test-public-certificate" secret_group_id = "default" ca = ibm_sm_public_certificate_configuration_ca_lets_encrypt.my_lets_encrypt_config.name dns = “manual” rotation { auto_rotate = true rotate_keys = false } }Beispielantwort:
{ "alt_names": [ "domain2", "domain3" ], "bundle_certs": false, "ca": "ca_config_name", "common_name": "domain1", "created_by": "User", "creation_date": "2022-09-13T06:21:33Z", "crn": "secret crn", "description": "Description for ordered certificate.", "downloaded": false, "id": "38747ae6-8c69-d745-5276-cdf3157b9021", "issuance_info": { "auto_rotated": false, "challenges": [ { "domain": "domain1", "expiration": "2022-09-20T06:21:36Z", "status": "pending", "txt_record_name": "_acme-challenge.domain1.", "txt_record_value": "TA6J7fFYrwP3Jg-S_IAQSj2Ydqfw4Ycm4sMwlzuCcxk" }, { "domain": "domain2", "expiration": "2022-09-20T06:21:36Z", "status": "pending", "txt_record_name": "_acme-challenge.domain2.", "txt_record_value": "qSDrCkFAViX4xANKuEPcMNairWm1PUtROm6kp9bmSS0" }, { "domain": "domain3", "expiration": "2022-09-20T06:21:36Z", "status": "pending", "txt_record_name": "_acme-challenge.domain3.", "txt_record_value": "8dcgan91fW6aK3aIhPAVZRkHpbYEoMcCNPpVh1n4tSA" } ], "dns": "manual", "ordered_on": "2022-09-13T06:21:33Z", "state": 0, "state_description": "Pre-activation" }, "key_algorithm": "RSA2048", "labels": [], "last_update_date": "2022-09-13T06:21:33Z", "locks_total": 0, "name": "my-public-certificate", "rotation": { "auto_rotate": false, "rotate_keys": false }, "secret_type": "public_cert", "state": 0, "state_description": "Pre-activation", "versions": [], "versions_total": 1 } -
Schließen Sie die als
pendingmarkierten Abfragen ab, bevor sie ablaufen, indem Sie die TXT-Datensätze, die in der Abfrage angegeben sind, zu Ihrer Domäne in Ihrem DNS-Providerkonto hinzufügen, um Ihr Eigentumsrecht an der Domäne zu überprüfen.Wenn Sie ein Zertifikat für Unterdomänen bestellen, z. B.
sub1.sub2.domain.com, müssen Sie die TXT-Datensätze zu Ihrer registrierten Domäne hinzufügendomain.com. -
Überprüfen Sie, ob die hinzugefügten TXT-Datensätze weitergegeben werden. Abhängig von Ihrem DNS-Anbieter kann es einige Zeit dauern, bis der Vorgang abgeschlossen ist.
-
Nachdem die Datensätze weitergegeben wurden, fordern Sie Let' s Encrypt an, um die Anforderungen an Ihre Domäne zu validieren und ein öffentliches Zertifikat zu erstellen.
Sie können dies tun, indem Sie die Terraform
ibm_sm_public_certificate_action_validate_manual_dnsressource, wie im folgenden Beispiel einer Konfiguration gezeigt:resource "ibm_sm_public_certificate_action_validate_manual_dns" "sm_public_certificate_action_validate_manual_dns_instance" { instance_id = local.instance_id region = local.region secret_id = ibm_sm_public_certificate.sm_public_certificate.secret_id }Sie können Metaargument
depends_onvon Terraform verwenden, um sicherzustellen, dass die Terraform-Konfiguration in der richtigen logischen Reihenfolge erstellt wird, wie in diesen Anweisungen gezeigt.
Alternativ können Sie die API Secrets Manager Create a secret action aufrufen, um Let' s Encrypt anzufordern, um die Anforderungen an Ihre Domäne zu validieren und ein öffentliches Zertifikat zu erstellen.
curl -X POST --header "Authorization: Bearer {iam_token}" --header "Accept: application/json" --header "Content-Type: application/json" --data '{ "action_type": "public_cert_action_validate_dns_challenge" }'\ "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/actions" -
Nachdem Ihr Zertifikat ausgestellt wurde (der Status lautet
active), müssen Sie den Terraform-Befehlterraform applyerneut ausführen, um die Terraform-Ressource Ihres öffentlichen Zertifikats zu aktualisieren und Ihr neu ausgestelltes Zertifikat zu verwenden. -
Bereinigen und entfernen Sie die TXT-Datensätze aus den Domänen in Ihrem DNS-Providerkonto.