API C/C
HSM Dinamo
|
Operaciones de apoyo a la seguridad de las estructuras basadas en Blockchain.
Las API del módulo Blockchain están destinadas a operaciones específicas para procesar la criptografía de la red blockchain y las especificaciones BIP, EIP y SLIP.
La firma ECDSA, por ejemplo, está especializada para evitar maleabilidad de la firmacon la restricción de BAJA-S
.
Ejemplos de operaciones disponibles en el módulo Blockchain:
alt_bn128
según la EIP-196.A continuación figura la lista de redes cuyo cifrado es compatible con HSM:
Entonces | Nombre | Símbolo | Alg. Firma en HSM | Curva | Obs |
---|---|---|---|---|---|
Bitcoin | BTC | ECDSA | secp256k1 | ||
Ethereum | ETH | ECDSA | secp256k1 | ||
Tether | USDT | ECDSA | secp256k1 | token en varias redes (por ejemplo, Ethereum, Algorand) | |
Binance Coin | BNB | ECDSA | secp256k1 | ||
Moneda USD | USDC | ECDSA | secp256k1 | ficha | |
Solana | SOL | EdDSA | edwards25519 | ||
XRP | XRP | ECDSA, EdDSA | secp256k1, edwards25519 | ||
Terra Classic | LUNC | ECDSA | secp256k1 | ||
Cardano | ADA | EdDSA | edwards25519 | ||
Avalancha | AVAX | ECDSA | secp256k1 | ||
Dogecoin | DOGE | ECDSA | secp256k1 | ||
Binance USD | BUSD | ECDSA | secp256k1 | ficha | |
Polkadot | DOT | ECDSA, EdDSA | secp256k1, edwards25519 | ||
Shiba Inu | SHIB | ECDSA | secp256k1 | ficha | |
Bitcoin envuelto | WBTC | ECDSA, EdDSA | secp256k1, edwards25519 | ficha | |
Polígono | MATIC | ECDSA | secp256k1 | ||
Cronos | CRO | ECDSA | secp256k1 | ||
Dai | DAI | ECDSA | secp256k1 | ficha | |
Protocolo NEAR | CERCA DE | ECDSA | secp256k1 | ||
Litecoin | LTC | ECDSA | secp256k1 | ||
TRON | TRX | ECDSA | secp256k1 | ||
ApeCoin | EPA | ECDSA | secp256k1 | ficha | |
Cosmos | ATOM | ECDSA | secp256k1 | ||
Bitcoin Efectivo | BCH | ECDSA | secp256k1 | ||
Algoritmo | ALGO | EdDSA | edwards25519 | ||
Token digital brasileño | BRZ | ECDSA | secp256k1 | ficha | |
Celo Real Brasileño | CREAL | ECDSA | secp256k1 | ficha | |
Celo Dólar | CUSD | ECDSA | secp256k1 | ficha | |
Axie Infinito | AXS | ECDSA | secp256k1 | ficha/moneda | |
Fantom | FTM | ECDSA | secp256k1 | ||
Uniswap | UNI | ECDSA | secp256k1 | ficha | |
Estelar | XLM | EdDSA | edwards25519 | ||
Tezos | XTZ | ECDSA, EdDSA | secp256k1, edwards25519 | ||
CELO | CELO | ECDSA | secp256k1 | ficha/moneda | |
Toncoin | TON | EdDSA | edwards25519 | ||
Enlace en cadena | ENLACE | ECDSA | secp256k1 | ficha |
La aplicación del HSM cumple las normas definidas en la documentación que se indica a continuación:
Operaciones de apoyo a la seguridad de las estructuras basadas en Blockchain. Más...
Funciones | |
int AAP_API | DBchainCreateXPrv(HSESSIONCTX hSession, BYTE bType, DWORD dwAttributes, const char *szId, const BYTE *pcbData, DWORD dwDataLen, DWORD dwReserved) |
int AAP_API | DBchainCreateBip32Ckd(HSESSIONCTX hSession, BYTE bVersion, DWORD dwIndex, DWORD dwAttributes, const char *cszPar, const char *cszDst, DN_BCHAIN_KEY_INFO *pKeyInfo, DWORD dwReserved) |
int AAP_API | DBchainGetAddress(HSESSIONCTX hSession, BYTE bType, BYTE bVer, const char *cszHrp, const char *cszPk, BYTE *pbAddress, DWORD *pdwAddressLen, DWORD dwReserved) |
int AAP_API | DBchainSignHash(HSESSIONCTX hSession, BYTE bType, BYTE bHashMode, BYTE *pbHash, DWORD dwHashLen, const char *cszPk, BYTE *pbSig, DWORD *pdwSigLen, DWORD dwReserved) |
int AAP_API | DBchainVerify(HSESSIONCTX hSession, BYTE bSigType, BYTE bHashMode, const BYTE *pbHash, DWORD dwHashLen, const BYTE *pbSig, DWORD dwSigLen, BYTE bInPbkType, const BYTE *pbInPbk, BYTE bInPbkLen, DWORD dwReserved) |
int AAP_API | DBchainEdDsaSign(HSESSIONCTX hSession, BYTE bType, const char *cszCtxStr, BYTE *pbData, DWORD dwDataLen, const char *cszPk, BYTE *pbSig, DWORD *pdwSigLen, DWORD dwReserved) |
int AAP_API | DBchainEdDsaVerify(HSESSIONCTX hSession, BYTE bType, const char *cszCtxStr, BYTE *pbData, DWORD dwDataLen, BYTE bPbkType, BYTE *pbPbk, DWORD dwPbkLen, BYTE *pbSig, DWORD dwSigLen, DWORD dwReserved) |
int AAP_API | DBchainPkImport(HSESSIONCTX hSession, BYTE bFormat, DWORD dwAttributes, const char *cszId, const BYTE *pcbData, DWORD dwDataLen, DWORD dwReserved) |
int AAP_API | DBchainPkExport(HSESSIONCTX hSession, BYTE bFormat, BYTE bVersion, BYTE bCompressed, const char *cszId, BYTE **ppbData, DWORD *pdwDataLen, DWORD dwReserved) |
int AAP_API | DBchainGetPubKey(HSESSIONCTX hSession, BYTE bType, const char *cszId, BYTE *pbData, DWORD *pdwDataLen, DWORD dwReserved) |
int AAP_API | DBchainRecoverPbkFromSignature(HSESSIONCTX hSession, BYTE bSigType, BYTE bHashMode, const BYTE *pbHash, DWORD dwHashLen, const BYTE *pbSig, DWORD dwSigLen, DN_BCHAIN_PBK *pPbk, DWORD dwReserved) |
int AAP_API | DBchainGetKeyInfo(HSESSIONCTX hSession, DWORD dwReserved, const char *cszId, void *pvData, DWORD *pdwDataLen) |
int AAP_API | DBchainHashData(HSESSIONCTX hSession, BYTE bMode, BYTE *pbData, DWORD dwDataLen, BYTE *pbHash, DWORD *pdwHashLen, DWORD dwReserved) |
int AAP_API | DBchainEd2X(HSESSIONCTX hSession, const char *cszPk, const char *cszTo, DWORD dwAttr, DWORD dwReserved) |
int AAP_API DBchainCreateXPrv | ( | HSESSIONCTX | hSesión, |
BYTE | bTipo, | ||
DWORD | dwAttributes, | ||
const char * | szId, | ||
const BYTE * | pcbData, | ||
DWORD | dwDataLen, | ||
DWORD | dwReservado ) |
#include <dinamo.h>
Crea una clave privada extendida (XPrv) para el blockchain en el estándar BIP32.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||
[en] | bTipo | Tipo de generación de claves.
| ||||||||||||
[en] | dwAttributes | Parámetros adicionales de la clave. Consulte las opciones de la función DGenerateKey(). Esta API incluye automáticamente el indicador BCHAIN_KEY, necesario para las operaciones de blockchain. | ||||||||||||
[en] | szId | Nombre de la clave en el HSM. Debe tener un tamaño máximo de MAX_OBJ_ID_FQN_LEN. | ||||||||||||
[en] | pcbData | Buffer que contiene los datos necesarios para generar la clave. Los datos de entrada deben pasarse de acuerdo con la opción bTipo y el tamaño de los datos pasados aquí debe especificarse en dwDataLen . | ||||||||||||
[en] | dwDataLen | Tamaño de los datos introducidos pcbData . | ||||||||||||
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |
Valor | Significado |
---|---|
DN_BCHAIN_VER_BIP32_MAINNET | Mainnet BIP32. |
DN_BCHAIN_VER_BIP32_TESTNET | Testnet BIP32. |
DN_BCHAIN_VER_BIP32_HTR_MAINNET | Mainnet BIP32 Hathor. |
DN_BCHAIN_VER_BIP32_HTR_TESTNET | Testnet BIP32 Hathor. |
int AAP_API DBchainCreateBip32Ckd | ( | HSESSIONCTX | hSesión, |
BYTE | bVersión, | ||
DWORD | dwIndex, | ||
DWORD | dwAttributes, | ||
const char * | cszPar, | ||
const char * | cszDst, | ||
DN_BCHAIN_KEY_INFO * | pKeyInfo, | ||
DWORD | dwReservado ) |
#include <dinamo.h>
Realiza una operación de Derivación de Clave Hija (CKD). Deriva una clave privada extendida (XPrv) para la cadena de bloques en el estándar BIP32.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). | ||||||||||
[en] | bVersión | Versión clave.
| ||||||||||
[en] | dwIndex | Índice de la clave a derivar. Clave no endurecido utilizar el 0 a 231-1 y llaves endurecido índices de uso (sin restricciones de seguridad) de 231 a 232-1 como se especifica en la norma BIP32. Se recomienda encarecidamente generar claves reforzadas. Utilice DN_BCHAIN_SECURE_BIP32_INDEX_BASE como base para generar índices endurecido (Ej. DN_BCHAIN_SECURE_BIP32_INDEX_BASE + 1 ...). | ||||||||||
[en] | dwAttributes | Parámetros adicionales de la clave. Consulte las opciones de la función DGenerateKey(). Esta API incluye automáticamente el indicador BCHAIN_KEY, necesario para las operaciones de blockchain. | ||||||||||
[en] | cszPar | Nombre de la clave padre en el HSM. Debe tener un tamaño máximo de MAX_OBJ_ID_FQN_LEN. Debe ser una clave XPrv(DN_BCHAIN_BIP32_XPRV etc.). Véase DBchainCreateXPrv(). | ||||||||||
[en] | cszDst | Nombre de la clave que se derivará en el HSM. Debe tener un tamaño máximo de MAX_OBJ_ID_FQN_LEN. | ||||||||||
[fuera] | pKeyInfo | Puntero a la estructura DN_BCHAIN_KEY_INFO que contendrá la información de la clave generada. | ||||||||||
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |
int AAP_API DBchainGetAddress | ( | HSESSIONCTX | hSesión, |
BYTE | bTipo, | ||
BYTE | bVer, | ||
const char * | cszHrp, | ||
const char * | cszPk, | ||
BYTE * | pbDirección, | ||
DWORD * | pdwAddressLen, | ||
DWORD | dwReservado ) |
#include <dinamo.h>
Recupera la dirección de una clave utilizando el módulo blockchain.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||||||||
[en] | bTipo | Tipo de dirección a generar. Puede ser uno de los valores siguientes. | ||||||||||||||||||||||
[en] | bVer | Versión de la dirección.
| ||||||||||||||||||||||
[en] | cszHrp | HRP (Human Readable Part) de la clave. Se aceptan los valores de la tabla. Debe tener un tamaño máximo de DN_BCHAIN_MAX_HRP.
| ||||||||||||||||||||||
[en] | cszPk | Clave privada que generará la dirección o el script-hash. Si se utiliza script-hash pasar un buffer de tamaño MAX_OBJ_ID_FQN_LEN con script-hash con relleno cero. | ||||||||||||||||||||||
[in,out] | pbDirección | Buffer que recibirá la dirección. Puede ser NULL para obtener el tamaño requerido. Se recomienda utilizar el tamaño máximo de DN_BCHAIN_MAX_ADDR_LEN. | ||||||||||||||||||||||
[in,out] | pdwAddressLen | Tamaño del búfer pbDirección . Si el búfer pbDirección es NULL, este parámetro recibirá el tamaño requerido. | ||||||||||||||||||||||
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |
int AAP_API DBchainSignHash | ( | HSESSIONCTX | hSesión, |
BYTE | bTipo, | ||
BYTE | bHashMode, | ||
BYTE * | pbHash, | ||
DWORD | dwHashLen, | ||
const char * | cszPk, | ||
BYTE * | pbSig, | ||
DWORD * | pdwSigLen, | ||
DWORD | dwReservado ) |
#include <dinamo.h>
Firma un hash utilizando el módulo blockchain.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||
[en] | bTipo | Tipo de suscripción que se va a generar. Puede ser uno de los valores siguientes.
| ||||||||||||
[en] | bHashMode | Tipo hash.
| ||||||||||||
[en] | pbHash | Hash calculado según bHashMode . | ||||||||||||
[en] | dwHashLen | Tamaño del hash introducido en pbHash . | ||||||||||||
[en] | cszPk | Nombre de la clave privada. | ||||||||||||
[in,out] | pbSig | Buffer que recibirá la firma.Puede ser NULL para obtener el tamaño requerido.Se recomienda utilizar el tamaño máximo de DN_BCHAIN_MAX_SIG_LEN. | ||||||||||||
[in,out] | pdwSigLen | Tamaño del búfer pbSig.Case el búfer pbSig es NULL, este parámetro recibirá el tamaño requerido. | ||||||||||||
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |
int AAP_API DBchainVerify | ( | HSESSIONCTX | hSesión, |
BYTE | bSigType, | ||
BYTE | bHashMode, | ||
const BYTE * | pbHash, | ||
DWORD | dwHashLen, | ||
const BYTE * | pbSig, | ||
DWORD | dwSigLen, | ||
BYTE | bInPbkType, | ||
const BYTE * | pbInPbk, | ||
BYTE | bInPbkLen, | ||
DWORD | dwReservado ) |
#include <dinamo.h>
Verifica una firma utilizando el módulo blockchain.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||
[en] | bSigType | Tipo de suscripción que se va a generar. Puede ser uno de los valores siguientes.
| ||||||||||||
[en] | bHashMode | Tipo hash.
| ||||||||||||
[en] | pbHash | Hash calculado según bHashMode . | ||||||||||||
[en] | dwHashLen | Tamaño del hash introducido en pbHash . | ||||||||||||
[en] | pbSig | Firma de conformidad con bSigType . | ||||||||||||
[en] | dwSigLen | Tamaño de firma introducido en pbSig . | ||||||||||||
[en] | bInPbkType | Formato de la clave pública. Puede ser uno de los valores siguientes.
| ||||||||||||
[en] | pbInPbk | Firma de conformidad con bInPbkType . | ||||||||||||
[en] | bInPbkLen | Tamaño de firma introducido en pbInPbk . | ||||||||||||
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |
int AAP_API DBchainEdDsaSign | ( | HSESSIONCTX | hSesión, |
BYTE | bTipo, | ||
const char * | cszCtxStr, | ||
BYTE * | pbData, | ||
DWORD | dwDataLen, | ||
const char * | cszPk, | ||
BYTE * | pbSig, | ||
DWORD * | pdwSigLen, | ||
DWORD | dwReservado ) |
#include <dinamo.h>
Genera una firma EdDsa utilizando el módulo blockchain.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). | ||||||||||
[en] | bTipo | Tipo de suscripción que se va a generar. Puede ser uno de los valores siguientes.
| ||||||||||
[en] | cszCtxStr | Cadena de contexto definida en RFC-8032 . Se puede pasar DN_BCHAIN_EDDSA_CSTR_UNUSED. | ||||||||||
[en] | pbData | Datos a firmar. | ||||||||||
[en] | dwDataLen | Tamaño de los datos a firmar. | ||||||||||
[en] | cszPk | Nombre de la clave privada. | ||||||||||
[in,out] | pbSig | Buffer que recibirá la firma. Puede ser NULL para obtener el tamaño requerido. Se recomienda utilizar el tamaño máximo de DN_BCHAIN_MAX_SIG_LEN. | ||||||||||
[in,out] | pdwSigLen | Tamaño del búfer pbSig . Si el búfer pbSig es NULL, este parámetro recibirá el tamaño requerido. | ||||||||||
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |
int AAP_API DBchainEdDsaVerify | ( | HSESSIONCTX | hSesión, |
BYTE | bTipo, | ||
const char * | cszCtxStr, | ||
BYTE * | pbData, | ||
DWORD | dwDataLen, | ||
BYTE | bPbkType, | ||
BYTE * | pbPbk, | ||
DWORD | dwPbkLen, | ||
BYTE * | pbSig, | ||
DWORD | dwSigLen, | ||
DWORD | dwReservado ) |
#include <dinamo.h>
Verifica una firma EdDsa utilizando el módulo blockchain.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). | ||||||||||
[en] | bTipo | Tipo de firma a verificar. Puede ser uno de los valores siguientes.
| ||||||||||
[en] | cszCtxStr | Cadena de contexto definida en RFC-8032 de longitud máxima DN_BCHAIN_EDDSA_MAX_CSTRL. Se puede pasar DN_BCHAIN_EDDSA_CSTR_UNUSED. | ||||||||||
[en] | pbData | Datos por verificar. | ||||||||||
[en] | dwDataLen | Tamaño de los datos a comprobar. | ||||||||||
[en] | bPbkType | Formato de la clave pública. Puede ser uno de los valores siguientes.
| ||||||||||
[en] | pbPbk | Clave pública utilizada para la verificación. | ||||||||||
[en] | dwPbkLen | Tamaño de la clave pública. | ||||||||||
[en] | pbSig | Firma a verificar. | ||||||||||
[en] | dwSigLen | Tamaño de la firma. | ||||||||||
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |
int AAP_API DBchainPkImport | ( | HSESSIONCTX | hSesión, |
BYTE | bFormato, | ||
DWORD | dwAttributes, | ||
const char * | cszId, | ||
const BYTE * | pcbData, | ||
DWORD | dwDataLen, | ||
DWORD | dwReservado ) |
#include <dinamo.h>
Importa una clave privada utilizando el módulo blockchain.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||
[en] | bFormato | Formato de la clave a importar. Puede ser uno de los valores siguientes.
| ||||||||||||||||
[en] | dwAttributes | Parámetros adicionales de la clave. Consulte las opciones de la función DGenerateKey(). Esta API incluye automáticamente el indicador BCHAIN_KEY, necesario para las operaciones de blockchain. | ||||||||||||||||
[en] | cszId | Nombre de la clave privada. | ||||||||||||||||
[en] | pcbData | Clave privada en el formato especificado en bFormato . El tamaño de este búfer debe introducirse en dwDataLen . | ||||||||||||||||
[en] | dwDataLen | Tamaño del búfer pcbData . | ||||||||||||||||
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |
int AAP_API DBchainPkExport | ( | HSESSIONCTX | hSesión, |
BYTE | bFormato, | ||
BYTE | bVersión, | ||
BYTE | bComprimido, | ||
const char * | cszId, | ||
BYTE ** | ppbData, | ||
DWORD * | pdwDataLen, | ||
DWORD | dwReservado ) |
#include <dinamo.h>
Exporta una clave privada utilizando el módulo blockchain.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||
[en] | bFormato | Formato de la clave a exportar. Puede ser uno de los valores siguientes.
| ||||||||||||||||
[en] | bVersión | Versión clave.
| ||||||||||||||||
[en] | bComprimido | 0 para exportar la clave en formato no comprimido y 1 para formato comprimido. | ||||||||||||||||
[en] | cszId | Nombre de la clave privada. | ||||||||||||||||
[fuera] | ppbDatos | Clave privada. El tamaño de este búfer se introducirá en pdwDataLen . Este búfer debe liberarse con la API DFree(). | ||||||||||||||||
[fuera] | pdwDataLen | Tamaño del búfer ppcbData . | ||||||||||||||||
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |
int AAP_API DBchainGetPubKey | ( | HSESSIONCTX | hSesión, |
BYTE | bTipo, | ||
const char * | cszId, | ||
BYTE * | pbData, | ||
DWORD * | pdwDataLen, | ||
DWORD | dwReservado ) |
#include <dinamo.h>
Recuperar una clave pública a partir de una clave privada utilizando el módulo blockchain.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||
[en] | bTipo | Formato de la clave pública a exportar. Puede ser uno de los valores siguientes.
| ||||||||||||||||
[en] | cszId | Nombre de la clave privada. | ||||||||||||||||
[fuera] | pbData | Clave pública. Se puede pasar NULL para recibir el tamaño esperado en pdwDataLen . El tamaño máximo de este búfer es DN_BCHAIN_MAX_PBK_LEN. | ||||||||||||||||
[in,out] | pdwDataLen | Tamaño del búfer pcbData . Contendrá, al final de la llamada, la cantidad de datos escritos en pcbData . | ||||||||||||||||
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |
int AAP_API DBchainRecoverPbkFromSignature | ( | HSESSIONCTX | hSesión, |
BYTE | bSigType, | ||
BYTE | bHashMode, | ||
const BYTE * | pbHash, | ||
DWORD | dwHashLen, | ||
const BYTE * | pbSig, | ||
DWORD | dwSigLen, | ||
DN_BCHAIN_PBK * | pPbk, | ||
DWORD | dwReservado ) |
#include <dinamo.h>
Recupera una clave pública (PBK) de una firma de tipo ECDSA.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||
[en] | bSigType | Tipo de suscripción que se va a generar. Puede ser uno de los valores siguientes.
| ||||||||||||
[en] | bHashMode | Tipo hash.
| ||||||||||||
[en] | pbHash | Hash calculado según bHashMode . | ||||||||||||
[en] | dwHashLen | Tamaño del hash introducido en pbHash . | ||||||||||||
[en] | pbSig | Firma de conformidad con bSigType . | ||||||||||||
[en] | dwSigLen | Tamaño de firma introducido en pbSig . | ||||||||||||
[fuera] | pPbk | Clave pública que debe recuperarse. Introduzca una estructura de tipo DN_BCHAIN_PBK. | ||||||||||||
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |
int AAP_API DBchainGetKeyInfo | ( | HSESSIONCTX | hSesión, |
DWORD | dwReservado, | ||
const char * | cszId, | ||
vacío * | pvData, | ||
DWORD * | pdwDataLen ) |
#include <dinamo.h>
Recupera las propiedades de una clave utilizando el módulo blockchain.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). |
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |
[en] | cszId | Nombre de la clave privada. |
[fuera] | pvData | Propiedades clave. Recibe una estructura DN_BCHAIN_KEY_INFO. Se puede pasar NULL para recibir el tamaño esperado en pdwDataLen . |
[in,out] | pdwDataLen | Tamaño del búfer pcbData . Contendrá, al final de la llamada, la cantidad de datos escritos en pcbData . |
int AAP_API DBchainHashData | ( | HSESSIONCTX | hSesión, |
BYTE | bMode, | ||
BYTE * | pbData, | ||
DWORD | dwDataLen, | ||
BYTE * | pbHash, | ||
DWORD * | pdwHashLen, | ||
DWORD | dwReservado ) |
#include <dinamo.h>
Calcula un hash utilizando el módulo blockchain.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||
[en] | bMode | Tipo hash.
| ||||||||||||
[en] | pbData | Datos que se van a procesar. El tamaño de este búfer debe introducirse en dwDataLen . Tamaño máximo de DN_BCHAIN_MAX_HDATA_LEN. | ||||||||||||
[en] | dwDataLen | Tamaño del búfer pbData . | ||||||||||||
[fuera] | pbHash | Recibe el hash calculado. Se puede pasar NULL para recibir el tamaño esperado en pdwHashLen . | ||||||||||||
[in,out] | pdwHashLen | Tamaño del búfer pbHash . Contendrá, al final de la llamada, la cantidad de datos escritos en pbHash . | ||||||||||||
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |
int AAP_API DBchainEd2X | ( | HSESSIONCTX | hSesión, |
const char * | cszPk, | ||
const char * | cszTo, | ||
DWORD | dwAttr, | ||
DWORD | dwReservado ) |
#include <dinamo.h>
Convierte una clave Edwards (Ed) al formato Montgomery (x). Actualmente convierte claves Ed25519 a X25519.
[en] | hSesión | Contexto adquirido a través de la función DOpenSession(). |
[en] | cszPk | Nombre de la clave privada en formato Edwards que existe en el HSM. |
[en] | cszTo | Nombre de la clave privada en formato Montgomery que se creará en el HSM. |
[en] | dwAttr | Atributos clave. Véase dwAttr en DGenerateKey() para obtener más información sobre los atributos de la clave. Los atributos se añaden a los atributos actuales de la clave de origen cszPk . |
[en] | dwReservado | Reservado para uso futuro (debe ser 0). |