Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Importar claves
importante
Los ejemplos requieren la versión más reciente de la AWS CLI V2. Antes de empezar, asegúrese de haber actualizado a la versión más reciente.
Contenido
Introducción a la importación de claves
nota
Cuando se importan claves TR-31 o bloques de TR-34 claves, la criptografía de AWS pagos normalmente conserva (pero no utiliza) los encabezados opcionales. X9.143 El encabezado HM (tipo hash HMAC) se usa durante las operaciones criptográficas. El encabezado KP (KCV de la clave de empaquetado) es específico del proceso de importación y no se conserva.
Cuando se intercambian claves con una contraparte, normalmente se intercambia primero una clave de intercambio de claves (KEK). Esta clave se utilizará luego para proteger las claves subsiguientes. Si se utilizan formatos electrónicos, la KEK puede intercambiarse mediante técnicas asimétricas TR-34, como el ECDH o el RSA wrap. Las claves posteriores se intercambiarán mediante un intercambio de claves simétrico, como. TR-31 Esta KEK durará mucho tiempo y solo podrá actualizarse cada pocos años según la política y el período criptográfico definido.
Si solo se intercambian una o dos claves, también puede optar por utilizar técnicas asimétricas para intercambiar directamente esa clave, como un BDK. AWS La criptografía de pagos admite ambos métodos de intercambio de claves.
Importar claves simétricas
Importe claves mediante técnicas asimétricas () TR-34
TR-34 utiliza la criptografía asimétrica RSA para cifrar y firmar claves simétricas para su intercambio. Esto garantiza tanto la confidencialidad (cifrado) como la integridad (firma) de la clave empaquetada.
Para importar tus propias claves, consulta el ejemplo del proyecto AWS de criptografía de pagos publicado en GitHub
-
Ejecute el comando Initialize Import
Llamar a
get-parameters-for-importpara inicializar el proceso de importación. Esta API genera un par de claves para la importación de claves, firma la clave y devuelve el certificado y la raíz del certificado. Cifre la clave que se va a exportar con esta clave. En TR-34 terminología, esto se conoce como certificado KRD. Estos certificados están codificados en base64, son de corta duración y están destinados únicamente a este propósito. Guarde elImportTokenvalor.$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" } -
Instalar el certificado público en el sistema fuente de claves
Con la mayoría de los HSM, es necesario instalar, cargar o confiar en el certificado público generado en el paso 1 para exportar las claves con él. Esto puede incluir toda la cadena de certificados o solo el certificado raíz del paso 1, según el HSM.
-
Genere un par de claves en el sistema de origen y proporcione la cadena de certificados a AWS Payment Cryptography
Para garantizar la integridad de la carga útil transmitida, la parte remitente (el host de distribución de claves o KDH) la firma. Genere una clave pública para este fin y cree un certificado de clave pública (X509) para contribuir a la criptografía de pagos. AWS
Al transferir claves desde un HSM, cree un par de claves en ese HSM. El HSM, un tercero o un servicio similar AWS Private CA pueden generar el certificado.
Cargue el certificado raíz en AWS Payment Cryptography con los
importKeycomandos de oRootCertificatePublicKeyy KeyMaterialType KeyUsageType de.TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATUREPara los certificados intermedios, utilice el
importKeycomando con KeyMaterialType deTrustedCertificatePublicKeyy KeyUsageType deTR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE. Repita este proceso para varios certificados intermedios. Utilice el último certificado importadoKeyArnde la cadena como entrada para los siguientes comandos de importación.nota
No importe el certificado hoja. Introdúzcalo directamente durante el comando de importación.
-
Exportar la clave desde el sistema fuente
Muchos HSM y sistemas relacionados admiten la exportación de claves mediante la TR-34 norma. Especifique la clave pública del paso 1 como certificado KRD (cifrado) y la clave del paso 3 como certificado KDH (firma). Para importar a AWS Payment Cryptography, especifique el formato como formato de dos pasadas que TR-34.2012 no sea CMS, que también puede denominarse formato Diebold. TR-34
-
Clave de importación de llamadas
Llama a la API ImportKey con un KeyMaterialType de
TR34_KEY_BLOCK. Utilice el keyARN de la última CA importada en el paso 3 paracertificate-authority-public-key-identifier, el material clave empaquetado del paso 4 parakey-materialy el certificado en hoja del paso 3 para.signing-key-certificateIncluya el token de importación del paso 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" } } -
Utilizar la clave importada para operaciones criptográficas o importaciones posteriores
Si la clave importada KeyUsage fue TR31_K0_KEY_ENCRYPTION_KEY, puede usar esta clave para las importaciones de claves posteriores. TR-31 Para otros tipos de claves (como TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY), puede usar la clave directamente para las operaciones criptográficas.
Importe claves mediante técnicas asimétricas (ECDH)
Elliptic Curve Diffie-Hellman (ECDH) utiliza la criptografía asimétrica ECC para establecer una clave compartida entre dos partes sin necesidad de intercambiar claves previamente. Las claves ECDH son efímeras, por lo que Payment Cryptography no las almacena. AWS En este proceso, se obtiene una única vez mediante el KBPK/KEK ECDH. Esa clave derivada se usa inmediatamente para empaquetar la clave real que desea transferir, que puede ser otro KBPK, una clave IPEK u otros tipos de clave.
Al importar, el sistema de envío se conoce comúnmente como Parte U (iniciador) y la criptografía de AWS pagos se denomina Parte V (Respondedor).
nota
Si bien el ECDH se puede usar para intercambiar cualquier tipo de clave simétrica, es el único enfoque que puede transferir claves de forma segura. AES-256
-
Genere un par de claves ECC
Llame
create-keypara crear un par de claves ECC para este proceso. Esta API genera un par de claves para la importación o exportación de claves. En el momento de la creación, especifique qué tipo de claves se pueden derivar con esta clave ECC. Cuando utilice el ECDH para intercambiar (empaquetar) otras claves, utilice un valor de.TR31_K1_KEY_BLOCK_PROTECTION_KEYnota
Si bien el ECDH de bajo nivel genera una clave derivada que se puede usar para cualquier propósito, la criptografía de AWS pagos limita la reutilización accidental de una clave para varios propósitos al permitir que una clave solo se use para un único tipo de clave derivada.
$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" } } -
Obtenga un certificado de clave pública
Llame
get-public-key-certificatepara recibir la clave pública en forma de X.509 certificado firmado por la autoridad emisora de certificados de su cuenta que sea específico para la criptografía de AWS pagos en una región específica.ejemplo
$aws payment-cryptography get-public-key-certificate \--key-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/wc3rjsssguhxtilv{ "KeyCertificate": "LS0tLS1CRUdJTi...", "KeyCertificateChain": "LS0tLS1CRUdJT..." } -
Instala el certificado público en el sistema de contraparte (Party U)
Con muchos HSM, es necesario instalar, cargar o confiar en el certificado público generado en el paso 1 para exportar las claves con él. Esto puede incluir toda la cadena de certificados o solo el certificado raíz del paso 1, según el HSM. Consulte la documentación del HSM para obtener más información.
-
Genere un par de claves ECC en el sistema fuente y proporcione una cadena de certificados a AWS Payment Cryptography
En el ECDH, cada parte genera un par de claves y acuerda una clave común. Para que la criptografía de AWS pagos obtenga la clave, necesita la clave pública de la contraparte en formato de clave X.509 pública.
Al transferir claves desde un HSM, cree un par de claves en ese HSM. En el caso de los HSM que admiten bloques de claves, el encabezado de la clave tendrá un aspecto similar al.
D0144K3EX00E0000Al crear el certificado, normalmente se genera una CSR en el HSM y, a continuación, el HSM, un tercero o un servicio como este AWS Private CA puede generar el certificado.Para cargar el certificado raíz en AWS Payment Cryptography, utilice el
importKeycomando «of» y «of». KeyMaterialTypeRootCertificatePublicKeyKeyUsageTypeTR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATUREPara los certificados intermedios, utilice el
importKeycomando con KeyMaterialType deTrustedCertificatePublicKeyy KeyUsageType deTR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE. Repita este proceso para varios certificados intermedios. Utilice el último certificado importadoKeyArnde la cadena como entrada para los siguientes comandos de importación.nota
No importe el certificado hoja. Introdúzcalo directamente durante el comando de importación.
-
Obtenga una clave de un solo uso mediante ECDH en el HSM de la Parte U
Muchos HSM y sistemas relacionados admiten el establecimiento de claves mediante el ECDH. Especifique la clave pública del paso 1 como clave pública y la clave del paso 3 como clave privada. Para conocer las opciones permitidas, como los métodos de derivación, consulta la guía de la API.
nota
Los parámetros de derivación, como el tipo de hash, deben coincidir exactamente en ambos lados. De lo contrario, generará una clave diferente.
-
Exportar la clave desde el sistema fuente
Por último, exporte la clave que desea transportar a AWS Payment Cryptography mediante TR-31 comandos estándar. Especifique la clave derivada del ECDH como KBPK. La clave que se va a exportar puede ser cualquier clave TDES o AES sujeta a combinaciones TR-31 válidas, siempre que la clave de ajuste sea al menos tan fuerte como la clave que se va a exportar.
-
Clave de importación de llamadas
Llama a la
import-keyAPI con un KeyMaterialType deDiffieHellmanTr31KeyBlock. Utilice el keyARN de la última CA importada en el paso 3 paracertificate-authority-public-key-identifier, el material clave empaquetado del paso 4 parakey-materialy el certificado en hoja del paso 3 para.public-key-certificateIncluya el ARN de la clave privada del paso 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" } } -
Utilizar la clave importada para operaciones criptográficas o importaciones posteriores
Si la clave importada KeyUsage fue TR31_K0_KEY_ENCRYPTION_KEY, puede usar esta clave para las siguientes importaciones de claves. TR-31 Para otros tipos de claves (como TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY), puede usar la clave directamente para las operaciones criptográficas.
Importe claves mediante técnicas asimétricas (RSA Unwrap)
Descripción general: la criptografía AWS de pagos admite RSA wrap/unwrap para el intercambio de claves cuando no es posible. TR-34 Del mismo modo TR-34, esta técnica utiliza la criptografía asimétrica RSA para cifrar las claves simétricas para su intercambio. Sin embargo, a diferencia de esto TR-34, este método no hace que la parte remitente firme la carga útil. Además, esta técnica de empaquetado con RSA no mantiene la integridad de los metadatos clave durante la transferencia, ya que no incluye los bloques clave.
nota
Puedes usar el formato RSA para importar o exportar TDES y claves. AES-128
-
Llame al comando Initialize Import
Llame get-parameters-for-import para inicializar el proceso de importación con un
KeyMaterialTypevalor de.KEY_CRYPTOGRAMRSA_2048UtilíceloWrappingKeyAlgorithmcuando intercambie claves TDES. ÚseloRSA_3072oRSA_4096cuando intercambie TDES o AES-128 claves. Esta API genera un par de claves para la importación de claves, firma la clave con una raíz de certificado y devuelve tanto el certificado como la raíz del certificado. Cifre la clave que se va a exportar con esta clave. Estos certificados son de corta duración y están destinados únicamente a este propósito.$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" } -
Instalar el certificado público en el sistema fuente de claves
Con muchos HSM, es necesario instalar, cargar o confiar en el certificado público (and/orsu raíz) generado en el paso 1 para exportar las claves que lo utilizan.
-
Exportar la clave desde el sistema fuente
Muchos HSM y sistemas relacionados admiten la exportación de claves mediante RSA Wrap. Especifique la clave pública del paso 1 como certificado de cifrado ().
WrappingKeyCertificateSi necesita la cadena de confianza, utilice laWrappingKeyCertificateChaindel paso 1. Al exportar la clave desde su HSM, especifique el formato como RSA, con el modo de relleno = PKCS #1 v2.2 OAEP (con SHA 256 o SHA 512). -
Llame a clave de importación
Llama a la import-key API con un de
KeyMaterialType.KeyMaterialNecesitas elImportTokendel paso 1 y elkey-material(material clave empaquetado) del paso 3. Proporcione los parámetros clave (como el uso de las claves), ya que RSA Wrap no utiliza bloques clave.$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" } } -
Utilizar la clave importada para operaciones criptográficas o importaciones posteriores
Si la clave importada
KeyUsagefueTR31_K0_KEY_ENCRYPTION_KEYoTR31_K1_KEY_BLOCK_PROTECTION_KEY, puedes usar esta clave para las siguientes importaciones de claves. TR-31 Si el tipo de clave era de cualquier otro tipo (por ejemploTR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY), puede usar la clave directamente para las operaciones criptográficas.
Importe claves simétricas mediante una clave de intercambio de claves preestablecida () TR-31
Cuando se intercambian varias claves o se admite la rotación de claves, los socios suelen intercambiar primero una clave de cifrado de clave inicial (KEK). Puedes intercambiar la KEK por la criptografía de AWS pagos, utilizando técnicas como TR-34 oIntercambio de claves físicas.
Tras establecer una KEK, puede utilizarla para transportar las claves siguientes (incluidas otras KEK). AWS La criptografía de pagos admite este intercambio de claves mediante ANSI TR-31, que los proveedores de HSM utilizan y admiten ampliamente.
-
Importar clave de cifrado (KEK)
Asegúrate de que ya has importado tu KEK y de que tienes el KeyARN (o KeyAlias) disponible.
-
Crear la clave en la plataforma de origen
Si la clave no existe, créala en la plataforma de origen. También puedes crear la clave en la criptografía AWS de pagos y usar el export comando.
-
Exportar la clave desde la plataforma de origen
Al exportar, especifique el formato de exportación como TR-31. La plataforma de origen solicitará la clave para exportar y la clave de cifrado que se utilizará.
-
Importar a AWS Payment Cryptography
Al ejecutar el import-key comando, usa el keyARN (o alias) de tu clave: la clave de cifrado para.
WrappingKeyIdentifierUsa la salida de la plataforma de origen para.WrappedKeyBlockejemplo
$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" } }
Importación de claves públicas asimétricas (RSA, ECC)
Todos los certificados importados deben ser al menos tan seguros como el certificado emisor (predecesor) de la cadena. Esto significa que una CA RSA_2048 solo se puede usar para proteger un certificado modelo RSA_2048 y un certificado ECC debe estar protegido por otro certificado ECC de validez equivalente. Un certificado ECC P384 solo lo puede emitir una CA P384 o P521. Todos los certificados deben estar vigentes en el momento de la importación.
Importar claves públicas RSA
AWS La criptografía de pagos admite la importación de claves RSA públicas como certificados. X.509 Para importar un certificado, primero importe su certificado raíz. Todos los certificados deben estar vigentes en el momento de la importación. El certificado debe estar en formato PEM y codificado en base64.
-
Importe el certificado raíz a AWS Payment Cryptography
Utilice el siguiente comando para importar el certificado raíz:
ejemplo
$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" } } -
Importe el certificado de clave pública a AWS Payment Cryptography
Ahora puede importar una clave pública. Como TR-34 el ECDH depende de que se apruebe el certificado hoja en tiempo de ejecución, esta opción solo se usa para cifrar datos con una clave pública de otro sistema. KeyUsage se establecerá en TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION.
ejemplo
$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" } }
Importación de claves públicas ECC
AWS La criptografía de pagos admite la importación de claves ECC públicas como certificados. X.509 Para importar un certificado, primero importe su certificado de CA raíz y cualquier certificado intermedio. Todos los certificados deben estar vigentes en el momento de la importación. El certificado debe estar en formato PEM y codificado en base64.
-
Importe el certificado raíz ECC a AWS Payment Cryptography
Utilice el siguiente comando para importar el certificado raíz:
ejemplo
$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" } } -
Importe el certificado intermedio a AWS Payment Cryptography
Utilice el siguiente comando para importar un certificado intermedio:
ejemplo
$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" } } -
Importe el certificado de clave pública (Leaf) a AWS Payment Cryptography
Aunque puede importar un certificado ECC en formato Leaf, actualmente no hay ninguna función definida en la criptografía de AWS pagos para este certificado, aparte del almacenamiento. Esto se debe a que, cuando se utilizan las funciones del ECDH, el certificado modelo se aprueba en tiempo de ejecución.