IBM Cloud Docs
Private SSL/TLS-Zertifikate erstellen

Private SSL/TLS-Zertifikate erstellen

Sie können IBM Cloud® Secrets Manager verwenden, um private SSL/TLS-Zertifikate zu speichern, anzufordern und zu erzeugen, 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 Managersind Zertifikate, die Sie mithilfe einer privaten Zertifizierungsstelle erstellen, private Zertifikate (private_cert). Zertifikate, die Sie in den Service importieren, sind importierte Zertifikate (imported_cert). Zertifikate, die Sie über Secrets Manager von einer unabhängigen Zertifizierungsstelle bestellen, sind öffentliche Zertifikate (public_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 privates Zertifikat erstellen, müssen Sie Folgendes sicherstellen:

Eine Vorlagenauswahl ist erforderlich, wenn Sie ein privates Zertifikat erstellen. Abhängig von der ausgewählten Vorlage gelten möglicherweise einige Einschränkungen für Ihr privates Zertifikat. Um die für Ihre zwischengeschaltete CA definierten Vorlagen anzuzeigen, gehen Sie auf die Seite Secrets engines > Private Zertifikate in der Secrets Manager BENUTZEROBERFLÄCHE. Erweitern Sie die Zeile der Zwischenzertifizierungsstelle, die Sie als ausstellende Behörde für das private Zertifikat verwenden möchten, und klicken Sie auf Vorlagen, um die verfügbaren Vorlagen zu überprüfen.

Private Zertifikate erstellen

Nach dem Engine für private Zertifikate konfigurieren für Ihre Instanz können Sie mit Secrets Manager private Zertifikate unter Verwendung einer internen Zertifizierungsstelle generieren, die zuvor für Ihre Secrets Manager -Serviceinstanz konfiguriert wurde. Bevor ein Zertifikat für Sie ausgestellt werden kann, überprüft Secrets Manager , ob Ihre Zertifikatsanforderung den Einschränkungen entspricht, die für die von Ihnen ausgewählte Zertifikatsvorlage definiert sind. Nachdem ein Zertifikat ausgestellt wurde, können Sie es in Ihren integrierten Apps implementieren, herunterladen, widerrufen oder manuell rotieren.

Private Zertifikate in der Benutzerschnittstelle erstellen

Sie können ein privates Zertifikat über die Secrets Manager -Benutzerschnittstelle erstellen.

  1. Klicken Sie in der Konsole auf das Symbol Menü Menüsymbol > Ressourcenliste.
  2. Wählen Sie in der Liste der Services Ihre Instanz von Secrets Manager aus.
  3. Klicken Sie in der Tabelle Geheime Schlüssel auf Hinzufügen.
  4. Klicken Sie auf die Kachel Privates Zertifikat erstellen.
  5. Klicken Sie auf Weiter.
  6. Fügen Sie einen Namen und eine Beschreibung hinzu, um Ihr Zertifikat leicht zu identifizieren.
  7. Optional: Fügen Sie Bezeichnungen hinzu, die Ihnen helfen, nach ähnlichen geheimen Schlüsseln in Ihrer Instanz zu suchen.
  8. Optional: Fügen Sie Ihrem geheimen Schlüssel oder einer bestimmten Version Ihres geheimen Schlüssels Metadaten hinzu.
    1. Laden Sie eine Datei hoch oder geben Sie die Metadaten und die Versionsmetadaten im JSON-Format ein.
  9. Klicken Sie auf Weiter.
  10. 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 > Private Zertifikate aufrufen.

  1. Wählen Sie eine Zertifikatsvorlage aus.

Die ausgewählte Vorlage bestimmt die Parameter, die auf Ihr generiertes Zertifikat angewendet werden sollen. Zum Anzeigen der Details der Zertifikatsvorlagen, die für Ihre ausgewählte Zertifizierungsstelle definiert sind, können Sie Engines für geheime Schlüssel > Private Zertifikate aufrufen. Erweitern Sie in der Liste der Zertifizierungsstellen die Zeile der Zertifizierungsstelle, die Sie als ausstellende Instanz für Ihr privates Zertifikat verwenden wollen. Klicken Sie dann auf Vorlagen. 12. Optional: Aktivieren Sie die automatische Rotation für das Zertifikat.

Um die automatische Drehung zu aktivieren, schalten Sie den Drehschalter auf An. Wählen Sie ein Intervall und eine Einheit aus, die die Anzahl der Tage zwischen geplanten Rotationen angeben.

Abhängig von der Zertifikatsvorlage, die Sie in den folgenden Schritten auswählen, gelten möglicherweise einige Einschränkungen für das Rotationsintervall für Ihr privates Zertifikat. Das Rotationsintervall darf beispielsweise die Lebensdauer (TTL, Time-to-Live), die in der Vorlage definiert ist, nicht überschreiten. Weitere Informationen finden Sie unter Zertifikatsvorlagen.

  1. Erforderlich: Geben Sie einen gemeinsamen Namen für Ihr Zertifikat an.

Je nach ausgewählter Zertifikatsvorlage gelten möglicherweise einige Einschränkungen für den allgemeinen Namen. Um die Details Ihrer ausgewählten Zertifikatsvorlage anzuzeigen, können Sie Engines für geheime Schlüssel > Private Zertifikate aufrufen. Erweitern Sie in der Liste der Zertifizierungsstellen die Zeile der Zertifizierungsstelle, die Sie als ausstellende Instanz für Ihr privates Zertifikat verwenden wollen. Klicken Sie dann auf Vorlagen. 14. Wählen Sie die geheime GruppeDie Umgebung und die Bedingungen, denen die enthaltenen geheimen Schlüssel in einer Instanz entsprechen müssen. Ein Benutzer kann einer Gruppe geheimer Schlüssel zugeordnet werden, um den Zugriff und die Zusammenarbeit zu ermöglichen. , die Sie dem Zertifikat zuweisen möchten.

Wenn Ihre ausgewählte Zertifikatsvorlage das Hinzufügen von Zertifikaten zu bestimmten Gruppen geheimer Schlüssel zulässt, werden nur die zulässigen Gruppen aufgelistet. Wenn die Vorlage keine Einschränkungen aufweist, können Sie eine Gruppe geheimer Schlüssel erstellen, wenn Sie noch keine haben. Ihr Zertifikat wird automatisch zur neuen Gruppe hinzugefügt. Weitere Informationen zu Gruppen geheimer Schlüssel finden Sie unter Geheime Schlüssel organisieren. 15. Optional: Geben Sie alternative Namen für Ihr Zertifikat an.

Die alternativen Namen können Hostnamen oder E-Mail-Adressen sein. 16. Klicken Sie auf Weiter. 17. Überprüfen Sie die Details Ihres Zertifikats. 18. Klicken Sie auf Hinzufügen.

Private Zertifikate über die Befehlszeilenschnittstelle erstellen

Bevor Sie beginnen, folgen Sie den CLI-Dokumenten, um Ihren API-Endpunkt festzulegen.

Zur Erstellung eines privaten Zertifikats mit dem Secrets Manager CLI-Plugin zu erstellen, führen Sie den Befehl ' ibmcloud secrets-manager secret-create aus. Der folgende Befehl erstellt beispielsweise einen geheimen Schlüssel für ein privates Zertifikat aus der Zertifikatsvorlage, die Sie angeben.

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-prototype=
    '[{
        "name": "example-private-certificate",
        "description": "Extended description for this secret.",
        "secret_group_id": "bc656587-8fda-4d05-9ad8-b1de1ec7e712",
        "labels": [
            "dev","us-south"
        ],
        "certificate_template": "example-certificate-template"
        "common_name": "cert_common_name",
        "rotation": {
            "enabled": false,
            "rotate_keys":false
            },
        "custom_metadata" : {
        "anyKey" : "anyValue"
    },
        "version_custom_metadata" : {
            "anyKey" : "anyValue"
        },
        "expiration_date" : "2030-01-01T00:00:00Z",
        }
    ]

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.

Private Zertifikate mit der API erstellen

Sie können private Zertifikate programmgesteuert durch Aufrufen der Secrets Manager -API generieren.

Das folgende Beispiel zeigt eine Abfrage, mit der Sie ein privates Zertifikat erstellen 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.

curl -X POST
    -H "Authorization: Bearer {iam_token}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d '{
        "name": "example-private-certificate",
        "description": "Description of my private certificate",
        "secret_type": "private_cert",
        "secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
        "labels": [
            "dev",
            "us-south"
        ],
        "certificate_template": "test-certificate-template",
        "common_name": "localhost",
        "alt_names": [
            "alt-name-1",
            "alt-name-2"
        ],
        "ip_sans": "127.0.0.1",
        "uri_sans": "https://www.example.com/test",
        "ttl": "2190h",
        "rotation": {
            "auto_rotate": true,
            "interval": 1,
            "unit": "month"
        },
        "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"

Müssen Sie ein privates Zertifikat mit erweiterten Optionen erstellen? Sie können optionale Anforderungsparameter verwenden, um erweiterte Attribute für Ihr privates Zertifikat anzugeben, z. B. Subject Alternative Names oder eine Lebensdauer (TTL, Time-to-Live). Wenn Sie diese optionalen Parameter übergehen, gelten die Attribute, die für Ihre ausgewählte Zertifikatsvorlage definiert sind. Weitere Informationen finden Sie in der API-Referenz.

Eine erfolgreiche Anforderung gibt den Inhalt Ihres privaten Zertifikats zusammen mit anderen Metadaten zurück, die von der Zertifikatsvorlage und der ausstellenden Zertifizierungsstelle bestimmt werden.

{
  "alt_names": [
    "s1.example.com",
    "*.s2.example.com"
  ],
  "certificate_authority": "test-intermediate-CA",
  "certificate_template": "test-certificate-template",
  "common_name": "example.com",
  "created_at": "2022-10-02T14:08:07Z",
  "created_by": "iam-ServiceId-e4a2f0a4-3c76-4bef-b1f2-fbeae11c0f21",
  "crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/a5ebf2570dcaedf18d7ed78e216c263a:f1bc94a6-64aa-4c55-b00f-f6cd70e4b2ce:secret:cb7a2502-8ede-47d6-b5b6-1b7af6b6f563",
  "custom_metadata": {
    "metadata_custom_key": "metadata_custom_value"
  },
  "description": "Extended description for this secret.",
  "downloaded": true,
  "expiration_date": "2023-03-02T15:08:37Z",
  "id": "cb7a2502-8ede-47d6-b5b6-1b7af6b6f563",
  "issuer": "example.com",
  "key_algorithm": "RSA2048",
  "labels": [
    "dev",
    "us-south"
  ],
  "locks_total": 0,
  "name": "example-private-certificate",
  "next_rotation_date": "2022-03-02T14:08:07Z",
  "rotation": {
    "auto_rotate": false,
    "interval": 1,
    "unit": "month"
  },
  "secret_data": {
    "certificate": "-----BEGIN CERTIFICATE-----\nMIIE3jCCBGSgAwIBAgIUZfTbf3adn87l5J2Q2Aw+6Vk/qhowCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----",
    "issuing_ca": "-----BEGIN CERTIFICATE-----\nMIIE3jCCBGSgAwIBAgIUZfTbf3adn87l5J2Q2Aw+6Vk/qhowCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----",
    "ca_chain": [
      "-----BEGIN CERTIFICATE-----\nMIIE3jCCBGSgAwIBAgIUZfTbf3adn87l5J2Q2Aw+6Vk/qhowCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----"
    ],
    "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAqcRbzV1wp0nVrPtEpMtnWMO6Js1q3rhREZluKZfu0Q8SY4H3\n-----END RSA PRIVATE KEY-----"
  },
  "secret_group_id": "bc656587-8fda-4d05-9ad8-b1de1ec7e712",
  "secret_type": "private_cert",
  "serial_number": "03:e2:c6:e4:0b:7d:30:e2:e2:78:1b:b9:13:fd:f0:fc:89:dd",
  "signing_algorithm": "SHA256-RSA",
  "state": 1,
  "state_description": "active",
  "updated_at": "2022-03-02T14:08:37Z",
  "validity": {
    "not_before": "2022-03-02T15:08:37Z",
    "not_after": "2023-03-01T00:00:00Z"
  },
  "versions_total": 1
}

Private Zertifikate mit Terraform erstellen

Das folgende Beispiel zeigt eine Konfiguration, die Sie zum Erstellen eines privaten Zertifikats verwenden können.

    resource "ibm_sm_private_certificate" "test_private_certificate" {  
        instance_id = local.instance_id
        region = local.region
        name = "test-private-certificate"
        common_name = "my.example.com"
        certificate_template = ibm_sm_private_certificate_configuration_template.test_ca_template.name
        ttl = "90d"
    }

Nachdem ein Zertifikat ausgegeben wurde, können Sie es in Ihren integrierten Apps implementieren, herunterladen oder manuell turnusmäßig wechseln. Weitere Informationen zu den erforderlichen und optionalen Anforderungsparametern finden Sie in der API-Referenz.