View a markdown version of this page

Bawa Otoritas Sertifikat Anda Sendiri (BYOCA) - AWS Kriptografi Pembayaran

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bawa Otoritas Sertifikat Anda Sendiri (BYOCA)

Secara default, ketika sertifikat kunci publik diperlukan untuk kunci asimetris (RSA, ECC) yang dibuat dalam layanan, sertifikat ini dikeluarkan oleh Kriptografi AWS Pembayaran dan otoritas sertifikat unik akun (CA). Ini dimaksudkan untuk membuatnya mudah digunakan X.509 tanpa beban mengidentifikasi atau menyiapkan CA atau mengelola Permintaan Penandatanganan Sertifikat (CSR).

AWS Kriptografi Pembayaran juga menyediakan kemampuan untuk menggunakan CA Anda sendiri ketika diperlukan untuk alasan kebijakan atau kepatuhan.

Gambaran umum

Dengan BYOCA, Anda dapat menggunakan CA Anda sendiri untuk TR-34 import/export, RSA Unwrap, dan transfer kunci ECDH. Gunakan BYOCA saat Anda memerlukan rantai sertifikat yang konsisten di seluruh organisasi Anda atau ketika mitra memerlukan sertifikat CA tertentu. Contoh berikut menunjukkan alur kerja BYOCA untuk ekspor TR-34 kunci dan impor TR-34 kunci.

Ada tiga perbedaan utama dari TR-34 aliran standar:

  1. Anda membuat kunci RSA dengan CreateKey. Sebelumnya, GetParametersForExport atau GetParametersForImport membuatnya untuk Anda.

  2. GetCertificateSigningRequestAPI membuat CSR. CA eksternal Anda kemudian dapat menandatanganinya.

  3. ImportKeyAPI ExportKey dan menerima sertifikat pada waktu panggilan. Token sekarang opsional.

Pertimbangan Penting
  • Contoh-contoh ini menggunakan RSA-2048 kunci dan membungkus TDES-2KEY kunci. Saat mengekspor AES-128, pastikan semua kunci adalah RSA-3072 atau RSA-4096.

  • Kesalahan yang paling umum adalah bahwa kunci diwakili oleh SigningKeyIdentifier dan SigningKeyCertificate tidak cocok.

Alur Kerja Ekspor BYOCA

Langkah-langkah berikut menunjukkan alur kerja BYOCA lengkap untuk TR-34 ekspor.

Langkah 1: Buat Kunci RSA

Pertama, buat Pasangan Kunci RSA yang pada akhirnya akan menjadi Sertifikat Penandatanganan KDH. Anda dapat menambahkan tag untuk mengidentifikasi tujuan kunci.

contoh Buat Kunci RSA untuk Penandatanganan
$ 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" } }

Catat KeyArn karena Anda akan membutuhkannya di langkah berikutnya.

Langkah 2: Hasilkan Permintaan Penandatanganan Sertifikat

Buat Permintaan Penandatanganan Sertifikat (CSR) untuk ditandatangani oleh CA eksternal Anda menggunakan GetCertificateSigningRequest API. Outputnya adalah file PEM yang dikodekan base64. Jika base64 memecahkan kode konten dan menyimpannya, Anda akan memiliki CSR yang valid dalam format PEM.

contoh Menghasilkan 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..." }

Bid CertificateSigningRequest ang berisi seluruh file PEM, dikodekan base64. File PEM menyertakan pen -----END CERTIFICATE REQUEST----- anda -----BEGIN CERTIFICATE REQUEST----- dan. Kirim nilai ini ke CA Anda untuk ditandatangani.

Langkah 3: Tinjau CSR (Opsional)

Anda dapat menggunakan OpenSSL secara opsional untuk meninjau konten CSR dan memastikannya valid dan seperti yang diharapkan.

contoh Tinjau CSR dengan OpenSSL
$ echo "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0..." | base64 -d | openssl req -text

Langkah 4: Tanda tangani CSR dengan Otoritas Sertifikat

Setelah membuat CSR, Anda harus menandatanganinya oleh Otoritas Sertifikat (CA). Dalam lingkungan produksi, Anda biasanya akan menggunakan AWS Private CA atau infrastruktur CA organisasi Anda yang sudah mapan. Untuk tujuan pengujian, Anda dapat menggunakan OpenSSL untuk membuat sertifikat yang ditandatangani sendiri.

Penggunaan AWS Private CA

Untuk menandatangani CSR menggunakan AWS Private CA, pertama-tama decode CSR yang dikodekan base64 dan menyimpannya ke file, lalu gunakan API. IssueCertificate

contoh Tanda tangani CSR dengan 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" }

Kemudian ambil sertifikat yang ditandatangani:

contoh Ambil Sertifikat yang Ditandatangani
$ 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-----" }

Simpan konten sertifikat untuk digunakan pada langkah ekspor. Anda harus mengkodekannya base64 saat menyediakannya ke API. ExportKey

Menggunakan OpenSSL untuk Pengujian

Untuk tujuan pengujian, Anda dapat menggunakan OpenSSL untuk membuat CA yang ditandatangani sendiri dan menandatangani CSR. Pertama, buat kunci pribadi CA dan sertifikat yang ditandatangani sendiri:

contoh Buat CA Uji dengan 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"

Kemudian dekode CSR dari langkah sebelumnya dan tandatangani dengan CA uji Anda:

contoh Menandatangani CSR dengan 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

Sertifikat yang ditandatangani sekarang sudah masuksigned-cert.pem. Anda harus mengkodekan sertifikat ini base64 saat memberikannya ke API: ExportKey

contoh Base64 Mengkodekan Sertifikat yang Ditandatangani
$ cat signed-cert.pem | base64 -w 0

Langkah 5: Impor Sertifikat CA

Setiap CA yang digunakan harus dipercaya terlebih dahulu untuk mencegah penggunaan sertifikat sewenang-wenang. Impor sertifikat root CA eksternal Anda menggunakan ImportKey API. Jika menggunakan CA perantara, panggil import-key lagi tetapi tentukan al TrustedPublicKey ih-alih RootCertificatePublicKey dan tentukan CA ARN root.

contoh Impor Sertifikat CA Root
$ 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" } }

Catat CA KeyArn untuk digunakan dalam langkah ekspor.

Langkah 6: Dapatkan Sertifikat Enkripsi KRD

Dalam contoh ini, kami mengimpor kembali ke AWS Kriptografi Pembayaran, jadi kami memanggil layanan untuk menerima sertifikat kunci publik KRD menggunakan API. GetParametersForImport Dalam skenario nyata, ini akan disediakan oleh sistem lain, seperti HSM, ATM, terminal pembayaran atau sistem manajemen terminal pembayaran.

contoh Dapatkan Parameter untuk Impor
$ 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" }

Langkah 7: Ekspor Kunci dengan BYOCA

Terakhir, ekspor kunci menggunakan TR-34 CA-signed sertifikat Anda sendiri menggunakan ExportKey API. Berikan sertifikat penandatanganan yang ditandatangani oleh CA eksternal Anda.

contoh TR-34 Ekspor dengan 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" } }

Blok kunci yang diekspor sekarang dapat diimpor oleh sistem penerima menggunakan proses TR-34 impor standar.

Alur Kerja Impor BYOCA

Langkah-langkah berikut memandu Anda melalui alur kerja BYOCA untuk impor TR-34 kunci. Gunakan alur kerja ini untuk menerima kunci ke Kriptografi AWS Pembayaran dengan sertifikat enkripsi CA-signed KRD (Key Receiver Device) Anda sendiri. Dengan impor BYOCA, Anda mengontrol rantai kepercayaan dengan menggunakan CA yang sudah Anda kelola.

Langkah 1: Buat Kunci RSA

Buat pasangan kunci RSA untuk digunakan sebagai kunci enkripsi KRD. Kunci ini membuka dan mendekripsi kunci masuk selama TR-34 impor. Kuncinya tidak dapat diekspor karena tetap berada di dalam layanan sebagai kunci penerima.

contoh Buat kunci enkripsi KRD
$ 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" } }

Perhatikan nil KeyArn ainya. Anda membutuhkannya di langkah berikutnya.

Langkah 2: Hasilkan Permintaan Penandatanganan Sertifikat

Buat Permintaan Penandatanganan Sertifikat (CSR) untuk kunci enkripsi KRD menggunakan API. GetCertificateSigningRequest Outputnya adalah file PEM yang dikodekan base64. Jika base64 memecahkan kode konten dan menyimpannya, Anda akan memiliki CSR yang valid dalam format PEM.

contoh Hasilkan CSR untuk KRD Key
$ 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..." }

Bid CertificateSigningRequest ang berisi seluruh file PEM, dikodekan base64. File PEM menyertakan pen -----END CERTIFICATE REQUEST----- anda -----BEGIN CERTIFICATE REQUEST----- dan. Kirim nilai ini ke CA Anda untuk ditandatangani.

Langkah 3: Tinjau CSR (Opsional)

Anda dapat menggunakan OpenSSL secara opsional untuk meninjau konten CSR dan memastikannya valid dan seperti yang diharapkan.

contoh Tinjau CSR dengan OpenSSL
$ echo "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0..." | base64 -d | openssl req -text

Langkah 4: Tanda tangani CSR dengan Otoritas Sertifikat

Setelah Anda membuat CSR, mintalah ditandatangani oleh Otoritas Sertifikat (CA). Dalam lingkungan produksi, Anda biasanya akan menggunakan AWS Private CA atau infrastruktur CA organisasi Anda yang sudah mapan. Untuk tujuan pengujian, Anda dapat menggunakan OpenSSL untuk membuat sertifikat yang ditandatangani sendiri.

Penggunaan AWS Private CA

Untuk menandatangani CSR menggunakan AWS Private CA, pertama-tama decode CSR yang dikodekan base64 dan menyimpannya ke file, lalu gunakan API. IssueCertificate

contoh Tanda tangani CSR dengan 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" }

Kemudian ambil sertifikat yang ditandatangani:

contoh Ambil Sertifikat yang Ditandatangani
$ 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-----" }

Simpan konten sertifikat untuk digunakan pada langkah impor. Base64-encode sertifikat sebelum memberikannya ke ImportKey API.

Menggunakan OpenSSL untuk Pengujian

Untuk tujuan pengujian, Anda dapat menggunakan OpenSSL untuk membuat CA yang ditandatangani sendiri dan menandatangani CSR. Pertama, buat kunci pribadi CA dan sertifikat yang ditandatangani sendiri:

contoh Buat CA Uji dengan 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"

Kemudian dekode CSR dari langkah sebelumnya dan tandatangani dengan CA uji Anda:

contoh Menandatangani CSR dengan 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

Sertifikat yang ditandatangani sekarang sudah masukkrd-signed-cert.pem. Base64-encode sertifikat ini sebelum memberikannya ke ImportKey API:

contoh Base64 Mengkodekan Sertifikat yang Ditandatangani
$ cat krd-signed-cert.pem | base64 -w 0

Langkah 5: Impor Sertifikat CA

Sebelum Anda menggunakan CA, Anda harus mempercayainya terlebih dahulu. Impor sertifikat root CA eksternal Anda menggunakan ImportKey API. Jika menggunakan CA perantara, panggil import-key lagi tetapi tentukan al TrustedPublicKey ih-alih RootCertificatePublicKey dan tentukan CA ARN root.

contoh Impor Sertifikat CA Root
$ 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" } }

Perhatikan CA KeyArn untuk digunakan pada langkah impor.

Langkah 6: Dapatkan Sertifikat Penandatanganan KDH dari Sistem Pengiriman

Dalam pertukaran TR-34 kunci, pihak pengirim (Host Distribusi Kunci, atau KDH) menyediakan sertifikat kunci publik untuk penandatanganan. Sertifikat ini digunakan untuk memverifikasi tanda tangan pada blok kunci yang dibungkus selama impor, memastikan materi kunci berasal dari pengirim tepercaya. Dalam produksi, sertifikat ini biasanya berasal dari sistem pengirim—seperti HSM, terminal pembayaran, atau sistem manajemen kunci—melalui proses distribusi sertifikatnya sendiri.

Dalam contoh ini, Anda menggunakan Kriptografi AWS Pembayaran sebagai pengirim dan penerima agar langkah-langkahnya tetap singkat. Panggil GetParametersForExport untuk mendapatkan sertifikat penandatanganan KDH yang biasanya disediakan oleh sistem pengirim.

contoh Dapatkan Parameter untuk Ekspor
$ 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" }

Perhatikan ExportToken dan SigningKeyCertificate untuk digunakan dalam langkah impor.

Langkah 7: Impor Kunci dengan BYOCA

Terakhir, impor kunci menggunakan TR-34 CA-signed sertifikat Anda sendiri menggunakan ImportKey API. Berikan sertifikat enkripsi KRD yang ditandatangani oleh CA eksternal Anda.

RandomNonceParameter diperlukan saat menggunakan 2-pass TR-34. Layanan tidak menghasilkan nonce untuk Anda—ini adalah nilai hex acak yang Anda hasilkan, dan itu harus sama di sisi pengirim dan penerima. Saat menggunakan 1-pass TR-34 (yang bergantung pada stempel waktu alih-alih nonce), stempel waktu tidak boleh ada di masa mendatang. Layanan ini tidak memvalidasi kesegaran tertentu (misalnya, dalam jumlah jam tertentu), tetapi Anda dapat menerapkan pemeriksaan kesegaran di pihak Anda jika diperlukan.

contoh TR-34 Impor dengan 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" } }

Kunci sekarang diimpor ke Kriptografi AWS Pembayaran dan siap digunakan. Bid KeyOrigin ang EXTERNAL menunjukkan bahwa kunci berasal dari luar layanan.

Catatan Tambahan

  • Contoh-contoh ini ditampilkan menggunakan AWS CLI. Fungsionalitas yang sama tersedia di semua AWS SDK termasuk Java, Python, Go, dan Rust.

  • Jika Anda menguji dengan CA yang ditandatangani sendiri, Anda dapat menggunakan OpenSSL untuk membuat CA uji dan menandatangani CSR. Dalam produksi, gunakan infrastruktur CA organisasi Anda yang sudah mapan.