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.
AWS CloudHSM KeyStore Clase Java para Client SDK 3
La AWS CloudHSM KeyStore clase proporciona un almacén de PKCS12 claves específico que permite el acceso a AWS CloudHSM las claves a través de aplicaciones como keytool y jarsigner. Este almacén de claves puede almacenar certificados junto con datos de la clave y relacionar estos certificados con los datos de clave que están almacenados en AWS CloudHSM.
nota
Dado que los certificados son información pública y, para maximizar la capacidad de almacenamiento de claves criptográficas, AWS CloudHSM no admite el almacenamiento de certificados en ellos. HSMs
La AWS CloudHSM KeyStore clase implementa la interfaz de proveedor de KeyStore servicios (SPI) de la extensión de criptografía de Java (JCE). Para obtener más información sobre su usoKeyStore, consulte Class. KeyStore
Elegir el almacén de claves adecuado para Client SDK 3 de AWS CloudHSM
El proveedor de la extensión criptográfica de AWS CloudHSM Java (JCE) incluye un almacén de claves de solo lectura y transferencia predeterminado que transfiere todas las transacciones al HSM. Este almacén de claves predeterminado es distinto del almacén de uso especial. AWS CloudHSM KeyStore En la mayoría de los casos, obtendrá mejor rendimiento en tiempo de ejecución con el valor predeterminado. Solo debe usarlo AWS CloudHSM KeyStore para aplicaciones en las que necesite soporte para certificados y operaciones basadas en certificados, además de delegar las operaciones clave al HSM.
Aunque los dos almacenes de claves utilizan el proveedor JCE para las operaciones, son entidades independientes y no intercambian información entre sí.
Cargue el almacén de claves predeterminado para la aplicación Java de la siguiente manera:
KeyStore ks = KeyStore.getInstance("Cavium");
Cargue el CloudHSM de uso especial de la siguiente manera: KeyStore
KeyStore ks = KeyStore.getInstance("CloudHSM")
Inicialice el SDK 3 para Client AWS CloudHSM KeyStore
Inicie sesión de AWS CloudHSM KeyStore la misma forma en que inicia sesión en el proveedor de JCE. Puede usar variables de entorno o el archivo de propiedades del sistema, y debe iniciar sesión antes de empezar a usar CloudHSM KeyStore. Para ver un ejemplo de inicio de sesión en un HSM mediante el proveedor JCE, consulte Inicio de sesión en un HSM
Si lo desea, puede especificar una contraseña para cifrar el PKCS12 archivo local que contiene los datos del almacén de claves. Al crear el AWS CloudHSM almacén de claves, se establece la contraseña y se la proporciona cuando se utilizan los métodos load, set y get.
Cree una instancia de un nuevo objeto KeyStore CloudHSM de la siguiente manera:
ks.load(null, null);
Para escribir los datos del almacén de claves en un archivo, utilice el método store. A partir de ese momento, puede cargar el almacén de claves existente utilizando el método load con el archivo de origen y la contraseña de la siguiente manera:
ks.load(inputStream, password);
Utilice el SDK 3 para el cliente AWS CloudHSM KeyStore AWS CloudHSM
Por lo general, un objeto KeyStore CloudHSM se utiliza a través de una aplicación de terceros, como
AWS CloudHSM KeyStore cumple con la KeyStore especificación de la clase
-
loadCarga el almacén de claves a partir de la secuencia de entrada especificada. Si se estableció una contraseña al guardar el almacén de claves, debe proporcionarse esta misma contraseña para que la carga se realice correctamente. Establezca los dos parámetros en null para inicializar un nuevo almacén de claves vacío.
KeyStore ks = KeyStore.getInstance("CloudHSM"); ks.load(inputStream, password); -
aliasesDevuelve una enumeración de los nombres de alias de todas las entradas de la instancia especificada del almacén de claves. Los resultados incluyen los objetos almacenados localmente en el PKCS12 archivo y los objetos que residen en el HSM.
Código de muestra:
KeyStore ks = KeyStore.getInstance("CloudHSM"); for(Enumeration<String> entry = ks.aliases(); entry.hasMoreElements();) { String label = entry.nextElement(); System.out.println(label); } -
ContainsAliasDevuelve true si el almacén de claves tiene acceso al menos a un objeto con el alias especificado. El almacén de claves comprueba los objetos almacenados localmente en el PKCS12 archivo y los objetos que residen en el HSM.
-
DeleteEntryElimina una entrada de certificado del archivo local PKCS12 . No se permite eliminar los datos clave almacenados en un HSM mediante el. AWS CloudHSM KeyStore Puede eliminar las claves con la herramienta key_mgmt_util de CloudHSM.
-
GetCertificateDevuelve el certificado asociado a un alias, si está disponible. Si el alias no existe o hace referencia a un objeto que no es un certificado, la función devuelve NULL.
KeyStore ks = KeyStore.getInstance("CloudHSM"); Certificate cert = ks.getCertificate(alias) -
GetCertificateAliasDevuelve el nombre (alias) de la primera entrada del almacén de claves cuyos datos coinciden con el certificado especificado.
KeyStore ks = KeyStore.getInstance("CloudHSM"); String alias = ks.getCertificateAlias(cert) -
GetCertificateChainDevuelve la cadena de certificados asociada con el alias especificado. Si el alias no existe o hace referencia a un objeto que no es un certificado, la función devuelve NULL.
-
GetCreationDateDevuelve la fecha de creación de la entrada identificada por el alias especificado. Si no hay disponible ninguna fecha de creación, la función devuelve la fecha en la que el certificado pasó a ser válido.
-
GetKeyGetKey se pasa al HSM y devuelve un objeto clave correspondiente a la etiqueta dada. Como consulta
getKeydirectamente al HSM, se puede utilizar para cualquier clave del HSM, independientemente de si fue generada por el. KeyStoreKey key = ks.getKey(keyLabel, null); -
IsCertificateEntryComprueba si la entrada con el alias especificado representa una entrada de certificado.
-
IsKeyEntryComprueba si la entrada con el alias especificado representa una entrada de clave. La acción busca el alias tanto en el PKCS12 archivo como en el HSM.
-
SetCertificateEntryAsigna el certificado especificado al alias proporcionado. Si el alias proporcionado ya se utiliza para identificar una clave o un certificado, se inicia una excepción
KeyStoreException. Puede utilizar el código JCE para obtener el objeto clave y, a continuación, utilizar el KeyStoreSetKeyEntrymétodo para asociar el certificado a la clave. -
SetKeyEntrycon una clavebyte[]Actualmente, esta API no es compatible con SDK 3 de cliente.
-
SetKeyEntrycon un objetoKeyAsigna la clave especificada al alias proporcionado y la almacena dentro del HSM. Si el objeto
Keyno es de tipoCaviumKey, la clave se importa en el HSM como clave de sesión extraíble.Si el objeto
Keyes de tipoPrivateKey, debe ir acompañado de la cadena de certificados correspondiente.Si el alias ya existe, la llamada a
SetKeyEntryinicia una excepciónKeyStoreExceptiony evita que la clave se sobrescriba. Si es necesario sobrescribir la clave, utilice KMU o JCE para ese propósito. -
EngineSizeDevuelve el número de entradas del almacén de claves.
-
StoreAlmacena el almacén de claves del flujo de salida dado como un PKCS12 archivo y lo protege con la contraseña proporcionada. Además, conserva todas las claves cargadas (que se establecen mediante llamadas a
setKey).