Gestión del ciclo de vida de las claves criptográficas en HSM.
Consulte la documentación técnica del HSM.
Funciones | |
byte[] | getUserKey (String strKeyName, int nFlags) throws TacException |
Recupera el contexto de una clave, siempre que el usuario actual tenga acceso, almacenada en el HSM. | |
byte[] | getUserKey (String strKeyName) throws TacException |
Recupera el contexto de una clave, siempre que el usuario actual tenga acceso, almacenada en el HSM. | |
byte[] | getUserKeyOffline (String strKeyName, int algId, boolean isTemporary, boolean isExportable) throws TacException |
Recupera el contexto de una clave, sin verificar la información transmitida, siempre que el usuario actual tenga acceso, almacenada en el HSM. | |
void | deleteKey (String keyId) throws TacException |
Borra la llave. | |
void | deleteKeyIfExists (String keyId) throws TacException |
Borra la clave si existe. | |
byte[] | createKeyMaterial (int keyAlg) throws TacException |
Crea una nueva clave criptográfica y devuelve su contenido sin persistir en el HSM. | |
void | createKey (String keyId, int keyAlg, boolean exportable) throws TacException |
Crea y almacena una clave criptográfica asociada a un algoritmo según los parámetros introducidos en el HSM. | |
void | createKey (String keyId, int keyAlg) throws TacException |
Crea y almacena una clave criptográfica asociada a un algoritmo según los parámetros introducidos en el HSM. | |
void | createKey (String keyId, int keyAlg, int dwFlags) throws TacException |
Crea y almacena una clave criptográfica asociada a un algoritmo según los parámetros introducidos en el HSM. | |
byte[] | exportKey (String szKey, int dwBlobType) throws TacException |
Exporta una clave HSM a la máquina local. | |
byte[] | exportKey (String szKey, byte[] hKEKey, int dwBlobType) throws TacException |
Exporta una clave HSM a la máquina local. | |
byte[] | exportKey (byte[] hKey, byte[] hKEKey, int dwBlobType) throws TacException |
Exporta una clave HSM a la máquina local. | |
void | importKey (String szKey, int dwBlobType, int nAlgId, byte[] pbInData, boolean isExportable) throws TacException |
Importar una clave del equipo local al HSM. | |
void | importKey (String szKey, int dwBlobType, int nAlgId, int dwFlags, byte[] pbInData, int dwInDataLen) throws TacException |
Importar una clave del equipo local al HSM. | |
void | importKey (String szKey, byte[] hKEKey, int dwBlobType, int nAlgId, int dwFlags, byte[] pbInData, byte[] hKey) throws TacException |
Importar una clave del equipo local al HSM. | |
byte[] | importKey (String szKey, int dwBlobType, int nAlgId, int dwFlags, byte[] pbInData) throws TacException |
Importar una clave del equipo local al HSM. | |
void | importKey (String szKey, byte[] hKEKey, int dwBlobType, int nAlgId, int dwFlags, byte[] pbInData, int dwInDataLen, byte[] hKey) throws TacException |
Importar una clave del equipo local al HSM. | |
void | PKCS12Import (String szPathFile, String szPassword, String szKey, String szCert, boolean isExportable) throws TacException |
Importa una clave/certificado desde un archivo en formato PKCS#12 al HSM. | |
void | importPKCS12 (String szPathFile, String szPassword, String szKey, String szCert, boolean isExportable) throws TacException |
Importa una clave/certificado desde un archivo en formato PKCS#12 al HSM. | |
void | importPKCS12 (byte[] pbPkcs12, String szPassword, String szKey, String szCert, boolean isExportable) throws TacException |
Importa una clave/certificado desde un búfer en formato PKCS#12 al HSM. | |
void | importPKCS12 (byte[] pbPkcs12, String szPassword, String szKey, int nKeyAttr, String szCert, String szPubKey, int nReserved) throws TacException |
Importa una clave/certificado desde un búfer en formato PKCS#12 al HSM. | |
byte[] | exportPKCS12 (String password, String key, String cert, String strReserved, int dwFlags) throws TacException |
Exporta una clave y un certificado HSM en formato PKCS#12. | |
byte[] | exportPKCS12 (String password, String key, String cert) throws TacException |
Exporta una clave y un certificado HSM en formato PKCS#12. | |
byte[] | PKCS8ExportKey (String szKeyId, String szSecret) throws TacException |
Exporta una clave asimétrica en un archivo con formato PKCS#8 al HSM. | |
void | PKCS8ImportKey (String szKeyId, String szSecret, int dwKeyAlg, byte[] bKeyEnvelope, boolean isExportable) throws TacException |
Importa una clave asimétrica desde un archivo en formato PKCS#8 al HSM. | |
int | getAlgId (byte[] ctxKey) throws TacException |
Recupera el algoritmo de la clave. | |
int | getAlgId (String keyId) throws TacException |
Recupera el algoritmo de la clave. | |
byte[] | readObject (String szObject) throws TacException |
Exporta un objeto HSM a la máquina local. | |
void | writeObject (String szObject, byte[] jbObjectData) throws TacException |
Importar un objeto del equipo local al HSM. | |
byte[] | getKeyHandle (String keyId) throws TacException |
Recuperar un mango de llave. | |
void | releaseKeyHandle (byte[] keyHandle) lanza una TacException |
Libera un tirador de llave. | |
booleano | isKeyExportable (byte[] keyHandle) throws TacException |
Compruebe que la clave es exportable. | |
booleano | isKeyExportable (String keyId) throws TacException |
Compruebe que la clave es exportable. | |
void | setObjLabel (String objId, String label) throws TacException |
Define el atributo label de los metadatos del objeto. | |
void | createMap (String mapId, String objId1, int objId1Alg, String objId2, int objId2Alg) throws TacException |
Crea un objeto de asignación (MAP) dentro del HSM. | |
Cadena[] | listObjects () throws TacException |
Enumera los objetos HSM. | |
byte[] getUserKey | ( | String | strKeyName, |
int | nFlags ) throws TacException |
Recupera el contexto de una clave, siempre que el usuario actual tenga acceso, almacenada en el HSM.
Esta función no crea una nueva clave.
strKeyName | Identificador de clave en el HSM. |
nFlags |
TacException | Excepción por errores en la recuperación del contexto clave. |
byte[] getUserKey | ( | String | strKeyName | ) | throws TacException |
Recupera el contexto de una clave, siempre que el usuario actual tenga acceso, almacenada en el HSM.
Esta función no crea una nueva clave.
strKeyName | Identificador de clave en el HSM. |
TacException | Excepción por errores en la recuperación del contexto clave. |
byte[] getUserKeyOffline | ( | String | strKeyName, |
int | algId, | ||
boolean | isTemporary, | ||
boolean | isExportable ) throws TacException |
Recupera el contexto de una clave, sin verificar la información transmitida, siempre que el usuario actual tenga acceso, almacenada en el HSM.
Esta función no crea una nueva clave.
strKeyName | Identificador de clave en el HSM. |
algId | Algoritmo clave. |
isTemporary | Le indica si la llave es temporal. |
isExportable | Informa si la clave es exportable. |
TacException | Excepción por errores en la recuperación del contexto clave. |
void deleteKey | ( | String | keyId | ) | throws TacException |
Borra la llave.
keyId | Identificador clave |
TacException |
void deleteKeyIfExists | ( | String | keyId | ) | throws TacException |
Borra la clave si existe.
No devuelve un error si no existe.
keyId | Identificador clave |
TacException |
byte[] createKeyMaterial | ( | int | keyAlg | ) | throws TacException |
Crea una nueva clave criptográfica y devuelve su contenido sin persistir en el HSM.
keyAlg | Algoritmo utilizado: Claves simétricas
|
Exception |
void createKey | ( | String | keyId, |
int | keyAlg, | ||
boolean | exportable ) throws TacException |
Crea y almacena una clave criptográfica asociada a un algoritmo según los parámetros introducidos en el HSM.
La clave generada será exportable.
keyId | Identificador clave | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
keyAlg | Algoritmo utilizado: Claves simétricas
Claves asimétricas RSA
Claves asimétricas ECC
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
exportable | La clave puede exportarse desde el HSM si se establece en true. |
Exception |
void createKey | ( | String | keyId, |
int | keyAlg ) throws TacException |
Crea y almacena una clave criptográfica asociada a un algoritmo según los parámetros introducidos en el HSM.
La clave generada será exportable.
keyId | Identificador clave | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
keyAlg | Algoritmo utilizado: Claves simétricas
Claves asimétricas RSA
Claves asimétricas ECC
|
Exception |
void createKey | ( | String | keyId, |
int | keyAlg, | ||
int | dwFlags ) throws TacException |
Crea y almacena una clave criptográfica asociada a un algoritmo según los parámetros introducidos en el HSM.
keyId | Identificador clave | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
keyAlg | Algoritmo utilizado: Claves simétricas
Claves asimétricas RSA
Claves asimétricas ECC
Claves asimétricas ECX
Claves HMAC
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dwFlags | Parámetros clave adicionales.
Además de los valores de la tabla anterior, puede añadir una definición de perfil de utilización de claves. Puede definir el perfil de utilización de las teclas (Atributo Perfil de uso), utilizando sólo uno de los valores siguientes. Si no se especifica ninguno de los valores siguientes, el perfil de claves se establece como libre para cualquier uso. Es obligatorio definir el perfil de uso cuando el HSM está en modo RM3.
|
Exception |
byte[] exportKey | ( | String | szKey, |
int | dwBlobType ) throws TacException |
Exporta una clave HSM a la máquina local.
szKey | Nombre de la clave a exportar. |
dwBlobType | Formato del búfer de salida. Consulte importKey para obtener una lista de los tipos admitidos. |
TacException |
byte[] exportKey | ( | String | szKey, |
byte[] | hKEKey, | ||
int | dwBlobType ) throws TacException |
Exporta una clave HSM a la máquina local.
szKey | Nombre de la clave a exportar. |
hKEKey | Contexto de la clave con la que se cifrará el bloque de claves - KEK (clave de cifrado de claves). |
dwBlobType | Formato del búfer de salida. Consulte importKey para obtener una lista de los tipos admitidos. |
TacException |
byte[] exportKey | ( | byte[] | hKey, |
byte[] | hKEKey, | ||
int | dwBlobType ) throws TacException |
Exporta una clave HSM a la máquina local.
hKey | Contexto de la clave a exportar. |
hKEKey | Contexto de la clave con la que se cifrará el bloque de claves - KEK (clave de cifrado de claves). |
dwBlobType | Formato del búfer de salida. Consulte importKey para obtener una lista de los tipos admitidos. |
TacException |
void importKey | ( | String | szKey, |
int | dwBlobType, | ||
int | nAlgId, | ||
byte[] | pbInData, | ||
boolean | isExportable ) throws TacException |
Importar una clave del equipo local al HSM.
szKey | Nombre que tendrá la clave importada dentro del HSM. | ||||||||||||||||||||||||||||||
dwBlobType | Formato del búfer de salida.
Tabla de TacNDJavaLib.PUBLICKEY_BLOB_HSM.
| ||||||||||||||||||||||||||||||
nAlgId | Algoritmo de clave importado. Véase createKey. | ||||||||||||||||||||||||||||||
isExportable | Indica que la clave importada será exportable. | ||||||||||||||||||||||||||||||
pbInData | Buffer que contiene la clave a importar, tal y como se especifica en dwBlobType. |
TacException |
void importKey | ( | String | szKey, |
int | dwBlobType, | ||
int | nAlgId, | ||
int | dwFlags, | ||
byte[] | pbInData, | ||
int | dwInDataLen ) throws TacException |
Importar una clave del equipo local al HSM.
szKey | Nombre que tendrá la clave importada dentro del HSM. | ||||||||||||||||||||||||||||
dwBlobType | Formato del búfer de salida.
Tabla de TacNDJavaLib.PUBLICKEY_BLOB_HSM.
| ||||||||||||||||||||||||||||
nAlgId | Algoritmo de clave importado. Véase createKey. | ||||||||||||||||||||||||||||
dwFlags | Parámetros adicionales de la clave. Véase createKey. | ||||||||||||||||||||||||||||
pbInData | Buffer que contiene la clave a importar, tal y como se especifica en dwBlobType. | ||||||||||||||||||||||||||||
dwInDataLen | Tamaño del búfer pbInData que se va a importar. |
TacException |
void importKey | ( | String | szKey, |
byte[] | hKEKey, | ||
int | dwBlobType, | ||
int | nAlgId, | ||
int | dwFlags, | ||
byte[] | pbInData, | ||
byte[] | hKey ) throws TacException |
Importar una clave del equipo local al HSM.
szKey | Nombre que tendrá la clave importada dentro del HSM. | ||||||||||||||||||||||||||||||||
hKEKey | Contexto de la clave con la que se cifra el blob de la clave que se va a importar - KEK (clave de cifrado de la clave) | ||||||||||||||||||||||||||||||||
dwBlobType | Formato del búfer de salida.
Tabla de TacNDJavaLib.PUBLICKEY_BLOB_HSM.
| ||||||||||||||||||||||||||||||||
nAlgId | Algoritmo de clave importado. Véase createKey. | ||||||||||||||||||||||||||||||||
dwFlags | Parámetros adicionales de la clave. Véase createKey. | ||||||||||||||||||||||||||||||||
pbInData | Buffer que contiene la clave a importar, tal y como se especifica en dwBlobType. | ||||||||||||||||||||||||||||||||
hKey | Contexto de la clave importada. |
TacException |
byte[] importKey | ( | String | szKey, |
int | dwBlobType, | ||
int | nAlgId, | ||
int | dwFlags, | ||
byte[] | pbInData ) throws TacException |
Importar una clave del equipo local al HSM.
szKey | Nombre que tendrá la clave importada dentro del HSM. | ||||||||||||||||||||||||||||||||
dwBlobType | Formato del búfer de salida.
Tabla de TacNDJavaLib.PUBLICKEY_BLOB_HSM.
| ||||||||||||||||||||||||||||||||
nAlgId | Algoritmo de clave importado. Véase createKey. | ||||||||||||||||||||||||||||||||
dwFlags | Parámetros adicionales de la clave. Véase createKey. | ||||||||||||||||||||||||||||||||
pbInData | Buffer que contiene la clave a importar, tal y como se especifica en dwBlobType. |
TacException |
void importKey | ( | String | szKey, |
byte[] | hKEKey, | ||
int | dwBlobType, | ||
int | nAlgId, | ||
int | dwFlags, | ||
byte[] | pbInData, | ||
int | dwInDataLen, | ||
byte[] | hKey ) throws TacException |
Importar una clave del equipo local al HSM.
szKey | Nombre que tendrá la clave importada dentro del HSM. | ||||||||||||||||||||||||||||||||
hKEKey | Contexto de la clave con la que se cifra el blob de la clave que se va a importar - KEK (clave de cifrado de la clave) | ||||||||||||||||||||||||||||||||
dwBlobType | Formato del búfer de salida.
Tabla de TacNDJavaLib.PUBLICKEY_BLOB_HSM.
| ||||||||||||||||||||||||||||||||
nAlgId | Algoritmo de clave importado. Véase createKey. | ||||||||||||||||||||||||||||||||
dwFlags | Parámetros adicionales de la clave. Véase createKey. | ||||||||||||||||||||||||||||||||
pbInData | Buffer que contiene la clave a importar, tal y como se especifica en dwBlobType. | ||||||||||||||||||||||||||||||||
dwInDataLen | Tamaño del búfer pbInData que se va a importar. | ||||||||||||||||||||||||||||||||
hKey | Contexto de la clave importada. |
TacException |
void PKCS12Import | ( | String | szPathFile, |
String | szPassword, | ||
String | szKey, | ||
String | szCert, | ||
boolean | isExportable ) throws TacException |
Importa una clave/certificado desde un archivo en formato PKCS#12 al HSM.
szKey | Nombre que tendrá la clave importada dentro del HSM. |
szPathFile | Ubicación del archivo PFX físico que se va a importar. |
szPassword | Contraseña para abrir el archivo PFX. |
szCert | Nombre que tendrá el certificado importado dentro del HSM. |
isExportable | Importa la clave en formato exportable. |
TacException |
void importPKCS12 | ( | String | szPathFile, |
String | szPassword, | ||
String | szKey, | ||
String | szCert, | ||
boolean | isExportable ) throws TacException |
Importa una clave/certificado desde un archivo en formato PKCS#12 al HSM.
szPathFile | Ubicación del archivo PFX físico que se va a importar. |
szPassword | Contraseña para abrir el archivo PFX. |
szKey | Nombre que tendrá la clave importada dentro del HSM. |
szCert | Nombre que tendrá el certificado importado dentro del HSM. |
isExportable | Importa la clave en formato exportable. |
TacException |
void importPKCS12 | ( | byte[] | pbPkcs12, |
String | szPassword, | ||
String | szKey, | ||
String | szCert, | ||
boolean | isExportable ) throws TacException |
Importa una clave/certificado desde un búfer en formato PKCS#12 al HSM.
pbPkcs12 | PKCS#12. |
szPassword | Contraseña para PKCS#12. |
szKey | Nombre que tendrá la clave importada dentro del HSM. |
szCert | Nombre que tendrá el certificado importado dentro del HSM. |
isExportable | Importe la clave privada en formato exportable. |
TacException |
void importPKCS12 | ( | byte[] | pbPkcs12, |
String | szPassword, | ||
String | szKey, | ||
int | nKeyAttr, | ||
String | szCert, | ||
String | szPubKey, | ||
int | nReserved ) throws TacException |
Importa una clave/certificado desde un búfer en formato PKCS#12 al HSM.
pbPkcs12 | PKCS#12. |
szPassword | Contraseña para PKCS#12. |
szKey | Nombre que tendrá la clave importada dentro del HSM. |
nKeyAttr | Atributos de la clave que se importará en el HSM. Dinamo Consulte las opciones posibles en el parámetro dwFlags de .createKey(). |
szCert | Nombre que tendrá el certificado importado dentro del HSM. |
szPubKey | Nombre que tendrá la clave pública importada dentro del HSM. Puede ser null para no importar el objeto de clave pública. |
nReserved | Reservado para uso futuro. Debe ser 0. |
TacException |
byte[] exportPKCS12 | ( | String | password, |
String | key, | ||
String | cert, | ||
String | strReserved, | ||
int | dwFlags ) throws TacException |
Exporta una clave y un certificado HSM en formato PKCS#12.
password | Contraseña para la protección PFX. | ||||
key | Nombre de la clave que se exportará a PFX. | ||||
cert | Nombre del certificado que se exportará a PFX. | ||||
strReserved | Reservado para uso futuro. | ||||
dwFlags | Pase 0 o una de las opciones de la tabla siguiente.
|
TacException |
byte[] exportPKCS12 | ( | String | password, |
String | key, | ||
String | cert ) throws TacException |
Exporta una clave y un certificado HSM en formato PKCS#12.
password | Contraseña para la protección PFX. |
key | Nombre de la clave que se exportará a PFX. |
cert | Nombre del certificado que se exportará a PFX. |
TacException |
byte[] PKCS8ExportKey | ( | String | szKeyId, |
String | szSecret ) throws TacException |
Exporta una clave asimétrica en un archivo con formato PKCS#8 al HSM.
szKeyId | Identificación clave. |
szSecret | Contraseña para el archivo PKCS#8 (debe tener más de 16 caracteres). |
TacException |
void PKCS8ImportKey | ( | String | szKeyId, |
String | szSecret, | ||
int | dwKeyAlg, | ||
byte[] | bKeyEnvelope, | ||
boolean | isExportable ) throws TacException |
Importa una clave asimétrica desde un archivo en formato PKCS#8 al HSM.
szKeyId | Identificación clave. | ||||||||||||||||
szSecret | Contraseña para el archivo PKCS#8 (debe tener más de 16 caracteres). | ||||||||||||||||
dwKeyAlg | Identificador del algoritmo clave. Claves asimétricas RSA
| ||||||||||||||||
bKeyEnvelope | Formato de archivo binario PKCS#8 | ||||||||||||||||
isExportable | Importa la clave en formato exportable. |
TacException |
int getAlgId | ( | byte[] | ctxKey | ) | throws TacException |
Recupera el algoritmo de la clave.
ctxKey | Mango de la clave, recuperado por getKeyHandle(). |
TacException |
int getAlgId | ( | String | keyId | ) | throws TacException |
Recupera el algoritmo de la clave.
keyId | Identificador clave |
TacException |
byte[] readObject | ( | String | szObject | ) | throws TacException |
Exporta un objeto HSM a la máquina local.
szObject | Nombre del objeto a exportar. |
TacException |
void writeObject | ( | String | szObject, |
byte[] | jbObjectData ) throws TacException |
Importar un objeto del equipo local al HSM.
szObject | Nombre del objeto a importar. |
jbObjectData | Datos del objeto a importar. |
TacException |
byte[] getKeyHandle | ( | String | keyId | ) | throws TacException |
Recuperar un mango de llave.
Debe liberarse con el método releaseKey().
keyId | Identificador de clave en formato de texto |
TacException |
void releaseKeyHandle | ( | byte[] | keyHandle | ) | throws TacException |
Libera un tirador de llave.
keyHandle | Mango de la clave recuperada por getKeyHandle(). |
TacException |
boolean isKeyExportable | ( | byte[] | keyHandle | ) | throws TacException |
Compruebe que la clave es exportable.
keyHandle | Mango de la clave recuperada por getKeyHandle(). |
TacException |
boolean isKeyExportable | ( | String | keyId | ) | throws TacException |
Compruebe que la clave es exportable.
keyId | Identificador clave. |
TacException |
void setObjLabel | ( | String | objId, |
String | label ) throws TacException |
Define el atributo label de los metadatos del objeto.
objId | Identificador de objeto |
label | Etiqueta |
TacException |
void createMap | ( | String | mapId, |
String | objId1, | ||
int | objId1Alg, | ||
String | objId2, | ||
int | objId2Alg ) throws TacException |
Crea un objeto de asignación (MAP) dentro del HSM.
mapId | Identificador del objeto PRT. |
objId1 | Identificador del objeto al que apunta la primera ranura del PRT. |
objId1Alg | Algoritmo del objeto indicado por objId1Alg. Puede ser cualquier tipo de objeto (véase createKey) o TacNDJavaLib.ALG_OBJ_NULL. |
objId2 | Identificador del objeto al que apunta la segunda ranura del PRT. |
objId2Alg | Algoritmo del objeto indicado por objId2Alg. Puede ser cualquier tipo de objeto (véase createKey) o TacNDJavaLib.ALG_OBJ_NULL. |
Exception |
String[] listObjects | ( | ) | throws TacException |
Enumera los objetos HSM.
TacException |