Operaciones hash criptográficas simétricas y asimétricas.
Funciones | |
byte[] | createHash (int nAlgId, byte[] hKey, int nFlags) throws TacException |
Crea un contexto para el cálculo de Hash. | |
byte[] | createHash (int nAlgId) throws TacException |
Crea un contexto para calcular el hash. | |
byte[] | genEcdhKey (int dwOP, String szPriKey, byte[] pbInData) throws TacException |
Genera una clave/secreto compartido utilizando el protocolo de acuerdo de claves ECDH (Elliptc Curve Diffie-Hellman). | |
byte[] | genEcdhKeyX963 (int dwOP, String szPriKey, String szTargetKeyName, int dwTargetKeyAlg, int dwTargetKeyAttributes, byte[] pbPubKey, byte[] pbKDFData, int dwFlags) throws TacException |
Genera una clave secreta compartida utilizando el protocolo de acuerdo de claves ECDH (Elliptc Curve Diffie-Hellman) estándar ANSI X9.63. | |
byte[] | genEcdhKeyX963Sha256 (String szPriKey, String szTargetKeyName, int dwTargetKeyAlg, boolean isExportable, boolean isTemporary, byte[] pbPubKey, byte[] pbKDFData) throws TacException |
Genera una clave/secreto compartido utilizando el protocolo de acuerdo de claves ECDH (Elliptc Curve Diffie-Hellman) estándar ANSI X9.63 SHA256. | |
byte[] | getRand (int tamaño) throws TacException |
Genera un búfer pseudoaleatorio, generado en el HSM, para uso criptográfico. | |
byte[] | encrypt (String strKeyId, byte[] byInput) throws TacException |
Cifra un búfer de datos. | |
byte[] | encrypt (String strKeyId, byte[] byInput, int flags) throws TacException |
Cifra un búfer de datos. | |
byte[] | encrypt (String strKeyId, byte[] byInput, byte[] byIV, int dwPadding, int dwMode) throws TacException |
Cifra los datos. | |
byte[] | encrypt (String strKeyId, byte[] byInput, byte[] byIV, int dwPadding, int dwMode, int flags) throws TacException |
Cifra los datos. | |
byte[] | decrypt (String keyId, byte[] input) throws TacException |
Desencripta los datos, a menudo encriptados por la función DEncrypt. | |
byte[] | decrypt (String keyId, byte[] input, int flags) throws TacException |
Desencripta los datos, a menudo encriptados por la función DEncrypt. | |
byte[] | decrypt (String keyId, byte[] input, byte[] byIV, int dwPadding, int dwMode) throws TacException |
Desencripta los datos, a menudo encriptados por la función DEncrypt. | |
byte[] | decrypt (String keyId, byte[] input, byte[] byIV, int dwPadding, int dwMode, int flags) throws TacException |
Desencripta los datos, a menudo encriptados por la función DEncrypt. | |
int | verifySignature (String keyId, int algHash, byte[] bSignature, byte[] bMessage) throws TacException |
Comprueba un mensaje. | |
int | verifySignature (String keyId, int algHash, int padding, byte[] bSignature, byte[] bMessage) throws TacException |
Comprueba un mensaje. | |
int | verifySignature (byte[] hPublicKey, byte[] hHash, byte[] bSignature) throws TacException |
Comprueba un mensaje. | |
int | verifySignature (byte[] hPublicKey, int hashAlg, byte[] bSignature, byte[] bMessage) throws TacException |
Comprueba un mensaje. | |
byte[] | signHash (String keyId, int algHash, byte[] bMessage) throws TacException |
Firma un dato en función de su contenido. | |
byte[] | sign (String keyId, int algHash, byte[] bMessage) throws TacException |
Firma un dato en función de su contenido. | |
byte[] | sign (String keyId, int algHash, int padding, byte[] bMessage) throws TacException |
Firma un dato en función de su contenido. | |
byte[] | signHashedData (String keyId, int algHash, byte[] bHash) throws TacException |
Firma un dato basándose en su hash previamente calculado. | |
byte[] | signHashedData (String keyId, int algHash, byte[] bHash, boolean useOID) throws TacException |
Firma un dato basándose en su hash previamente calculado. | |
byte[] | signHashedData (String keyId, int algHash, byte[] bHash, int nFlags) throws TacException |
Firma un dato basándose en su hash previamente calculado. | |
byte[] | signHashedData (byte[] privateKeyHandle, int algHash, byte[] bHash, int nFlags) throws TacException |
Firma un dato basándose en su hash previamente calculado. | |
byte[] | generateHash (int algId, int flags, byte[] data) throws TacException |
Genera un hash en una sola llamada. | |
byte[] | generateHash (int algId, byte[] data) throws TacException |
Genera un hash en una sola llamada. | |
void | initHash (int algId, int flags) throws TacException |
Inicializa una operación hash a trozos. | |
void | initHash (int algId) throws TacException |
Inicializa una operación hash a trozos. | |
void | updateHash (byte[] data) lanza una TacException |
Actualiza una operación hash con más datos. | |
byte[] | endHash () lanza una TacException |
Finaliza una operación hash. | |
byte[] | generateMAC (int algId, String macKey, int flags, byte[] data) throws TacException |
Genera un MAC en una sola llamada. | |
byte[] | generateMAC (int algId, String macKey, byte[] data) throws TacException |
Genera un MAC en una sola llamada. | |
void | initMAC (int algId, String macKey, int flags) throws TacException |
Inicializa una operación MAC por partes. | |
void | initMAC (int algId, String macKey) throws TacException |
Inicializa una operación MAC por partes. | |
void | updateMAC (byte[] data) lanza una TacException |
Actualiza una operación MAC con más datos. | |
byte[] | endMAC () throws TacException |
Finaliza una operación MAC. | |
byte[] createHash | ( | int | nAlgId, |
byte[] | hKey, | ||
int | nFlags ) throws TacException |
Crea un contexto para el cálculo de Hash.
nAlgId | Identificador del algoritmo a utilizar |
hKey | Contexto clave que debe utilizarse |
nFlags |
TacException |
byte[] createHash | ( | int | nAlgId | ) | throws TacException |
Crea un contexto para calcular el hash.
nAlgId | Indica el algoritmo asociado al contexto hash.
|
TacException |
byte[] genEcdhKey | ( | int | dwOP, |
String | szPriKey, | ||
byte[] | pbInData ) throws TacException |
Genera una clave/secreto compartido utilizando el protocolo de acuerdo de claves ECDH (Elliptc Curve Diffie-Hellman).
dwOP | Indica el algoritmo asociado al contexto hash.
| ||||
szPriKey | Cadena que contiene el identificador de la clave privada dentro del HSM. Este identificador no debe contener espacios ni caracteres especiales. Se distingue entre mayúsculas y minúsculas (distingue entre mayúsculas y minúsculas). | ||||
pbInData | Datos de entrada de la función. Debe rellenarse como se describe en las opciones dwOP. |
TacException |
byte[] genEcdhKeyX963 | ( | int | dwOP, |
String | szPriKey, | ||
String | szTargetKeyName, | ||
int | dwTargetKeyAlg, | ||
int | dwTargetKeyAttributes, | ||
byte[] | pbPubKey, | ||
byte[] | pbKDFData, | ||
int | dwFlags ) throws TacException |
Genera una clave secreta compartida utilizando el protocolo de acuerdo de claves ECDH (Elliptc Curve Diffie-Hellman) estándar ANSI X9.63.
dwOP | Indica el algoritmo utilizado.
| ||||
szPriKey | Identificador de la clave privada dentro del HSM. | ||||
szTargetKeyName | Identificador de la clave que se generará en el HSM. Sólo caracteres alfanuméricos y subrayado '_' con una longitud máxima de TacNDJavaLib.MAX_OBJ_ID. Se diferencian los caracteres en mayúsculas y minúsculas (se distingue entre mayúsculas y minúsculas). Este parámetro puede ser nulo si se desea que el método devuelva el contenido de la clave generada. | ||||
dwTargetKeyAlg | Algoritmo de la clave que se generará en el HSM. Consulte las opciones del método createKey. | ||||
dwTargetKeyAttributes | Parámetros adicionales de la clave que se generará en el HSM. Véase createKey. | ||||
pbPubKey | La clave pública de la otra parte, en formato DER. El tamaño máximo de los búferes pbPubKey y pbKDFData juntos no debe superar TacNDJavaLib.DN_ECDH_GEN_KEY_MAX_DATA. | ||||
pbKDFData | Datos que se utilizarán para derivar la clave. El tamaño máximo de los búferes pbPubKey y pbKDFData juntos no debe superar TacNDJavaLib.DN_ECDH_GEN_KEY_MAX_DATA. | ||||
dwFlags | Reservado para uso futuro. Debe pasar 0. |
TacException |
byte[] genEcdhKeyX963Sha256 | ( | String | szPriKey, |
String | szTargetKeyName, | ||
int | dwTargetKeyAlg, | ||
boolean | isExportable, | ||
boolean | isTemporary, | ||
byte[] | pbPubKey, | ||
byte[] | pbKDFData ) throws TacException |
Genera una clave/secreto compartido utilizando el protocolo de acuerdo de claves ECDH (Elliptc Curve Diffie-Hellman) estándar ANSI X9.63 SHA256.
szPriKey | Identificador de la clave privada dentro del HSM. |
szTargetKeyName | Identificador de la clave que se generará en el HSM. Sólo caracteres alfanuméricos y subrayado '_' con una longitud máxima de TacNDJavaLib.MAX_OBJ_ID. Se diferencian los caracteres en mayúsculas y minúsculas (se distingue entre mayúsculas y minúsculas). Este parámetro puede ser nulo si se desea que el método devuelva el contenido de la clave generada. |
dwTargetKeyAlg | Algoritmo de la clave que se generará en el HSM. Consulte las opciones del método createKey. |
isTemporary | Informa de si la clave que se generará en el HSM es temporal. |
isExportable | Informa de si la clave, que se generará en el HSM, es exportable. |
pbPubKey | La clave pública de la otra parte, en formato DER. El tamaño máximo de los búferes pbPubKey y pbKDFData juntos no debe superar TacNDJavaLib.DN_ECDH_GEN_KEY_MAX_DATA. |
pbKDFData | Datos que se utilizarán para derivar la clave. El tamaño máximo de los búferes pbPubKey y pbKDFData juntos no debe superar TacNDJavaLib.DN_ECDH_GEN_KEY_MAX_DATA. |
TacException |
byte[] getRand | ( | int | size | ) | throws TacException |
Genera un búfer pseudoaleatorio, generado en el HSM, para uso criptográfico.
size | Tamaño del búfer que se generará. |
TacException |
byte[] encrypt | ( | String | strKeyId, |
byte[] | byInput ) throws TacException |
Cifra un búfer de datos.
strKeyId | Identificador clave. |
byInput | Búfer que contiene los datos que deben encriptarse. |
TacException |
byte[] encrypt | ( | String | strKeyId, |
byte[] | byInput, | ||
int | flags ) throws TacException |
Cifra un búfer de datos.
strKeyId | Identificador clave. | ||||||
byInput | Búfer que contiene los datos que deben encriptarse. | ||||||
flags | Indica opciones adicionales de funcionamiento.
|
TacException |
byte[] encrypt | ( | String | strKeyId, |
byte[] | byInput, | ||
byte[] | byIV, | ||
int | dwPadding, | ||
int | dwMode ) throws TacException |
Cifra los datos.
strKeyId | Identificador clave. | ||||||||||||||
byInput | Búfer que contiene los datos que deben encriptarse. | ||||||||||||||
byIV | Buffer que contiene el IV (Vector de Inicialización). Se puede pasar null a No utilizado o utilizar el valor por defecto. Vector de inicialización utilizado con los algoritmos de blockchain según su modo de funcionamiento de cifrado simétrico. El tamaño del vector de inicialización depende del algoritmo simétrico utilizado, ya que tiene la misma longitud que la operación de bloque. Sólo válido para claves simétricas. | ||||||||||||||
dwPadding | La biblioteca puede trabajar con las siguientes formas de relleno.
Sólo válido para claves simétricas. | ||||||||||||||
dwMode | Indica el modo de funcionamiento de cifrado del algoritmo de bloques.
Sólo válido para claves simétricas y algoritmos de bloque. |
TacException |
byte[] encrypt | ( | String | strKeyId, |
byte[] | byInput, | ||
byte[] | byIV, | ||
int | dwPadding, | ||
int | dwMode, | ||
int | flags ) throws TacException |
Cifra los datos.
strKeyId | Identificador clave. | ||||||||||||||
byInput | Búfer que contiene los datos que deben encriptarse. | ||||||||||||||
byIV | Buffer que contiene el IV (Vector de Inicialización). Se puede pasar null a No utilizado o utilizar el valor por defecto. Vector de inicialización utilizado con los algoritmos de blockchain según su modo de funcionamiento de cifrado simétrico. El tamaño del vector de inicialización depende del algoritmo simétrico utilizado, ya que tiene la misma longitud que la operación de bloque. Sólo válido para claves simétricas. | ||||||||||||||
dwPadding | La biblioteca puede trabajar con las siguientes formas de relleno.
Sólo válido para claves simétricas. | ||||||||||||||
dwMode | Indica el modo de funcionamiento de cifrado del algoritmo de bloques.
Sólo válido para claves simétricas y algoritmos de bloque. | ||||||||||||||
flags | Indica opciones adicionales de funcionamiento.
|
TacException |
byte[] decrypt | ( | String | keyId, |
byte[] | input ) throws TacException |
Desencripta los datos, a menudo encriptados por la función DEncrypt.
keyId | Identificador clave. |
input | Búfer que contiene los datos que deben descifrarse. Para las operaciones simétricas de bloque, el tamaño de los datos debe ser siempre múltiplo del bloque utilizado por el algoritmo en cuestión. |
TacException |
byte[] decrypt | ( | String | keyId, |
byte[] | input, | ||
int | flags ) throws TacException |
Desencripta los datos, a menudo encriptados por la función DEncrypt.
keyId | Identificador clave. | ||||||
input | Búfer que contiene los datos que deben descifrarse. Para las operaciones simétricas de bloque, el tamaño de los datos debe ser siempre múltiplo del bloque utilizado por el algoritmo en cuestión. | ||||||
flags | Indica opciones adicionales de funcionamiento.
|
TacException |
byte[] decrypt | ( | String | keyId, |
byte[] | input, | ||
byte[] | byIV, | ||
int | dwPadding, | ||
int | dwMode ) throws TacException |
Desencripta los datos, a menudo encriptados por la función DEncrypt.
keyId | Identificador clave. | ||||||||||||||
input | Búfer que contiene los datos que deben descifrarse. Para las operaciones simétricas de bloque, el tamaño de los datos debe ser siempre múltiplo del bloque utilizado por el algoritmo en cuestión. | ||||||||||||||
byIV | Buffer que contiene el IV (Vector de Inicialización). Se puede pasar null a No utilizado o utilizar el valor por defecto. Vector de inicialización utilizado con los algoritmos de blockchain según su modo de funcionamiento de cifrado simétrico. El tamaño del vector de inicialización depende del algoritmo simétrico utilizado, ya que tiene la misma longitud que la operación de bloque. Sólo válido para claves simétricas. | ||||||||||||||
dwPadding | La biblioteca puede trabajar con las siguientes formas de relleno.
Sólo válido para claves simétricas. | ||||||||||||||
dwMode | Indica el modo de funcionamiento de cifrado del algoritmo de bloques.
Sólo válido para claves simétricas y algoritmos de bloque. |
TacException |
byte[] decrypt | ( | String | keyId, |
byte[] | input, | ||
byte[] | byIV, | ||
int | dwPadding, | ||
int | dwMode, | ||
int | flags ) throws TacException |
Desencripta los datos, a menudo encriptados por la función DEncrypt.
keyId | Identificador clave. | ||||||||||||||
input | Búfer que contiene los datos que deben descifrarse. Para las operaciones simétricas de bloque, el tamaño de los datos debe ser siempre múltiplo del bloque utilizado por el algoritmo en cuestión. | ||||||||||||||
byIV | Buffer que contiene el IV (Vector de Inicialización). Se puede pasar null a No utilizado o utilizar el valor por defecto. Vector de inicialización utilizado con los algoritmos de blockchain según su modo de funcionamiento de cifrado simétrico. El tamaño del vector de inicialización depende del algoritmo simétrico utilizado, ya que tiene la misma longitud que la operación de bloque. Sólo válido para claves simétricas. | ||||||||||||||
dwPadding | La biblioteca puede trabajar con las siguientes formas de relleno.
Sólo válido para claves simétricas. | ||||||||||||||
dwMode | Indica el modo de funcionamiento de cifrado del algoritmo de bloques.
Sólo válido para claves simétricas y algoritmos de bloque. | ||||||||||||||
flags | Indica opciones adicionales de funcionamiento.
|
TacException |
int verifySignature | ( | String | keyId, |
int | algHash, | ||
byte[] | bSignature, | ||
byte[] | bMessage ) throws TacException |
Comprueba un mensaje.
Utiliza el relleno PKCS#1.
keyId | Identificador de la clave privada de la que se extraerá la clave pública para su verificación. |
algHash | Algoritmo hash utilizado para verificar la firma. Ver opciones en initHash(). |
bSignature | Firma. |
bMessage | Mensaje para verificación de firma. |
TacException |
int verifySignature | ( | String | keyId, |
int | algHash, | ||
int | padding, | ||
byte[] | bSignature, | ||
byte[] | bMessage ) throws TacException |
Comprueba un mensaje.
keyId | Identificador de la clave privada de la que se extraerá la clave pública para su verificación. |
algHash | Algoritmo hash utilizado para verificar la firma. Ver opciones en initHash(). |
padding | Relleno utilizado en la firma. Consulte las opciones en setPadding(). |
bSignature | Firma. |
bMessage | Mensaje para verificación de firma. |
TacException |
int verifySignature | ( | byte[] | hPublicKey, |
byte[] | hHash, | ||
byte[] | bSignature ) throws TacException |
Comprueba un mensaje.
hPublicKey | Manejador de la clave pública. importKey(). |
hHash | Handle del hash del mensaje. Véase initHash(). |
bSignature | Firma. |
TacException |
int verifySignature | ( | byte[] | hPublicKey, |
int | hashAlg, | ||
byte[] | bSignature, | ||
byte[] | bMessage ) throws TacException |
Comprueba un mensaje.
hPublicKey | Manejador de la clave pública. Véase importKey(). |
hashAlg | Algoritmo hash. Ver opciones en initHash(). |
bSignature | Firma. |
bMessage | Mensaje para verificación de firma. |
TacException |
byte[] signHash | ( | String | keyId, |
int | algHash, | ||
byte[] | bMessage ) throws TacException |
Firma un dato en función de su contenido.
keyId | Identificador de la clave privada. |
algHash | Algoritmo hash utilizado en la firma. Ver opciones en initHash(). |
bMessage | Mensaje. |
TacException |
byte[] sign | ( | String | keyId, |
int | algHash, | ||
byte[] | bMessage ) throws TacException |
Firma un dato en función de su contenido.
Utiliza el relleno estándar.
keyId | Identificador de la clave privada. |
algHash | Algoritmo hash utilizado en la firma. Ver opciones en initHash(). |
bMessage | Mensaje. |
TacException |
byte[] sign | ( | String | keyId, |
int | algHash, | ||
int | padding, | ||
byte[] | bMessage ) throws TacException |
Firma un dato en función de su contenido.
keyId | Identificador de la clave privada. |
algHash | Algoritmo hash utilizado en la firma. Ver opciones en initHash(). |
padding | Relleno utilizado en la firma. Consulte las opciones en setPadding(). |
bMessage | Mensaje. |
TacException |
byte[] signHashedData | ( | String | keyId, |
int | algHash, | ||
byte[] | bHash ) throws TacException |
Firma un dato basándose en su hash previamente calculado.
keyId | Identificador de la clave privada. | ||||||||||||||||||||||||||
algHash | Algoritmo hash utilizado en la firma.
| ||||||||||||||||||||||||||
bHash | Hash previamente calculado del mensaje según el algoritmo definido en algHash. |
TacException |
byte[] signHashedData | ( | String | keyId, |
int | algHash, | ||
byte[] | bHash, | ||
boolean | useOID ) throws TacException |
Firma un dato basándose en su hash previamente calculado.
keyId | Identificador de la clave privada. | ||||||||||||||||||||||||||
algHash | Algoritmo hash utilizado en la firma.
| ||||||||||||||||||||||||||
bHash | Hash previamente calculado del mensaje según el algoritmo definido en algHash. | ||||||||||||||||||||||||||
useOID | Cuando este argumento se establece en false, el identificador de objeto (OID) no se coloca delante del valor hash, como se establece en PKCS#7, atributo DigestInfo. |
TacException |
byte[] signHashedData | ( | String | keyId, |
int | algHash, | ||
byte[] | bHash, | ||
int | nFlags ) throws TacException |
Firma un dato basándose en su hash previamente calculado.
keyId | Identificador de la clave privada. | ||||||||||||||||||||||||||
algHash | Algoritmo hash utilizado en la firma.
| ||||||||||||||||||||||||||
bHash | Hash previamente calculado del mensaje según el algoritmo definido en algHash. | ||||||||||||||||||||||||||
nFlags | Debe pasar 0 o algún modificador definido en la lista de abajo.
|
TacException |
byte[] signHashedData | ( | byte[] | privateKeyHandle, |
int | algHash, | ||
byte[] | bHash, | ||
int | nFlags ) throws TacException |
Firma un dato basándose en su hash previamente calculado.
privateKeyHandle | Handle de la clave privada. Recuperado por el método getKeyHandle(). | ||||||||||||||||||||||||||
algHash | Algoritmo hash utilizado en la firma.
| ||||||||||||||||||||||||||
bHash | Hash previamente calculado del mensaje según el algoritmo definido en algHash. | ||||||||||||||||||||||||||
nFlags | Debe pasar 0 o algún modificador definido en la lista de abajo.
|
TacException |
byte[] generateHash | ( | int | algId, |
int | flags, | ||
byte[] | data ) throws TacException |
Genera un hash en una sola llamada.
algId | Indica el algoritmo HASH.
| ||||||||||||||||||||||||||
flags | Hay que gastar cero. | ||||||||||||||||||||||||||
data | Mensaje. |
TacException |
byte[] generateHash | ( | int | algId, |
byte[] | data ) throws TacException |
Genera un hash en una sola llamada.
algId | Indica el algoritmo HASH.
| ||||||||||||||||||||||||||
data | Mensaje. |
TacException |
void initHash | ( | int | algId, |
int | flags ) throws TacException |
Inicializa una operación hash a trozos.
Debe finalizarse con endHash.
algId | Indica el algoritmo HASH.
| ||||||||||||||||||||||||||
flags | Hay que gastar cero. |
TacException |
void initHash | ( | int | algId | ) | throws TacException |
Inicializa una operación hash a trozos.
Debe finalizarse con endHash.
algId | Indica el algoritmo HASH.
|
TacException |
void updateHash | ( | byte[] | data | ) | throws TacException |
Actualiza una operación hash con más datos.
data | Mensaje. |
TacException |
byte[] endHash | ( | ) | throws TacException |
Finaliza una operación hash.
TacException |
byte[] generateMAC | ( | int | algId, |
String | macKey, | ||
int | flags, | ||
byte[] | data ) throws TacException |
Genera un MAC en una sola llamada.
algId | Indica el algoritmo MAC.
| ||||||||||||||||
macKey | Nombre de la clave MAC. | ||||||||||||||||
flags | Hay que gastar cero. | ||||||||||||||||
data | Mensaje. |
TacException |
byte[] generateMAC | ( | int | algId, |
String | macKey, | ||
byte[] | data ) throws TacException |
Genera un MAC en una sola llamada.
algId | Indica el algoritmo MAC.
| ||||||||||||||||
macKey | Nombre de la clave MAC. | ||||||||||||||||
data | Mensaje. |
TacException |
void initMAC | ( | int | algId, |
String | macKey, | ||
int | flags ) throws TacException |
Inicializa una operación MAC por partes.
Debe finalizarse con endMAC.
algId | Indica el algoritmo MAC.
| ||||||||||||||||
macKey | Nombre de la clave MAC. | ||||||||||||||||
flags | Hay que gastar cero. |
TacException |
void initMAC | ( | int | algId, |
String | macKey ) throws TacException |
Inicializa una operación MAC por partes.
Debe finalizarse con endMAC.
algId | Indica el algoritmo MAC.
| ||||||||||||||||
macKey | Nombre de la clave MAC. |
TacException |
void updateMAC | ( | byte[] | data | ) | throws TacException |
Actualiza una operación MAC con más datos.
data | Mensaje. |
TacException |
byte[] endMAC | ( | ) | throws TacException |
Finaliza una operación MAC.
TacException |