Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bringen Sie Ihre eigene Zertifizierungsstelle (BYOCA) mit
Wenn ein Public-Key-Zertifikat für asymmetrische (RSA, ECC) Schlüssel benötigt wird, die innerhalb des Dienstes erstellt wurden, werden diese Zertifikate standardmäßig von einer Zertifizierungsstelle (CA) für AWS Zahlungskryptografie und Kontoinformationen ausgestellt. Dies soll die Verwendung vereinfachen, X.509 ohne eine CA identifizieren oder einrichten oder Certificate Signing Requests (CSR) verwalten zu müssen.
AWS Payment Cryptography bietet auch die Möglichkeit, Ihre eigene CA zu verwenden, wenn dies aus politischen oder Compliance-Gründen erforderlich ist.
-Übersicht
Mit BYOCA können Sie Ihre eigene CA für RSA Unwrap TR-34 import/export - und ECDH-Schlüsselübertragungen verwenden. Verwenden Sie BYOCA, wenn Sie eine konsistente Zertifikatskette in Ihrem Unternehmen benötigen oder wenn Partner bestimmte CA-Zertifikate benötigen. Die folgenden Beispiele zeigen den BYOCA-Workflow für TR-34 Schlüsselexport und Schlüsselimport. TR-34
Es gibt drei wesentliche Unterschiede zum TR-34 Standardablauf:
-
Sie erstellen den RSA-Schlüssel mit CreateKey. Vorher,
GetParametersForExportoderGetParametersForImporthat ihn für Sie erstellt. -
Die GetCertificateSigningRequest API erstellt eine CSR. Ihre externe CA kann es dann signieren.
-
Die ExportKey und ImportKey APIs akzeptieren ein Zertifikat zum Zeitpunkt des Anrufs. Das Token ist jetzt optional.
Wichtige Überlegungen
-
In diesen Beispielen werden RSA-2048 Schlüssel verwendet und ein TDES-2KEY Schlüssel wird umschlossen. Stellen Sie beim Exportieren sicher AES-128, dass alle Schlüssel RSA-3072 oder sind RSA-4096.
-
Der häufigste Fehler ist, dass die durch
SigningKeyIdentifierund dargestellten SchlüsselSigningKeyCertificatenicht übereinstimmen.
BYOCA Export-Arbeitsablauf
Die folgenden Schritte veranschaulichen den vollständigen BYOCA-Workflow für den Export. TR-34
Schritte
Schritt 1: RSA-Schlüssel erstellen
Erstellen Sie zunächst ein RSA-Schlüsselpaar, das letztendlich das KDH-Signaturzertifikat sein wird. Sie können Tags hinzufügen, um den Zweck des Schlüssels zu identifizieren.
Beispiel Erstellen Sie einen RSA-Schlüssel zum Signieren
$aws payment-cryptography create-key --exportable \ --key-attributes KeyAlgorithm=RSA_2048,KeyUsage=TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE,KeyClass=ASYMMETRIC_KEY_PAIR,KeyModesOfUse='{Sign=True}'
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-1:111122223333:key/xgmq6fs6uow736uc", "KeyAttributes": { "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "KeyClass": "ASYMMETRIC_KEY_PAIR", "KeyAlgorithm": "RSA_2048", "KeyModesOfUse": { "Sign": true } }, "KeyCheckValue": "41E3723C", "KeyCheckValueAlgorithm": "SHA_1", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY" } }
Notieren Sie sich den, KeyArn da Sie ihn im nächsten Schritt benötigen.
Schritt 2: Generieren Sie eine Anfrage zur Zertifikatsignierung
Generieren Sie mithilfe der GetCertificateSigningRequest API eine Zertifikatsignieranforderung (CSR), die von Ihrer externen CA signiert werden soll. Die Ausgabe ist eine Base64-kodierte PEM-Datei. Wenn Sie den Inhalt mit Base64 dekodieren und speichern, haben Sie eine gültige CSR im PEM-Format.
Beispiel Generieren Sie CSR
$aws payment-cryptography-data get-certificate-signing-request \ --key-identifier arn:aws:payment-cryptography:us-east-1:111122223333:key/xgmq6fs6uow736uc \ --signing-algorithm SHA512 \ --certificate-subject '{ "CommonName": "MyCertificateAWSUSEAST", "Organization": "Amazon", "OrganizationUnit": "PaymentCryptography", "Country": "US", "StateOrProvince": "Virginia", "City": "Arlington" }'
{ "CertificateSigningRequest": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0..." }
Das CertificateSigningRequest Feld enthält die gesamte PEM-Datei, base64-kodiert. Die PEM-Datei enthält die Markierungen und. -----BEGIN CERTIFICATE REQUEST----- -----END CERTIFICATE REQUEST----- Senden Sie diesen Wert zur Unterzeichnung an Ihre CA.
Schritt 3: CSR überprüfen (optional)
Sie können optional OpenSSL verwenden, um den CSR-Inhalt zu überprüfen und sicherzustellen, dass er gültig ist und den Erwartungen entspricht.
BeispielÜberprüfen Sie CSR mit OpenSSL
$echo "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0..." | base64 -d | openssl req -text
Schritt 4: Signieren Sie den CSR bei einer Zertifizierungsstelle
Nachdem Sie den CSR generiert haben, müssen Sie ihn von einer Zertifizierungsstelle (CA) signieren lassen. In Produktionsumgebungen verwenden AWS Private CA Sie in der Regel die etablierte CA-Infrastruktur Ihres Unternehmens. Zu Testzwecken können Sie OpenSSL verwenden, um ein selbstsigniertes Zertifikat zu erstellen.
Verwenden AWS Private CA
Um den CSR mit zu signieren AWS Private CA, dekodieren Sie zuerst den Base64-kodierten CSR und speichern Sie ihn in einer Datei. Verwenden Sie dann die API. IssueCertificate
Beispiel Signieren Sie CSR mit AWS Private CA
$echo "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0..." | base64 -d > csr.pem$aws acm-pca issue-certificate \ --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012 \ --csr fileb://csr.pem \ --signing-algorithm SHA256WITHRSA \ --validity Value=365,Type=DAYS
{ "CertificateArn": "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/abcdef1234567890" }
Rufen Sie dann das signierte Zertifikat ab:
Beispiel Signiertes Zertifikat abrufen
$aws acm-pca get-certificate \ --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012 \ --certificate-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/abcdef1234567890
{ "Certificate": "-----BEGIN CERTIFICATE-----\nMIID...\n-----END CERTIFICATE-----", "CertificateChain": "-----BEGIN CERTIFICATE-----\nMIID...\n-----END CERTIFICATE-----" }
Speichern Sie den Zertifikatsinhalt zur Verwendung im Exportschritt. Sie müssen es Base64-kodieren, wenn Sie es der API zur Verfügung stellen. ExportKey
Verwenden von OpenSSL zum Testen
Zu Testzwecken können Sie OpenSSL verwenden, um eine selbstsignierte CA zu erstellen und die CSR zu signieren. Erstellen Sie zunächst einen privaten CA-Schlüssel und ein selbstsigniertes Zertifikat:
Beispiel Erstellen Sie eine Test-CA mit OpenSSL
$# Generate CA private key openssl genrsa -out ca-key.pem 4096$# Create self-signed CA certificate openssl req -new -x509 -days 3650 -key ca-key.pem -out ca-cert.pem \ -subj "/C=US/ST=Virginia/L=Arlington/O=TestOrg/CN=Test CA"
Dekodieren Sie dann den CSR aus dem vorherigen Schritt und signieren Sie ihn mit Ihrer Test-CA:
Beispiel Signieren Sie CSR mit OpenSSL
$# Decode the base64-encoded CSR echo "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0..." | base64 -d > csr.pem$# Sign the CSR with the CA openssl x509 -req -in csr.pem -CA ca-cert.pem -CAkey ca-key.pem \ -CAcreateserial -out signed-cert.pem -days 365 -sha512
Certificate request self-signature ok subject=C=US, ST=Virginia, L=Arlington, O=Amazon, OU=PaymentCryptography, CN=MyCertificateAWSUSEAST
Das signierte Zertifikat ist jetzt da. signed-cert.pem Sie müssen dieses Zertifikat base64-kodieren, wenn Sie es der API zur Verfügung stellen: ExportKey
Beispiel Base64 Codieren Sie das signierte Zertifikat
$cat signed-cert.pem | base64 -w 0
Schritt 5: CA-Zertifikat importieren
Jede verwendete CA muss zuerst als vertrauenswürdig eingestuft werden, um zu verhindern, dass willkürliche Zertifikate verwendet werden. Importieren Sie das Stammzertifikat Ihrer externen CA mithilfe der ImportKey API. Wenn Sie eine Zwischenzertifizierungsstelle verwenden, rufen Sie import-key erneut auf, geben Sie jedoch TrustedPublicKey anstelle von an RootCertificatePublicKey und geben Sie den ARN der Stammzertifizierungsstelle an.
Beispiel Root-CA-Zertifikat importieren
$aws payment-cryptography import-key --key-material='{ "RootCertificatePublicKey": { "KeyAttributes": { "KeyAlgorithm": "RSA_4096", "KeyClass": "PUBLIC_KEY", "KeyModesOfUse": { "Verify": true }, "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" }, "PublicKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t..." } }'
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-1:111122223333:key/xivpaqy7qbbm7cdw", "KeyAttributes": { "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "KeyClass": "PUBLIC_KEY", "KeyAlgorithm": "RSA_4096", "KeyModesOfUse": { "Verify": true } }, "Enabled": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "EXTERNAL" } }
Notieren Sie sich die Zertifizierungsstellen, KeyArn die Sie im Exportschritt verwenden können.
Schritt 6: Holen Sie sich das KRD-Verschlüsselungszertifikat
In diesem Beispiel importieren wir zurück in AWS Payment Cryptography, also rufen wir den Dienst auf, um mithilfe der API ein KRD-Zertifikat für öffentliche Schlüssel zu erhalten. GetParametersForImport In einem realen Szenario würde dies vom anderen System bereitgestellt werden, z. B. von einem HSM, einem Geldautomaten, einem Zahlungsterminal oder einem Zahlungsterminal-Managementsystem.
Beispiel Parameter für den Import abrufen
$aws payment-cryptography-data get-parameters-for-import \ --key-material-type "TR34_KEY_BLOCK" \ --wrapping-key-algorithm RSA_2048
{ "WrappingKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t...", "WrappingKeyCertificateChain": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t...", "WrappingKeyAlgorithm": "RSA_2048", "ImportToken": "import-token-v2rxpl6drxeptn7w", "ParametersValidUntilTimestamp": "2025-11-01T18:45:31.271000-07:00" }
Schritt 7: Schlüssel mit BYOCA exportieren
Exportieren Sie den Schlüssel abschließend TR-34 mit Ihrem eigenen CA-signed Zertifikat mithilfe der ExportKey API. Geben Sie das Signaturzertifikat an, das von Ihrer externen CA signiert wurde.
Beispiel TR-34 Exportieren Sie mit BYOCA
$aws payment-cryptography-data export-key \ --export-key-identifier arn:aws:payment-cryptography:us-east-1:111122223333:key/iox73p5f4c4yjiod \ --key-material '{ "Tr34KeyBlock": { "CertificateAuthorityPublicKeyIdentifier": "arn:aws:payment-cryptography:us-east-1:111122223333:key/j625deyfqlwctu57", "SigningKeyIdentifier": "arn:aws:payment-cryptography:us-east-1:111122223333:key/xgmq6fs6uow736uc", "SigningKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t...", "KeyBlockFormat": "X9_TR34_2012", "WrappingKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t..." } }'
{ "WrappedKey": { "WrappedKeyMaterialFormat": "TR34_KEY_BLOCK", "KeyMaterial": "3082055A06092A864886F70D010702A082054B30820547...", "KeyCheckValue": "3DCA31", "KeyCheckValueAlgorithm": "ANSI_X9_24" } }
Der exportierte Schlüsselblock kann jetzt vom Empfangssystem mithilfe des TR-34 Standard-Importprozesses importiert werden.
BYOCA Import-Arbeitsablauf
Die folgenden Schritte führen Sie durch den BYOCA-Workflow für den Schlüsselimport. TR-34 Verwenden Sie diesen Workflow, um einen Schlüssel für AWS Payment Cryptography mit Ihrem eigenen CA-signed KRD-Verschlüsselungszertifikat (Key Receiving Device) zu erhalten. Beim BYOCA-Import kontrollieren Sie die Vertrauenskette, indem Sie eine CA verwenden, die Sie bereits verwalten.
Schritte
Schritt 1: RSA-Schlüssel erstellen
Erstellen Sie ein RSA-Schlüsselpaar, das als KRD-Verschlüsselungsschlüssel verwendet werden soll. Dieser Schlüssel entpackt und entschlüsselt den eingehenden Schlüssel beim Import. TR-34 Der Schlüssel kann nicht exportiert werden, da er als Empfangsschlüssel im Dienst verbleibt.
Beispiel Erstellen Sie den KRD-Verschlüsselungsschlüssel
$aws payment-cryptography create-key \ --key-attributes KeyAlgorithm=RSA_2048,KeyUsage=TR31_K2_TR34_ASYMMETRIC_KEY,KeyClass=ASYMMETRIC_KEY_PAIR,KeyModesOfUse='{Unwrap=True,Decrypt=True}'
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-1:111122223333:key/bm7t4qv8hzk24jce", "KeyAttributes": { "KeyUsage": "TR31_K2_TR34_ASYMMETRIC_KEY", "KeyClass": "ASYMMETRIC_KEY_PAIR", "KeyAlgorithm": "RSA_2048", "KeyModesOfUse": { "Unwrap": true, "Decrypt": true } }, "KeyCheckValue": "7FA29C1E", "KeyCheckValueAlgorithm": "SHA_1", "Enabled": true, "Exportable": false, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY" } }
Notieren Sie sich den KeyArn-Wert. Sie benötigen ihn im nächsten Schritt.
Schritt 2: Generieren Sie eine Anfrage zur Zertifikatsignierung
Generieren Sie mithilfe der API eine Zertifikatsignieranforderung (CSR) für den KRD-Verschlüsselungsschlüssel. GetCertificateSigningRequest Die Ausgabe ist eine Base64-kodierte PEM-Datei. Wenn Sie den Inhalt mit Base64 dekodieren und speichern, haben Sie eine gültige CSR im PEM-Format.
Beispiel Generieren Sie CSR für den KRD-Schlüssel
$aws payment-cryptography-data get-certificate-signing-request \ --key-identifier arn:aws:payment-cryptography:us-east-1:111122223333:key/bm7t4qv8hzk24jce \ --signing-algorithm SHA512 \ --certificate-subject '{ "CommonName": "MyImportKRDCertAWSUSEAST", "Organization": "Amazon", "OrganizationUnit": "PaymentCryptography", "Country": "US", "StateOrProvince": "Virginia", "City": "Arlington" }'
{ "CertificateSigningRequest": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0..." }
Das CertificateSigningRequest Feld enthält die gesamte PEM-Datei, base64-kodiert. Die PEM-Datei enthält die Markierungen und. -----BEGIN CERTIFICATE REQUEST----- -----END CERTIFICATE REQUEST----- Senden Sie diesen Wert zur Unterzeichnung an Ihre CA.
Schritt 3: CSR überprüfen (optional)
Sie können optional OpenSSL verwenden, um den CSR-Inhalt zu überprüfen und sicherzustellen, dass er gültig ist und den Erwartungen entspricht.
BeispielÜberprüfen Sie CSR mit OpenSSL
$echo "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0..." | base64 -d | openssl req -text
Schritt 4: Signieren Sie den CSR bei einer Zertifizierungsstelle
Nachdem Sie die CSR generiert haben, lassen Sie sie von einer Zertifizierungsstelle (CA) signieren. In Produktionsumgebungen verwenden AWS Private CA Sie in der Regel die etablierte CA-Infrastruktur Ihres Unternehmens. Zu Testzwecken können Sie OpenSSL verwenden, um ein selbstsigniertes Zertifikat zu erstellen.
Verwenden AWS Private CA
Um den CSR mit zu signieren AWS Private CA, dekodieren Sie zuerst den Base64-kodierten CSR und speichern Sie ihn in einer Datei. Verwenden Sie dann die API. IssueCertificate
Beispiel Signieren Sie CSR mit AWS Private CA
$echo "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0..." | base64 -d > krd-csr.pem$aws acm-pca issue-certificate \ --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012 \ --csr fileb://krd-csr.pem \ --signing-algorithm SHA256WITHRSA \ --validity Value=365,Type=DAYS
{ "CertificateArn": "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/fedcba0987654321" }
Rufen Sie dann das signierte Zertifikat ab:
Beispiel Signiertes Zertifikat abrufen
$aws acm-pca get-certificate \ --certificate-authority-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012 \ --certificate-arn arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/fedcba0987654321
{ "Certificate": "-----BEGIN CERTIFICATE-----\nMIID...\n-----END CERTIFICATE-----", "CertificateChain": "-----BEGIN CERTIFICATE-----\nMIID...\n-----END CERTIFICATE-----" }
Speichern Sie den Zertifikatsinhalt zur Verwendung im Importschritt. Base64-encode das Zertifikat, bevor Sie es der ImportKey API zur Verfügung stellen.
OpenSSL zum Testen verwenden
Zu Testzwecken können Sie OpenSSL verwenden, um eine selbstsignierte CA zu erstellen und die CSR zu signieren. Erstellen Sie zunächst einen privaten CA-Schlüssel und ein selbstsigniertes Zertifikat:
Beispiel Erstellen Sie eine Test-CA mit OpenSSL
$# Generate CA private key openssl genrsa -out ca-key.pem 4096$# Create self-signed CA certificate openssl req -new -x509 -days 3650 -key ca-key.pem -out ca-cert.pem \ -subj "/C=US/ST=Virginia/L=Arlington/O=TestOrg/CN=Test CA"
Dekodieren Sie dann den CSR aus dem vorherigen Schritt und signieren Sie ihn mit Ihrer Test-CA:
Beispiel Signieren Sie CSR mit OpenSSL
$# Decode the base64-encoded CSR echo "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0..." | base64 -d > krd-csr.pem$# Sign the CSR with the CA openssl x509 -req -in krd-csr.pem -CA ca-cert.pem -CAkey ca-key.pem \ -CAcreateserial -out krd-signed-cert.pem -days 365 -sha512
Certificate request self-signature ok subject=C=US, ST=Virginia, L=Arlington, O=Amazon, OU=PaymentCryptography, CN=MyImportKRDCertAWSUSEAST
Das signierte Zertifikat ist jetzt da. krd-signed-cert.pem Base64-encode dieses Zertifikat, bevor Sie es der ImportKey API zur Verfügung stellen:
Beispiel Base64 Codieren Sie das signierte Zertifikat
$cat krd-signed-cert.pem | base64 -w 0
Schritt 5: CA-Zertifikat importieren
Bevor Sie eine CA verwenden, müssen Sie ihr zuerst vertrauen. Importieren Sie das Stammzertifikat Ihrer externen CA mithilfe der ImportKey API. Wenn Sie eine Zwischenzertifizierungsstelle verwenden, rufen Sie import-key erneut auf, geben Sie jedoch TrustedPublicKey anstelle von an RootCertificatePublicKey und geben Sie den ARN der Stammzertifizierungsstelle an.
Beispiel Root-CA-Zertifikat importieren
$aws payment-cryptography import-key --key-material='{ "RootCertificatePublicKey": { "KeyAttributes": { "KeyAlgorithm": "RSA_4096", "KeyClass": "PUBLIC_KEY", "KeyModesOfUse": { "Verify": true }, "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" }, "PublicKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t..." } }'
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-1:111122223333:key/nqr3c5v2wp6yl8az", "KeyAttributes": { "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE", "KeyClass": "PUBLIC_KEY", "KeyAlgorithm": "RSA_4096", "KeyModesOfUse": { "Verify": true } }, "Enabled": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "EXTERNAL" } }
Notieren Sie sich die KeyArn Zertifizierungsstellen, die im Importschritt verwendet werden sollen.
Schritt 6: Holen Sie sich das KDH-Signaturzertifikat vom sendenden System
Bei einem TR-34 Schlüsselaustausch stellt die sendende Seite (Key Distribution Host oder KDH) ihr Public-Key-Zertifikat zum Signieren bereit. Dieses Zertifikat wird verwendet, um die Signatur auf dem verpackten Schlüsselblock während des Imports zu überprüfen und sicherzustellen, dass das Schlüsselmaterial von einem vertrauenswürdigen Absender stammt. Bei der Produktion wird dieses Zertifikat in der Regel vom sendenden System — wie einem HSM, einem Zahlungsterminal oder einem Schlüsselverwaltungssystem — über einen eigenen Prozess zur Zertifikatsverteilung bereitgestellt.
In diesem Beispiel verwenden Sie AWS Payment Cryptography sowohl als Absender als auch als Empfänger, um die Schritte kurz zu halten. Rufen Sie GetParametersForExport an, um das KDH-Signaturzertifikat zu erhalten, das normalerweise vom sendenden System bereitgestellt wird.
Beispiel Parameter für den Export abrufen
$aws payment-cryptography-data get-parameters-for-export \ --key-material-type "TR34_KEY_BLOCK" \ --signing-key-algorithm RSA_2048
{ "ExportToken": "export-token-k8sfhe2w9rjy4bx6", "SigningKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t...", "SigningKeyCertificateChain": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t...", "SigningKeyAlgorithm": "RSA_2048", "ParametersValidUntilTimestamp": "2025-11-01T18:45:31.271000-07:00" }
Beachten Sie das ExportToken und SigningKeyCertificate für die Verwendung im Importschritt.
Schritt 7: Schlüssel mit BYOCA importieren
Importieren Sie abschließend den Schlüssel TR-34 mithilfe Ihres eigenen CA-signed Zertifikats mithilfe der ImportKey API. Stellen Sie das KRD-Verschlüsselungszertifikat bereit, das von Ihrer externen CA signiert wurde.
Der RandomNonce Parameter ist erforderlich, wenn Sie TR-34 2-Pass verwenden. Der Service generiert keine Nonce für Sie — es ist ein zufälliger Hex-Wert, den Sie generieren, und er muss sowohl auf der Sende- als auch auf der Empfangsseite identisch sein. Wenn Sie 1-Pass verwenden TR-34 (das auf einem Zeitstempel statt einer Nonce basiert), darf der Zeitstempel nicht in der Zukunft liegen. Der Service validiert keine bestimmte Aktualität (z. B. innerhalb einer bestimmten Anzahl von Stunden), aber Sie können bei Bedarf Frischeprüfungen auf Ihrer Seite erzwingen.
Beispiel TR-34 Import mit BYOCA
$aws payment-cryptography import-key --key-material='{ "Tr34KeyBlock": { "CertificateAuthorityPublicKeyIdentifier": "arn:aws:payment-cryptography:us-east-1:111122223333:key/nqr3c5v2wp6yl8az", "KeyBlockFormat": "X9_TR34_2012", "RandomNonce": "4997FBB4587D571F", "SigningKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t...", "WrappingKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t...", "WrappingKeyIdentifier": "arn:aws:payment-cryptography:us-east-1:111122223333:key/bm7t4qv8hzk24jce", "WrappedKeyBlock": "D0112B0AX00E0000B82679114F470F540165EDFBF407..." } }'
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-1:111122223333:key/gwz7u3rfxd4o52sb", "KeyAttributes": { "KeyUsage": "TR31_K0_KEY_ENCRYPTION_KEY", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "TDES_2KEY", "KeyModesOfUse": { "Encrypt": true, "Decrypt": true } }, "KeyCheckValue": "3DCA31", "KeyCheckValueAlgorithm": "ANSI_X9_24", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "EXTERNAL" } }
Der Schlüssel ist jetzt in AWS Payment Cryptography importiert und einsatzbereit. Das KeyOrigin Feld zeigt anEXTERNAL, dass der Schlüssel von außerhalb des Dienstes stammt.
Weitere Hinweise
-
Diese Beispiele werden mithilfe der AWS-CLI gezeigt. Dieselbe Funktionalität ist in allen AWS-SDKs verfügbar, einschließlich Java, Python, Go und Rust.
-
Wenn Sie mit einer selbstsignierten CA testen, können Sie OpenSSL verwenden, um eine Test-CA zu erstellen und die CSR zu signieren. Verwenden Sie in der Produktion die etablierte CA-Infrastruktur Ihres Unternehmens.