Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kunci impor
penting
Contoh memerlukan versi terbaru dari AWS CLI V2. Sebelum memulai, pastikan Anda telah memutakhirkan ke versi terbaru.
Daftar Isi
Pengantar mengimpor kunci
catatan
Saat mengimpor kunci menggunakan X9.143, TR-31 atau blok TR-34 kunci, Kriptografi AWS Pembayaran biasanya menyimpan (tetapi tidak menggunakan) header opsional apa pun. Header HM (tipe hash HMAC) digunakan selama operasi kriptografi. Header KP (KCV kunci pembungkus) khusus untuk proses impor dan tidak dipertahankan.
Saat bertukar kunci dengan rekanan, biasanya untuk terlebih dahulu menukar kunci pertukaran kunci (KEK). Kunci ini kemudian akan digunakan untuk melindungi kunci berikutnya. Menggunakan format elektronik, KEK dapat dipertukarkan menggunakan teknik asimetris seperti TR-34, pembungkus ECDH atau RSA. Kunci berikutnya akan ditukar menggunakan pertukaran kunci simetris seperti TR-31. KEK ini akan berumur panjang dan hanya dapat diperbarui setiap beberapa tahun berdasarkan kebijakan dan periode kripto yang ditentukan.
Jika hanya satu atau dua kunci yang dipertukarkan, Anda juga dapat memilih untuk menggunakan teknik asimetris untuk langsung menukar kunci itu seperti BDK. AWS Kriptografi Pembayaran mendukung kedua metode pertukaran kunci.
Mengimpor kunci simetris
Mengimpor kunci menggunakan teknik asimetris (TR-34)
TR-34 menggunakan kriptografi asimetris RSA untuk mengenkripsi dan menandatangani kunci simetris untuk pertukaran. Ini memastikan kerahasiaan (enkripsi) dan integritas (tanda tangan) dari kunci yang dibungkus.
Untuk mengimpor kunci Anda sendiri, lihat proyek sampel Kriptografi Pembayaran di GitHub
-
Panggil perintah Inisialisasi Impor
Panggil
get-parameters-for-importuntuk menginisialisasi proses impor. API ini menghasilkan pasangan kunci untuk impor kunci, menandatangani kunci, dan mengembalikan sertifikat dan root sertifikat. Enkripsi kunci yang akan diekspor menggunakan kunci ini. Dalam TR-34 terminologi, ini dikenal sebagai KRD Cert. Sertifikat ini dikodekan base64, berumur pendek, dan dimaksudkan hanya untuk tujuan ini. Simpan nilImportTokenainya.$aws payment-cryptography get-parameters-for-import \--key-material-typeTR34_KEY_BLOCK \--wrapping-key-algorithmRSA_2048{ "ImportToken": "import-token-bwxli6ocftypneu5", "ParametersValidUntilTimestamp": 1698245002.065, "WrappingKeyCertificateChain": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0....", "WrappingKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0....", "WrappingKeyAlgorithm": "RSA_2048" } -
Instal sertifikat publik pada sistem sumber kunci
Dengan sebagian besar HSM, Anda perlu menginstal, memuat, atau mempercayai sertifikat publik yang dihasilkan pada langkah 1 untuk mengekspor kunci menggunakannya. Ini bisa mencakup seluruh rantai sertifikat atau hanya sertifikat root dari langkah 1, tergantung pada HSM.
-
Hasilkan pasangan kunci pada sistem sumber dan berikan rantai sertifikat untuk AWS Kriptografi Pembayaran
Untuk memastikan integritas muatan yang ditransmisikan, pihak pengirim (Host Distribusi Utama atau KDH) menandatanganinya. Buat kunci publik untuk tujuan ini dan buat sertifikat kunci publik (X509) untuk memberikan kembali ke Kriptografi Pembay AWS aran.
Saat mentransfer kunci dari HSM, buat pasangan kunci pada HSM itu. HSM, pihak ketiga, atau layanan seperti AWS Private CA dapat menghasilkan sertifikat.
Muat sertifikat root ke Kriptografi AWS Pembayaran menggunakan
importKeyperintah dengan KeyMaterialType ofRootCertificatePublicKeydan KeyUsageType ofTR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE.Untuk sertifikat menengah, gunakan
importKeyperintah dengan KeyMaterialType ofTrustedCertificatePublicKeydan KeyUsageType ofTR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE. Ulangi proses ini untuk beberapa sertifikat perantara. Gunakan sertifikat terakhirKeyArnyang diimpor dalam rantai sebagai input ke perintah impor berikutnya.catatan
Jangan mengimpor sertifikat daun. Berikan langsung selama perintah impor.
-
Ekspor kunci dari sistem sumber
Banyak HSM dan sistem terkait mendukung pengekspor kunci menggunakan TR-34 norma. Tentukan kunci publik dari langkah 1 sebagai sertifikat KRD (enkripsi) dan kunci dari langkah 3 sebagai sertifikat KDH (penandatanganan). Untuk mengimpor ke AWS Kriptografi Pembayaran, tentukan format TR-34.2012 nya sebagai format dua pass non-CMS, yang juga dapat disebut sebagai format TR-34 Diebold.
-
Panggil Kunci Impor
Panggil API ImportKey dengan a KeyMaterialType of
TR34_KEY_BLOCK. Gunakan keYarn dari CA terakhir yang diimpor pada langkah 3 untukcertificate-authority-public-key-identifier, bahan kunci yang dibungkus dari langkah 4 untukkey-material, dan sertifikat daun dari langkah 3 untuksigning-key-certificate. Sertakan token impor dari langkah 1.$aws payment-cryptography import-key \--key-material='{"Tr34KeyBlock": { \ "CertificateAuthorityPublicKeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/zabouwe3574jysdl", \ "ImportToken": "import-token-bwxli6ocftypneu5", \ "KeyBlockFormat": "X9_TR34_2012", \ "SigningKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUV2RENDQXFTZ0F3SUJ...", \ "WrappedKeyBlock": "308205A106092A864886F70D010702A08205923082058E020101310D300B0609608648016503040201308203..."} \ }'{ "Key": { "CreateTimestamp": "2023-06-13T16:52:52.859000-04:00", "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ov6icy4ryas4zcza", "KeyAttributes": { "KeyAlgorithm": "TDES_3KEY", "KeyClass": "SYMMETRIC_KEY", "KeyModesOfUse": { "Decrypt": true, "DeriveKey": false, "Encrypt": true, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": true, "Verify": false, "Wrap": true }, "KeyUsage": "TR31_K1_KEY_ENCRYPTION_KEY" }, "KeyCheckValue": "CB94A2", "KeyCheckValueAlgorithm": "ANSI_X9_24", "KeyOrigin": "EXTERNAL", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2023-06-13T16:52:52.859000-04:00" } } -
Gunakan kunci yang diimpor untuk operasi kriptografi atau impor berikutnya
Jika yang diimpor KeyUsage adalah TR31_K0_KEY_ENCRYPTION_KEY, Anda dapat menggunakan kunci ini untuk impor kunci berikutnya menggunakan. TR-31 Untuk jenis kunci lainnya (seperti TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY), Anda dapat menggunakan kunci secara langsung untuk operasi kriptografi.
Mengimpor kunci menggunakan teknik asimetris (ECDH)
Elliptic Curve Diffie-Hellman (ECDH) menggunakan kriptografi asimetris ECC untuk membuat kunci bersama antara dua pihak tanpa memerlukan kunci yang telah dipertukarkan sebelumnya. Kunci ECDH bersifat sementara, jadi Kriptografi Pembayaran tidak AWS menyimpannya. Dalam proses ini, satu kali KBPK/KEK diturunkan menggunakan ECDH. Kunci turunan itu segera digunakan untuk membungkus kunci aktual yang ingin Anda transfer, yang bisa berupa KBPK lain, kunci IPEK, atau jenis kunci lainnya.
Saat mengimpor, sistem pengiriman umumnya dikenal sebagai Pihak U (Inisiator) dan Kriptografi Pemb AWS ayaran dikenal sebagai Pihak V (Responder).
catatan
Sementara ECDH dapat digunakan untuk menukar jenis kunci simetris apa pun, ini adalah satu-satunya pendekatan yang dapat mentransfer kunci dengan aman. AES-256
-
Hasilkan Pasangan Kunci ECC
Panggil
create-keyuntuk membuat pasangan kunci ECC untuk proses ini. API ini menghasilkan pasangan kunci untuk impor atau ekspor kunci. Saat pembuatan, tentukan jenis kunci apa yang dapat diturunkan menggunakan kunci ECC ini. Saat menggunakan ECDH untuk menukar (membungkus) kunci lain, gunakan nilai.TR31_K1_KEY_BLOCK_PROTECTION_KEYcatatan
Meskipun ECDH tingkat rendah menghasilkan kunci turunan yang dapat digunakan untuk tujuan apa pun, Kriptografi AWS Pembayaran membatasi penggunaan kembali kunci secara tidak sengaja untuk berbagai tujuan dengan mengizinkan kunci hanya digunakan untuk satu jenis kunci turunan.
$aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=ECC_NIST_P256,KeyUsage=TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT,KeyClass=ASYMMETRIC_KEY_PAIR,KeyModesOfUse='{DeriveKey=true}' --derive-key-usage "TR31_K1_KEY_BLOCK_PROTECTION_KEY"{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/wc3rjsssguhxtilv", "KeyAttributes": { "KeyUsage": "TR31_K3_ASYMMETRIC_KEY_FOR_KEY_AGREEMENT", "KeyClass": "ASYMMETRIC_KEY_PAIR", "KeyAlgorithm": "ECC_NIST_P256", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": false, "Sign": false, "Verify": false, "DeriveKey": true, "NoRestrictions": false } }, "KeyCheckValue": "2432827F", "KeyCheckValueAlgorithm": "CMAC", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2025-03-28T22:03:41.087000-07:00", "UsageStartTimestamp": "2025-03-28T22:03:41.068000-07:00" } } -
Dapatkan Sertifikat Kunci Publik
Panggil
get-public-key-certificateuntuk menerima kunci publik sebagai X.509 sertifikat yang ditandatangani oleh CA akun Anda yang khusus untuk Kriptografi AWS Pembayaran di wilayah tertentu.contoh
$aws payment-cryptography get-public-key-certificate \--key-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/wc3rjsssguhxtilv{ "KeyCertificate": "LS0tLS1CRUdJTi...", "KeyCertificateChain": "LS0tLS1CRUdJT..." } -
Instal sertifikat publik pada sistem rekanan (Pihak U)
Dengan banyak HSM, Anda perlu menginstal, memuat, atau mempercayai sertifikat publik yang dihasilkan pada langkah 1 untuk mengekspor kunci menggunakannya. Ini bisa mencakup seluruh rantai sertifikat atau hanya sertifikat root dari langkah 1, tergantung pada HSM. Konsultasikan dokumentasi HSM Anda untuk informasi lebih lanjut.
-
Hasilkan pasangan kunci ECC pada sistem sumber dan berikan rantai sertifikat untuk AWS Kriptografi Pembayaran
Dalam ECDH, masing-masing pihak menghasilkan pasangan kunci dan menyetujui kunci umum. Agar AWS Kriptografi Pembayaran dapat memperoleh kunci, diperlukan kunci publik rekanan dalam format kunci X.509 publik.
Saat mentransfer kunci dari HSM, buat pasangan kunci pada HSM itu. Untuk HSM yang mendukung blok kunci, header kunci akan terlihat mirip
D0144K3EX00E0000dengan. Saat membuat sertifikat, Anda umumnya menghasilkan CSR pada HSM dan kemudian HSM, pihak ketiga, atau layanan seperti AWS Private CA dapat menghasilkan sertifikat.Muat sertifikat root ke Kriptografi AWS Pembayaran menggunakan
importKeyperintah dengan KeyMaterialType ofRootCertificatePublicKeydan KeyUsageType ofTR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE.Untuk sertifikat menengah, gunakan
importKeyperintah dengan KeyMaterialType ofTrustedCertificatePublicKeydan KeyUsageType ofTR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE. Ulangi proses ini untuk beberapa sertifikat perantara. Gunakan sertifikat terakhirKeyArnyang diimpor dalam rantai sebagai input ke perintah impor berikutnya.catatan
Jangan mengimpor sertifikat daun. Berikan langsung selama perintah impor.
-
Turunkan kunci satu kali menggunakan ECDH di Party U HSM
Banyak HSM dan sistem terkait mendukung pembuatan kunci menggunakan ECDH. Tentukan kunci publik dari langkah 1 sebagai kunci publik dan kunci dari langkah 3 sebagai kunci pribadi. Untuk opsi yang diijinkan, seperti metode derivasi, lihat panduan https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportDiffieHellmanTr31KeyBlock.html API.
catatan
Parameter derivasi seperti tipe hash harus cocok persis di kedua sisi. Jika tidak, Anda akan menghasilkan kunci yang berbeda.
-
Ekspor kunci dari sistem sumber
Terakhir, ekspor kunci yang ingin Anda bawa ke Kriptografi AWS Pembayaran menggunakan TR-31 perintah standar. Tentukan kunci turunan ECDH sebagai KBPK. Kunci yang akan diekspor dapat berupa kunci TDES atau AES apa pun yang tunduk pada kombinasi yang TR-31 valid, selama kunci pembungkus setidaknya sekuat kunci yang akan diekspor.
-
Panggil Kunci Impor
Panggil
import-keyAPI dengan a KeyMaterialType ofDiffieHellmanTr31KeyBlock. Gunakan keYarn dari CA terakhir yang diimpor pada langkah 3 untukcertificate-authority-public-key-identifier, bahan kunci yang dibungkus dari langkah 4 untukkey-material, dan sertifikat daun dari langkah 3 untukpublic-key-certificate. Sertakan kunci pribadi ARN dari langkah 1.$aws payment-cryptography import-key \--key-material='{ "DiffieHellmanTr31KeyBlock": { "CertificateAuthorityPublicKeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/swseahwtq2oj6zi5", "DerivationData": { "SharedInformation": "1234567890" }, "DeriveKeyAlgorithm": "AES_256", "KeyDerivationFunction": "NIST_SP800", "KeyDerivationHashAlgorithm": "SHA_256", "PrivateKeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/wc3rjsssguhxtilv", "PublicKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN....", "WrappedKeyBlock": "D0112K1TB00E0000D603CCA8ACB71517906600FF8F0F195A38776A7190A0EF0024F088A5342DB98E2735084A7841CB00E16D373A70857E9A" } }'{ "Key": { "CreateTimestamp": "2025-03-13T16:52:52.859000-04:00", "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ov6icy4ryas4zcza", "KeyAttributes": { "KeyAlgorithm": "TDES_3KEY", "KeyClass": "SYMMETRIC_KEY", "KeyModesOfUse": { "Decrypt": true, "DeriveKey": false, "Encrypt": true, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": true, "Verify": false, "Wrap": true }, "KeyUsage": "TR31_K1_KEY_ENCRYPTION_KEY" }, "KeyCheckValue": "CB94A2", "KeyCheckValueAlgorithm": "ANSI_X9_24", "KeyOrigin": "EXTERNAL", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2025-03-13T16:52:52.859000-04:00" } } -
Gunakan kunci yang diimpor untuk operasi kriptografi atau impor berikutnya
Jika yang diimpor KeyUsage adalah TR31_K0_KEY_ENCRYPTION_KEY, Anda dapat menggunakan kunci ini untuk impor kunci berikutnya menggunakan. TR-31 Untuk jenis kunci lainnya (seperti TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY), Anda dapat menggunakan kunci secara langsung untuk operasi kriptografi.
Impor kunci menggunakan teknik asimetris (RSA Unwrap)
Ikhtis AWS ar: Kriptografi Pembayaran mendukung RSA wrap/unwrap untuk pertukaran kunci ketika tidak TR-34 memungkinkan. Seperti TR-34, teknik ini menggunakan kriptografi asimetris RSA untuk mengenkripsi kunci simetris untuk pertukaran. Namun, tidak seperti TR-34, metode ini tidak membuat pihak pengirim menandatangani payload. Juga, teknik pembungkus RSA ini tidak menjaga integritas metadata kunci selama transfer karena tidak menyertakan blok kunci.
catatan
Anda dapat menggunakan bungkus RSA untuk mengimpor atau mengekspor TDES dan AES-128 kunci.
-
Panggil perintah Inisialisasi Impor
Panggil get-parameters-for-import untuk menginisialisasi proses impor dengan a
KeyMaterialTypeofKEY_CRYPTOGRAM. GunakanRSA_2048untukWrappingKeyAlgorithmsaat bertukar kunci TDES. GunakanRSA_3072atauRSA_4096saat bertukar TDES atau AES-128 kunci. API ini menghasilkan pasangan kunci untuk impor kunci, menandatangani kunci menggunakan root sertifikat, dan mengembalikan sertifikat dan root sertifikat. Enkripsi kunci yang akan diekspor menggunakan kunci ini. Sertifikat ini berumur pendek dan dimaksudkan hanya untuk tujuan ini.$aws payment-cryptography get-parameters-for-import \--key-material-typeKEY_CRYPTOGRAM \--wrapping-key-algorithmRSA_4096{ "ImportToken": "import-token-bwxli6ocftypneu5", "ParametersValidUntilTimestamp": 1698245002.065, "WrappingKeyCertificateChain": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0....", "WrappingKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0....", "WrappingKeyAlgorithm": "RSA_4096" } -
Instal sertifikat publik pada sistem sumber kunci
Dengan banyak HSM, Anda perlu menginstal, memuat, atau mempercayai sertifikat publik (and/orroot) yang dihasilkan pada langkah 1 untuk mengekspor kunci menggunakannya.
-
Ekspor kunci dari sistem sumber
Banyak HSM dan sistem terkait mendukung kunci ekspor menggunakan bungkus RSA. Tentukan kunci publik dari langkah 1 sebagai sertifikat enkripsi (
WrappingKeyCertificate). Jika Anda membutuhkan rantai kepercayaan, gunakanWrappingKeyCertificateChaindari langkah 1. Saat mengekspor kunci dari HSM Anda, tentukan formatnya sebagai RSA, dengan Padding Mode = PKCS #1 v2.2 OAEP (dengan SHA 256 atau SHA 512). -
Panggilan kunci impor
Panggil import-key API dengan a
KeyMaterialTypeofKeyMaterial. Anda membutuhkanImportTokendari langkah 1 dankey-material(bahan kunci yang dibungkus) dari langkah 3. Berikan parameter kunci (seperti Penggunaan Kunci) karena pembungkus RSA tidak menggunakan blok kunci.$cat import-key-cryptogram.json{ "KeyMaterial": { "KeyCryptogram": { "Exportable": true, "ImportToken": "import-token-bwxli6ocftypneu5", "KeyAttributes": { "KeyAlgorithm": "AES_128", "KeyClass": "SYMMETRIC_KEY", "KeyModesOfUse": { "Decrypt": true, "DeriveKey": false, "Encrypt": true, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": true, "Verify": false, "Wrap": true }, "KeyUsage": "TR31_K0_KEY_ENCRYPTION_KEY" }, "WrappedKeyCryptogram": "18874746731....", "WrappingSpec": "RSA_OAEP_SHA_256" } } }$aws payment-cryptography import-key--cli-input-jsonfile://import-key-cryptogram.json{ "Key": { "KeyOrigin": "EXTERNAL", "Exportable": true, "KeyCheckValue": "DA1ACF", "UsageStartTimestamp": 1697643478.92, "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/kwapwa6qaifllw2h", "CreateTimestamp": 1697643478.92, "KeyState": "CREATE_COMPLETE", "KeyAttributes": { "KeyAlgorithm": "AES_128", "KeyModesOfUse": { "Encrypt": true, "Unwrap": true, "Verify": false, "DeriveKey": false, "Decrypt": true, "NoRestrictions": false, "Sign": false, "Wrap": true, "Generate": false }, "KeyUsage": "TR31_K0_KEY_ENCRYPTION_KEY", "KeyClass": "SYMMETRIC_KEY" }, "KeyCheckValueAlgorithm": "CMAC" } } -
Gunakan kunci yang diimpor untuk operasi kriptografi atau impor berikutnya
Jika yang diimpor
KeyUsageadalahTR31_K0_KEY_ENCRYPTION_KEYatauTR31_K1_KEY_BLOCK_PROTECTION_KEY, Anda dapat menggunakan kunci ini untuk impor kunci berikutnya menggunakan TR-31. Jika jenis kunci adalah jenis lain (sepertiTR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY), Anda dapat menggunakan kunci secara langsung untuk operasi kriptografi.
Impor kunci simetris menggunakan kunci pertukaran kunci yang telah ditetapkan sebelumnya () TR-31
Saat bertukar beberapa kunci atau mendukung rotasi kunci, mitra biasanya terlebih dahulu menukar kunci enkripsi kunci awal (KEK). Anda dapat menukar KEK dengan AWS Cryptography Pembayaran, menggunakan teknik seperti TR-34 atauPertukaran Kunci Fisik.
Setelah membuat KEK, Anda dapat menggunakannya untuk mengangkut kunci berikutnya (termasuk KEK lainnya). AWS Kriptografi Pembayaran mendukung pertukaran kunci ini menggunakan ANSI TR-31, yang banyak digunakan dan didukung oleh vendor HSM.
-
Impor Kunci Enkripsi Kunci (KEK)
Pastikan Anda telah mengimpor KEK Anda dan memiliki KeyArn (atau KeyAlias) yang tersedia.
-
Buat kunci pada platform sumber
Jika kunci tidak ada, buat di platform sumber. Atau, Anda dapat membuat kunci pada Cryptography AWS Pembayaran dan menggunakan export perintah.
-
Ekspor kunci dari platform sumber
Saat mengekspor, tentukan format ekspor sebagai TR-31. Platform sumber akan meminta kunci untuk diekspor dan kunci enkripsi kunci untuk digunakan.
-
Impor ke AWS Kriptografi Pembayaran
Saat memanggil import-key perintah, gunakan KeyArn (atau alias) kunci enkripsi kunci Anda untuk
WrappingKeyIdentifier. Gunakan output dari platform sumber untukWrappedKeyBlock.contoh
$aws payment-cryptography import-key \--key-material='{"Tr31KeyBlock": { \ "WrappingKeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ov6icy4ryas4zcza", \ "WrappedKeyBlock": "D0112B0AX00E00002E0A3D58252CB67564853373D1EBCC1E23B2ADE7B15E967CC27B85D5999EF58E11662991FF5EB1381E987D744334B99D"} \ }'{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/kwapwa6qaifllw2h", "KeyAttributes": { "KeyUsage": "TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "AES_128", "KeyModesOfUse": { "Encrypt": true, "Decrypt": true, "Wrap": true, "Unwrap": true, "Generate": false, "Sign": false, "Verify": false, "DeriveKey": false, "NoRestrictions": false } }, "KeyCheckValue": "0A3674", "KeyCheckValueAlgorithm": "CMAC", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "EXTERNAL", "CreateTimestamp": "2023-06-02T07:38:14.913000-07:00", "UsageStartTimestamp": "2023-06-02T07:38:14.857000-07:00" } }
Mengimpor kunci publik asimetris (RSA, ECC)
Semua sertifikat yang diimpor harus setidaknya sekuat sertifikat penerbitannya (pendahulunya) dalam rantai. Ini berarti bahwa RSA_2048 CA hanya dapat digunakan untuk melindungi sertifikat daun RSA_2048 dan sertifikat ECC harus dilindungi oleh sertifikat ECC lain dengan kekuatan setara. Sertifikat ECC P384 hanya dapat dikeluarkan oleh P384 atau P521 CA. Semua sertifikat harus belum kedaluwarsa pada saat impor.
Mengimpor kunci publik RSA
AWS Kriptografi Pembayaran mendukung pengimpor kunci RSA publik sebagai X.509 sertifikat. Untuk mengimpor sertifikat, pertama-tama impor sertifikat root. Semua sertifikat harus belum kedaluwarsa pada saat impor. Sertifikat harus dalam format PEM dan base64 dikodekan.
-
Impor Sertifikat Root ke AWS Kriptografi Pembayaran
Gunakan perintah berikut untuk mengimpor sertifikat root:
contoh
$aws payment-cryptography import-key \--key-material='{"RootCertificatePublicKey": { \ "KeyAttributes": { \ "KeyAlgorithm": "RSA_2048", \ "KeyClass": "PUBLIC_KEY", \ "KeyModesOfUse": { \ "Verify": true}, \ "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE"}, \ "PublicKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKVENDQWcyZ0F3SUJBZ0lCWkRBTkJna3Foa2lHOXcwQkFR..."} \ }'{ "Key": { "CreateTimestamp": "2023-08-08T18:52:01.023000+00:00", "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/zabouwe3574jysdl", "KeyAttributes": { "KeyAlgorithm": "RSA_2048", "KeyClass": "PUBLIC_KEY", "KeyModesOfUse": { "Decrypt": false, "DeriveKey": false, "Encrypt": false, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": false, "Verify": true, "Wrap": false }, "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" }, "KeyOrigin": "EXTERNAL", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2023-08-08T18:52:01.023000+00:00" } } -
Impor Sertifikat Kunci Publik ke AWS Kriptografi Pembayaran
Anda sekarang dapat mengimpor kunci publik. Karena TR-34 ECDH mengandalkan penerusan sertifikat daun pada waktu proses, opsi ini hanya digunakan saat mengenkripsi data menggunakan kunci publik dari sistem lain. KeyUsage akan diatur ke TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION.
contoh
$aws payment-cryptography import-key \--key-material='{"Tr31KeyBlock": { \ "WrappingKeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ov6icy4ryas4zcza", \ "WrappedKeyBlock": "D0112B0AX00E00002E0A3D58252CB67564853373D1EBCC1E23B2ADE7B15E967CC27B85D5999EF58E11662991FF5EB1381E987D744334B99D"} \ }'{ "Key": { "CreateTimestamp": "2023-08-08T18:55:46.815000+00:00", "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/4kd6xud22e64wcbk", "KeyAttributes": { "KeyAlgorithm": "RSA_4096", "KeyClass": "PUBLIC_KEY", "KeyModesOfUse": { "Decrypt": false, "DeriveKey": false, "Encrypt": false, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": false, "Verify": true, "Wrap": false }, "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" }, "KeyOrigin": "EXTERNAL", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2023-08-08T18:55:46.815000+00:00" } }
Mengimpor kunci publik ECC
AWS Kriptografi Pembayaran mendukung pengimpor kunci ECC publik sebagai X.509 sertifikat. Untuk mengimpor sertifikat, pertama-tama impor sertifikat CA root dan sertifikat perantara apa pun. Semua sertifikat harus belum kedaluwarsa pada saat impor. Sertifikat harus dalam format PEM dan base64 dikodekan.
-
Impor Sertifikat Root ECC ke AWS Kriptografi Pembayaran
Gunakan perintah berikut untuk mengimpor sertifikat root:
contoh
$aws payment-cryptography import-key \--key-material='{"RootCertificatePublicKey": { \ "KeyAttributes": { \ "KeyAlgorithm": "ECC_NIST_P521", \ "KeyClass": "PUBLIC_KEY", \ "KeyModesOfUse": { \ "Verify": true}, \ "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE"}, \ "PublicKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNQekNDQWFDZ0F3SUJBZ0lDSjNVd0NnWUlLb1pJemowRUF3UXdNakVlTUJ3R0ExVUVDd3dWVTJWc1psTnAKWjI1bFpFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUREQWRMUkVnZ1EwRXhNQjRYRFRJMU1ETXlPREF3TURBdwpNRm9YRFRJMk1ETXlPREF3TURBd01Gb3dNakVlTUJ3R0ExVUVDd3dWVTJWc1psTnBaMjVsWkVObGNuUnBabWxqCllYUmxNUkF3RGdZRFZRUUREQWRMUkVnZ1EwRXhNSUdiTUJBR0J5cUdTTTQ5QWdFR0JTdUJCQUFqQTRHR0FBUUEKRDVEUXc5RW1Tb1lJVkRnbUpmRm1wL1pzMXp1M0ZobThrdUdkYlA4NWgwNTdydkhHZ3VISW03V3N1aTlpdXNvNApFWEZnV3ZUdy85amhZcVJrMi9yY1RHb0JrS2NpV3Q2UHMxVmpSUVZhVEZmbmxPdjRNTURQUEFEUWthVU45cVNNCkF5MTF0RklKNlFGWDR0aGx3RzBaZkFwd0NMV1ZyMzFrRU45RDJhVUh6Mjg5WlM2all6QmhNQjhHQTFVZEl3UVkKTUJhQUZFMjhnay9QZnZ3NklsNm9yQzNwRmJtK280emxNQjBHQTFVZERnUVdCQlJOdklKUHozNzhPaUplcUt3dAo2Ulc1dnFPTTVUQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BNEdBMVVkRHdFQi93UUVBd0lDeERBS0JnZ3Foa2pPClBRUURCQU9CakFBd2dZZ0NRZ0ZRRit5VUVSYTZoQ0RwSDVHeVhlaVFYYU0wc25Fd3o2TmlmOHlSTlF1dzJ5MUoKdTNoKzZYa2N6Y3lVT01NSzhaRnhBVDhFOERMVUtpdjM1VmdzSkFDN09RSkNBSWMzdEVNV01tZTVCV3ZXTFVxSQpnV3h5U3UxWDdRSTJrR2dUK1FqRGlhQ2E4b091NVlJTmZscW4reUswR29yNGJzMTBZaUh4SHhpV2t0UVRSdVp4CkhIU3UKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo="} \ }'{ "Key": { "CreateTimestamp": "2023-08-08T18:52:01.023000+00:00", "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/wv4gb6h3xcqjk6sm", "KeyAttributes": { "KeyAlgorithm": "ECC_NIST_P521", "KeyClass": "PUBLIC_KEY", "KeyModesOfUse": { "Decrypt": false, "DeriveKey": false, "Encrypt": false, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": false, "Verify": true, "Wrap": false }, "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" }, "KeyOrigin": "EXTERNAL", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2025-03-08T18:52:01.023000+00:00" } } -
Impor Sertifikat Menengah ke AWS Kriptografi Pembayaran
Gunakan perintah berikut untuk mengimpor sertifikat perantara:
contoh
$aws payment-cryptography import-key \--key-material='{"TrustedCertificatePublicKey": { \--certificate-authority-public-key-identifier='"arn:aws:payment-cryptography:us-east-2:111122223333:key/wv4gb6h3xcqjk6sm" \ "KeyAttributes": { \ "KeyAlgorithm": "ECC_NIST_P521", \ "KeyClass": "PUBLIC_KEY", \ "KeyModesOfUse": { \ "Verify": true}, \ "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE"}, \ "PublicKeyCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNLekNDQVkyZ0F3SUJBZ0lDVDAwd0NnWUlLb1pJemowRUF3UXdNakVlTUJ3R0ExVUVDd3dWVTJWc1psTnAKWjI1bFpFTmxjblJwWm1sallYUmxNUkF3RGdZRFZRUUREQWRMUkVnZ1EwRXhNQjRYRFRJMU1ETXlPREF3TURBdwpNRm9YRFRJMk1ETXlPREF3TURBd01Gb3dNREVlTUJ3R0ExVUVBd3dWUzBSSUlFbHVkR1Z5YldWa2FXRjBaU0JEClFTQXhNUTR3REFZRFZRUUZFd1V4TURJd01UQ0JtekFRQmdjcWhrak9QUUlCQmdVcmdRUUFJd09CaGdBRUFPOGwKZFM4c09YQlNWQlVINWxmRWZkNTZxYVVIenExZVN3VGZKdnI5eEFmb2hRNTNWZ2hLUlZoNzhNR2tJTjVCNTBJTAozbmhaU1JnUnRoS20xNkxwc084NEFGa1Z0ZEpOaEJpYUlQZlRlYXltOHh6OU44KzFWZ3RMTDZBcTBtNkwwMUFwCkUvUmxzUUJ3NWxoakM4VHVOWU1QaUpMYUNPbjJrZVh6SU5SSm01SjJtR3Q1bzFJd1VEQWZCZ05WSFNNRUdEQVcKZ0JSbklBNi9Vc3RMYUpzTzlpYjg1Zm9DWEcwRk96QWRCZ05WSFE0RUZnUVVaeUFPdjFMTFMyaWJEdlltL09YNgpBbHh0QlRzd0RnWURWUjBQQVFIL0JBUURBZ2JBTUFvR0NDcUdTTTQ5QkFNRUE0R0xBRENCaHdKQ0FmTnJjdXBkClpQd3ZqTGdVeFZiN1NtSXNhY2Z6MVZrNWZFYXZHNlVzdU95Y1lGbHlQQTlJZGgyK0lOcW5jSVg4VEo2cDFJRWkKN3RCTHpPb1l0ZWd2Q1dsL0FrRkRzWHFsWkI5bU93WnNEQy9HZEpEcm5uQ0ZkR29hM1NwZytqbGdhOGdQTmxLbAo1dE9IU0lVZnZxcFhEcWYrdXV6SEc1Z3FjdUhnQU8wOUhuMloyNUc4eVE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="} \ }'{ "Key": { "CreateTimestamp": "2025-03-20T18:52:01.023000+00:00", "Enabled": true, "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/swseahwtq2oj6zi5", "KeyAttributes": { "KeyAlgorithm": "ECC", "KeyClass": "PUBLIC_KEY", "KeyModesOfUse": { "Decrypt": false, "DeriveKey": false, "Encrypt": false, "Generate": false, "NoRestrictions": false, "Sign": false, "Unwrap": false, "Verify": true, "Wrap": false }, "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE" }, "KeyOrigin": "EXTERNAL", "KeyState": "CREATE_COMPLETE", "UsageStartTimestamp": "2025-03-25T18:52:01.023000+00:00" } } -
Impor Sertifikat Kunci Publik (Leaf) ke AWS Kriptografi Pembayaran
Meskipun Anda dapat mengimpor sertifikat ECC daun, saat ini tidak ada fungsi yang ditentukan dalam Kriptografi Pemb AWS ayaran untuk itu selain penyimpanan. Ini karena saat menggunakan fungsi ECDH, sertifikat daun dilewatkan saat runtime.