Auf dieser Seite wird beschrieben, wie Sie den öffentlichen Schlüssel einer aktivierten asymmetrischen Schlüsselversion abrufen.
Das Format des öffentlichen Schlüssels hängt davon ab, ob es sich um einen Post-Quanten-Computing-Algorithmus (PQC) oder einen herkömmlichen Algorithmus handelt:
Bei Nicht-PQC-Algorithmen ist das Standardformat des öffentlichen Schlüssels das PEM-Format (Privacy-enhanced Electronic Mail). Sie können öffentliche Nicht-PQC-Schlüssel auch im DER-Format (Distinguished Encoding Rules) abrufen. Weitere Informationen finden Sie in RFC 7468, insbesondere in den Abschnitten „General Considerations“ (Allgemeine Überlegungen) und „Textual Encoding of Subject Public Key Info“ (Textcodierung der Informationen zum öffentlichen Schlüssel des Antragstellers).
Bei von NIST standardisierten PQC-Algorithmen (Vorschau) können Sie den öffentlichen Schlüssel im Format abrufen, das in den NIST-PQC-Standards für diesen Algorithmus angegeben ist. Weitere Informationen finden Sie unter FIPS-203, FIPS-204 und FIPS-205. Die Formate PEM und DER werden nur für ML-DSA-Schlüssel unterstützt.
Bei X-Wing können Sie den öffentlichen Schlüssel im Rohbyte-Format abrufen, das im X-Wing-Standard angegeben ist. Die Formate PEM und DER werden für diese Schlüssel nicht unterstützt.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Cloud KMS CryptoKey Public Key Viewer (roles/cloudkms.publicKeyViewer) für Ihren Schlüssel oder eine übergeordnete Ressource zuzuweisen. Diese Rolle enthält die Berechtigungen, die Sie zum Abrufen eines öffentlichen Schlüssels benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Abrufen eines öffentlichen Schlüssels erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um einen öffentlichen Schlüssel abzurufen:
-
cloudkms.cryptoKeyVersions.viewPublicKey -
cloudkms.locations.get -
cloudkms.locations.list -
resourcemanager.projects.get
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Öffentlichen Schlüssel abrufen
Sie können das Format angeben, in dem Sie den öffentlichen Schlüssel abrufen möchten.
Wenn das Format angegeben ist, wird der Schlüssel im angegebenen Format im Feld public_key der Antwort zurückgegeben. Andernfalls wird er im Feld pem der Antwort zurückgegeben.
So laden Sie den öffentlichen Schlüssel für eine aktivierte asymmetrische Schlüsselversion herunter:
Console
Rufen Sie in der Google Cloud Console die Schlüsselverwaltung Seite auf.
Klicken Sie auf den Namen des Schlüsselbunds, der den asymmetrischen Schlüssel enthält, für den Sie den öffentlichen Schlüssel abrufen möchten.
Klicken Sie auf den Namen des Schlüssels, für den Sie den öffentlichen Schlüssel abrufen möchten.
Klicken Sie in der Zeile für die Schlüsselversion, für die Sie den öffentlichen Schlüssel abrufen möchten, auf Mehr anzeigen .
Klicken Sie auf Öffentlichen Schlüssel abrufen.
Der öffentliche Schlüssel wird in der Eingabeaufforderung angezeigt. Sie können den öffentlichen Schlüssel in die Zwischenablage kopieren. Klicken Sie auf Herunterladen, um den öffentlichen Schlüssel herunterzuladen.
Wenn die Option Öffentlichen Schlüssel abrufen nicht angezeigt wird, prüfen Sie Folgendes:
- Der Schlüssel ist ein asymmetrischer Schlüssel.
- Die Schlüsselversion ist aktiviert.
- Sie haben die Berechtigung
cloudkms.cryptoKeyVersions.viewPublicKey.
Der Dateiname eines öffentlichen Schlüssels, der von der Google Cloud Console heruntergeladen wurde, hat das Format:
KEY_RING-KEY_NAME-KEY_VERSION.pub
Die Bestandteile des Dateinamens sind durch einen Bindestrich getrennt, z. B. ringname-keyname-version.pub.
gcloud
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst das Google Cloud CLI installieren oder ein Upgrade auf die neueste Version ausführen.
gcloud kms keys versions get-public-key KEY_VERSION \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--public-key-format PUBLIC_KEY_FORMAT \
--output-file OUTPUT_FILE_PATH
Ersetzen Sie Folgendes:
KEY_VERSION: die Nummer der Schlüsselversion.KEY_NAME: Der Name des Schlüssels.KEY_RING: der Name des Schlüsselbunds, der den Schlüssel enthältLOCATION: der Cloud KMS-Speicherort des Schlüsselbunds.PUBLIC_KEY_FORMAT: das Format, in dem Sie den öffentlichen Schlüssel exportieren möchten. Verwenden Sie für NIST-PQC-Algorithmen (Vorschau)nist-pqcund für X-Wingxwing-raw-bytes. Für alle anderen Schlüssel können Siepem,derverwenden oder diesen Parameter weglassen.OUTPUT_FILE_PATH: der Pfad, unter dem Sie die Datei mit dem öffentlichen Schlüssel speichern möchten, z. B.public-key.pub.
Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help aus.
C#
Um diesen Code auszuführen, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Cloud KMS C# SDK installieren.
Go
Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Cloud KMS Go SDK installieren.
Java
Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Cloud KMS Java SDK installieren.
Node.js
Um diesen Code auszuführen, richten Sie zuerst eine Node.js-Entwicklungsumgebung ein und installieren Sie das Cloud KMS Node.js SDK.
PHP
Um diesen Code auszuführen, müssen Sie zuerst mehr über die Verwendung von PHP in Google Cloud und die Installation des Cloud KMS PHP SDK erfahren.
Python
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Cloud KMS Python SDK installieren.
Ruby
Um diesen Code auszuführen, müssen Sie zuerst eine Ruby-Entwicklungsumgebung einrichten und das Cloud KMS Ruby SDK installieren.
API
In diesen Beispielen wird curl als HTTP-Client verwendet, um die Verwendung der API zu demonstrieren. Weitere Informationen zur Zugriffssteuerung finden Sie unter Auf die Cloud KMS API zugreifen.
Sie können den öffentlichen Schlüssel mithilfe der CryptoKeyVersions.getPublicKey Methode abrufen.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION/publicKey?public_key_format=PUBLIC_KEY_FORMAT" \
--request "GET" \
--header "authorization: Bearer TOKEN"
Ersetzen Sie Folgendes:
PROJECT_ID: die ID des Projekts, das den Schlüsselbund enthält.LOCATION: der Cloud KMS-Speicherort des Schlüsselbunds.KEY_RING: der Name des Schlüsselbunds, der den Schlüssel enthältKEY_NAME: Der Name des Schlüssels.KEY_VERSION: die Nummer der Schlüsselversion.PUBLIC_KEY_FORMAT: das Format, in dem Sie den öffentlichen Schlüssel exportieren möchten. Verwenden Sie für PQC-Algorithmen (Vorschau)NIST_PQC. Für alle anderen Schlüssel können SiePEMverwenden oder diesen Parameter weglassen.
Wenn das Format des öffentlichen Schlüssels für einen Nicht-PQC-Schlüssel weggelassen wird, sieht die Ausgabe so aus:
{ "pem": "-----BEGIN PUBLIC KEY-----\nQ29uZ3JhdHVsYXRpb25zLCB5b3UndmUgZGlzY292ZX JlZCB0aGF0IHRoaXMgaXNuJ3QgYWN0dWFsbHkgYSBwdWJsaWMga2V5ISBIYXZlIGEgbmlj ZSBkYXkgOik=\n-----END PUBLIC KEY-----\n", "algorithm": "ALGORITHM", "pemCrc32c": "2561089887", "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/ KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/ KEY_VERSION", "protectionLevel": "PROTECTION_LEVEL" }
Bei einem PQC-Algorithmus mit dem Format des öffentlichen Schlüssels NIST_PQC sieht die Ausgabe so aus:
{ "publicKeyFormat": "NIST_PQC", "publicKey": { "crc32cChecksum": "1985843562", "data": "kdcOIrFCC5kN8S4i0+R+AoSc9gYIJ9jEQ6zG235ZmCQ=" } "algorithm": "ALGORITHM", "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/ KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/ KEY_VERSION", "protectionLevel": "PROTECTION_LEVEL" }