Operaciones de apoyo a la seguridad de las estructuras basadas en Blockchain.
Véase Documentación técnica de HSM sobre detalles de funcionamiento, especificaciones utilizadas, licencias e nombre comercial del módulo.
Definiciones y macros | |
| #define | DN_BCHAIN_CKD_OPT_BIP32_XPRV (1) |
| #define | DN_BCHAIN_CKD_OPT_BIP32_ED25519_XPRV (2) |
| #define | DN_BCHAIN_CKD_OPT_BIP32_P256_XPRV (3) |
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 | DBchainCreateCkd (HSESSIONCTX hSession, DWORD dwOpt, const BYTE *pbIn, BYTE *pbOut, 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) |
| #define DN_BCHAIN_CKD_OPT_BIP32_XPRV (1) |
#include <dinamo.h>
Derivación de claves secundarias para BIP32 XPrv.
| #define DN_BCHAIN_CKD_OPT_BIP32_ED25519_XPRV (2) |
#include <dinamo.h>
Derivación de claves secundarias para BIP32 Ed25519 XPrv.
| #define DN_BCHAIN_CKD_OPT_BIP32_P256_XPRV (3) |
#include <dinamo.h>
Derivación de claves secundarias para BIP32 P-256 XPrv.
| int AAP_API DBchainCreateXPrv | ( | HSESSIONCTX | hSession, |
| BYTE | bType, | ||
| DWORD | dwAttributes, | ||
| const char * | szId, | ||
| const BYTE * | pcbData, | ||
| DWORD | dwDataLen, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Crea una clave privada extendida (XPrv) para el blockchain en el estándar BIP32.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||
| [in] | bType | Tipo de generación de claves.
| ||||||||||||||
| [in] | 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. | ||||||||||||||
| [in] | szId | Nombre de la clave en el HSM. Debe tener un tamaño máximo de MAX_OBJ_ID_FQN_LEN. | ||||||||||||||
| [in] | pcbData | Buffer que contiene los datos necesarios para generar la clave. Los datos de entrada deben pasarse según la opción bType y el tamaño de los datos pasados aquí debe especificarse en dwDataLen. | ||||||||||||||
| [in] | dwDataLen | Tamaño de los datos pasados en pcbData. | ||||||||||||||
| [in] | dwReserved | 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. |
| DN_BCHAIN_VER_BIP32_FPRV1 | FPRV1 BIP32 Ed25519. |
| 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 ) |
#include <dinamo.h>
Realiza una operación de derivación de clave secundaria (CKD). Deriva una clave privada extendida (XPrv) para la cadena de bloques en el estándar BIP32.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). | ||||||||||
| [in] | bVersion | Versión clave.
| ||||||||||
| [in] | dwIndex | Índice de la clave que debe derivarse. Las claves no endurecidas utilizan un índice de 0 a 231-1 y las endurecidas (sin restricciones de seguridad) utilizan índices de 231 a 232-1, tal y como se especifica en el estándar BIP32. Se recomienda encarecidamente generar claves reforzadas. Utilice DN_BCHAIN_SECURE_BIP32_INDEX_BASE como base para generar índices endurecidos (por ejemplo, DN_BCHAIN_SECURE_BIP32_INDEX_BASE + 1 ...). | ||||||||||
| [in] | 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. | ||||||||||
| [in] | 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(). | ||||||||||
| [in] | cszDst | Nombre de la clave que se derivará en el HSM. Debe tener un tamaño máximo de MAX_OBJ_ID_FQN_LEN. | ||||||||||
| [out] | pKeyInfo | Puntero a la estructura DN_BCHAIN_KEY_INFO que contendrá la información de la clave generada. | ||||||||||
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DBchainCreateCkd | ( | HSESSIONCTX | hSession, |
| DWORD | dwOpt, | ||
| const BYTE * | pbIn, | ||
| BYTE * | pbOut, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Realiza una operación de derivación de clave secundaria (CKD). Deriva una clave privada extendida (XPrv) para la cadena de bloques.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||
| [in] | dwOpt | Opciones de derivación de la clave.
| ||||||||||||||||
| [in] | pbIn | Búfer que contiene la estructura de entrada para la derivación de la clave. La estructura debe elegirse de acuerdo con la opción dwOpt. | ||||||||||||||||
| [out] | pbOut | Búfer que recibirá la estructura de salida con la información de la clave generada. La estructura debe elegirse de acuerdo con la opción dwOpt. | ||||||||||||||||
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DBchainGetAddress | ( | HSESSIONCTX | hSession, |
| BYTE | bType, | ||
| BYTE | bVer, | ||
| const char * | cszHrp, | ||
| const char * | cszPk, | ||
| BYTE * | pbAddress, | ||
| DWORD * | pdwAddressLen, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Recupera la dirección de una clave utilizando el módulo blockchain.
DN_BCHAIN_AT_XLM | Endereço Stellar SEP-23.
bVer deve ser DN_BCHAIN_VER_UNUSED.
cszHrp deve ser DN_BCHAIN_HRP_UNUSED. DN_BCHAIN_AT_ADA_PKH | Endereço Cardano CIP-0019, Shelley, Header type: 0110 (6).
bVer deve ser DN_BCHAIN_VER_ADA_MAINNET ou DN_BCHAIN_VER_ADA_TESTNET.
cszHrp deve ser DN_BCHAIN_HRP_UNUSED. DN_BCHAIN_AT_ADA_SH | Endereço Cardano CIP-0019, Shelley, Header type: 0111 (7).
bVer deve ser DN_BCHAIN_VER_ADA_MAINNET ou DN_BCHAIN_VER_ADA_TESTNET.
cszHrp deve ser DN_BCHAIN_HRP_UNUSED.
cszPk deve ser o script-hash. DN_BCHAIN_AT_LUNC | Endereço Terra Classic.
bVer deve ser DN_BCHAIN_VER_UNUSED.
cszHrp deve ser DN_BCHAIN_HRP_UNUSED. DN_BCHAIN_AT_SS58 | Endereço SS58.
bVer deve ser DN_BCHAIN_VER_SS58_POLKADOT ou DN_BCHAIN_VER_SS58_GEN_SUBST.
cszHrp deve ser DN_BCHAIN_HRP_UNUSED. DN_BCHAIN_AT_XTZ | Endereço Tezos.
bVer deve ser DN_BCHAIN_VER_UNUSED.
cszHrp deve ser DN_BCHAIN_HRP_UNUSED. DN_BCHAIN_AT_TON | Endereço Toncoin TEP-2.
bVer deve ser DN_BCHAIN_VER_TON_MN_BWORK, DN_BCHAIN_VER_TON_MN_MCHAIN, DN_BCHAIN_VER_TON_TN_BWORK ou DN_BCHAIN_VER_TON_TN_MCHAIN.
cszHrp deve ser DN_BCHAIN_HRP_TON_BNCBLE ou DN_BCHAIN_HRP_TON_NBNCBLE. DN_BCHAIN_AT_TON_SH | Endereço Toncoin TEP-2 SH.
bVer deve ser DN_BCHAIN_VER_TON_MN_BWORK, DN_BCHAIN_VER_TON_MN_MCHAIN, DN_BCHAIN_VER_TON_TN_BWORK ou DN_BCHAIN_VER_TON_TN_MCHAIN.
cszHrp deve ser DN_BCHAIN_HRP_TON_BNCBLE ou DN_BCHAIN_HRP_TON_NBNCBLE.
cszPk deve ser o script-hash. DN_BCHAIN_AT_ATOM | Endereço Atom ADR-028.
bVer deve ser DN_BCHAIN_VER_UNUSED.
cszHrp deve ser DN_BCHAIN_HRP_UNUSED. DN_BCHAIN_AT_BTC_P2TR | Endereço BTC BIP350, version 1-16.
bVer deve ser DN_BCHAIN_VER_BTC_SEGWIT1 ou DN_BCHAIN_VER_LTC_SEGWIT1.
cszHrp deve ser DN_BCHAIN_HRP_BTC_MAIN_NET, DN_BCHAIN_HRP_BTC_TEST_NET, DN_BCHAIN_HRP_LTC_MAINNET ou DN_BCHAIN_HRP_LTC_TESTNET. DN_BCHAIN_AT_LTC_P2PKH | Endereço LTC P2PKH.
bVer deve ser DN_BCHAIN_VER_BTC_A1_MAIN_NET, DN_BCHAIN_VER_BTC_A3_MAIN_NET, DN_BCHAIN_VER_BTC_AMN_TEST_NET, DN_BCHAIN_VER_HTR_MAINNET ou DN_BCHAIN_VER_HTR_TESTNET.
cszHrp deve ser DN_BCHAIN_HRP_UNUSED. DN_BCHAIN_AT_LTC_P2SH | Endereço LTC P2SH BIP13.
bVer deve ser DN_BCHAIN_VER_BTC_A1_MAIN_NET, DN_BCHAIN_VER_BTC_A3_MAIN_NET, DN_BCHAIN_VER_BTC_AMN_TEST_NET, DN_BCHAIN_VER_HTR_MAINNET ou DN_BCHAIN_VER_HTR_TESTNET.
cszHrp deve ser DN_BCHAIN_HRP_UNUSED.
cszPk deve ser o script-hash. DN_BCHAIN_AT_LTC_P2WPKH | Endereço LTC P2WPKH BIP173.
bVer deve ser DN_BCHAIN_VER_BTC_B32_WITVER.
cszHrp pode ser DN_BCHAIN_HRP_BTC_MAIN_NET ou DN_BCHAIN_HRP_BTC_TEST_NET. DN_BCHAIN_AT_LTC_P2WSH | Endereço LTC P2WSH BIP173.
bVer deve ser DN_BCHAIN_VER_BTC_A1_MAIN_NET, DN_BCHAIN_VER_BTC_A3_MAIN_NET, DN_BCHAIN_VER_BTC_AMN_TEST_NET, DN_BCHAIN_VER_HTR_MAINNET ou DN_BCHAIN_VER_HTR_TESTNET.
cszHrp deve ser DN_BCHAIN_HRP_UNUSED.
cszPk deve ser o script-hash. DN_BCHAIN_AT_LTC_P2TR | Endereço LTC BIP350, version 1-16.
bVer deve ser DN_BCHAIN_VER_BTC_SEGWIT1 ou DN_BCHAIN_VER_LTC_SEGWIT1.
cszHrp deve ser DN_BCHAIN_HRP_BTC_MAIN_NET, DN_BCHAIN_HRP_BTC_TEST_NET, DN_BCHAIN_HRP_LTC_MAINNET ou DN_BCHAIN_HRP_LTC_TESTNET.
| [in] | bVer | Versión de la dirección.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [in] | 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.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [in] | 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] | pbAddress | 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 pbAddress. Si el búfer pbAddress es NULL, este parámetro recibirá el tamaño requerido. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DBchainSignHash | ( | HSESSIONCTX | hSession, |
| BYTE | bType, | ||
| BYTE | bHashMode, | ||
| BYTE * | pbHash, | ||
| DWORD | dwHashLen, | ||
| const char * | cszPk, | ||
| BYTE * | pbSig, | ||
| DWORD * | pdwSigLen, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Firma un hash utilizando el módulo blockchain.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||
| [in] | bType | Tipo de suscripción que se va a generar. Puede ser uno de los valores siguientes.
| ||||||||||||||||
| [in] | bHashMode | Tipo hash.
| ||||||||||||||||
| [in] | pbHash | Hash calculado según la información de bHashMode. | ||||||||||||||||
| [in] | dwHashLen | Tamaño del hash introducido en pbHash. | ||||||||||||||||
| [in] | 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. | ||||||||||||||||
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| 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 ) |
#include <dinamo.h>
Verifica una firma utilizando el módulo blockchain.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||
| [in] | bSigType | Tipo de suscripción que se va a generar. Puede ser uno de los valores siguientes.
| ||||||||||||||||
| [in] | bHashMode | Tipo hash.
| ||||||||||||||||
| [in] | pbHash | Hash calculado según la información de bHashMode. | ||||||||||||||||
| [in] | dwHashLen | Tamaño del hash introducido en pbHash. | ||||||||||||||||
| [in] | pbSig | Firma de acuerdo con la información de bSigType. | ||||||||||||||||
| [in] | dwSigLen | Tamaño de firma introducido en pbSig. | ||||||||||||||||
| [in] | bInPbkType | Formato de la clave pública. Puede ser uno de los valores siguientes.
| ||||||||||||||||
| [in] | pbInPbk | Firma según la información de bInPbkType. | ||||||||||||||||
| [in] | bInPbkLen | Tamaño de la firma introducida en pbInPbk. | ||||||||||||||||
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DBchainEdDsaSign | ( | HSESSIONCTX | hSession, |
| BYTE | bType, | ||
| const char * | cszCtxStr, | ||
| BYTE * | pbData, | ||
| DWORD | dwDataLen, | ||
| const char * | cszPk, | ||
| BYTE * | pbSig, | ||
| DWORD * | pdwSigLen, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Genera una firma EdDsa utilizando el módulo blockchain.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||||||
| [in] | bType | Tipo de suscripción que se va a generar. Puede ser uno de los valores siguientes.
| ||||||||||||||||||||
| [in] | cszCtxStr | Cadena de contexto definida en RFC-8032 . Se puede pasar DN_BCHAIN_EDDSA_CSTR_UNUSED. | ||||||||||||||||||||
| [in] | pbData | Datos a firmar. | ||||||||||||||||||||
| [in] | dwDataLen | Tamaño de los datos a firmar. | ||||||||||||||||||||
| [in] | 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. | ||||||||||||||||||||
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| 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 ) |
#include <dinamo.h>
Verifica una firma EdDsa utilizando el módulo blockchain.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||||||
| [in] | bType | Tipo de firma a verificar. Puede ser uno de los valores siguientes.
| ||||||||||||||||||||
| [in] | 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. | ||||||||||||||||||||
| [in] | pbData | Datos por verificar. | ||||||||||||||||||||
| [in] | dwDataLen | Tamaño de los datos a comprobar. | ||||||||||||||||||||
| [in] | bPbkType | Formato de la clave pública. Puede ser uno de los valores siguientes.
| ||||||||||||||||||||
| [in] | pbPbk | Clave pública utilizada para la verificación. | ||||||||||||||||||||
| [in] | dwPbkLen | Tamaño de la clave pública. | ||||||||||||||||||||
| [in] | pbSig | Firma a verificar. | ||||||||||||||||||||
| [in] | dwSigLen | Tamaño de la firma. | ||||||||||||||||||||
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DBchainPkImport | ( | HSESSIONCTX | hSession, |
| BYTE | bFormat, | ||
| DWORD | dwAttributes, | ||
| const char * | cszId, | ||
| const BYTE * | pcbData, | ||
| DWORD | dwDataLen, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Importa una clave privada utilizando el módulo blockchain.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||||||||||
| [in] | bFormat | Formato de la clave a importar. Puede ser uno de los valores siguientes.
| ||||||||||||||||||||||||
| [in] | 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. | ||||||||||||||||||||||||
| [in] | cszId | Nombre de la clave privada. | ||||||||||||||||||||||||
| [in] | pcbData | Clave privada en el formato especificado en bFormat. El tamaño de este búfer debe introducirse en dwDataLen. | ||||||||||||||||||||||||
| [in] | dwDataLen | Tamaño del buffer pcbData. | ||||||||||||||||||||||||
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DBchainPkExport | ( | HSESSIONCTX | hSession, |
| BYTE | bFormat, | ||
| BYTE | bVersion, | ||
| BYTE | bCompressed, | ||
| const char * | cszId, | ||
| BYTE ** | ppbData, | ||
| DWORD * | pdwDataLen, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Exporta una clave privada utilizando el módulo blockchain.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||||||||||
| [in] | bFormat | Formato de la clave a exportar. Puede ser uno de los valores siguientes.
| ||||||||||||||||||||||||
| [in] | bVersion | Versión clave.
| ||||||||||||||||||||||||
| [in] | bCompressed | 0 para exportar la clave en formato no comprimido y 1 para formato comprimido. | ||||||||||||||||||||||||
| [in] | cszId | Nombre de la clave privada. | ||||||||||||||||||||||||
| [out] | ppbData | Clave privada. El tamaño de este búfer se introducirá en pdwDataLen. Este búfer debe liberarse con la API DFree(). | ||||||||||||||||||||||||
| [out] | pdwDataLen | Tamaño del búfer ppcbData. | ||||||||||||||||||||||||
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DBchainGetPubKey | ( | HSESSIONCTX | hSession, |
| BYTE | bType, | ||
| const char * | cszId, | ||
| BYTE * | pbData, | ||
| DWORD * | pdwDataLen, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Recuperar una clave pública a partir de una clave privada utilizando el módulo blockchain.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||||||||||
| [in] | bType | Formato de la clave pública a exportar. Puede ser uno de los valores siguientes.
| ||||||||||||||||||||||||
| [in] | cszId | Nombre de la clave privada. | ||||||||||||||||||||||||
| [out] | 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. Al final de la llamada, contendrá la cantidad de datos escritos en pcbData. | ||||||||||||||||||||||||
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| 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 ) |
#include <dinamo.h>
Recupera una clave pública (PBK) de una firma de tipo ECDSA.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||
| [in] | bSigType | Tipo de suscripción que se va a generar. Puede ser uno de los valores siguientes.
| ||||||||||||||||
| [in] | bHashMode | Tipo hash.
| ||||||||||||||||
| [in] | pbHash | Hash calculado según la información de bHashMode. | ||||||||||||||||
| [in] | dwHashLen | Tamaño del hash introducido en pbHash. | ||||||||||||||||
| [in] | pbSig | Firma de acuerdo con la información de bSigType. | ||||||||||||||||
| [in] | dwSigLen | Tamaño de firma introducido en pbSig. | ||||||||||||||||
| [out] | pPbk | Clave pública que debe recuperarse. Introduzca una estructura de tipo DN_BCHAIN_PBK. | ||||||||||||||||
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DBchainGetKeyInfo | ( | HSESSIONCTX | hSession, |
| DWORD | dwReserved, | ||
| const char * | cszId, | ||
| void * | pvData, | ||
| DWORD * | pdwDataLen ) |
#include <dinamo.h>
Recupera las propiedades de una clave utilizando el módulo blockchain.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). |
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| [in] | cszId | Nombre de la clave privada. |
| [out] | pvData | Propiedades de la 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. Al final de la llamada, contendrá la cantidad de datos escritos en pcbData. |
| int AAP_API DBchainHashData | ( | HSESSIONCTX | hSession, |
| BYTE | bMode, | ||
| BYTE * | pbData, | ||
| DWORD | dwDataLen, | ||
| BYTE * | pbHash, | ||
| DWORD * | pdwHashLen, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Calcula un hash utilizando el módulo blockchain.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). | ||||||||||||||||
| [in] | bMode | Tipo hash.
| ||||||||||||||||
| [in] | pbData | Datos a procesar. El tamaño de este búfer debe introducirse en dwDataLen. Tamaño máximo de DN_BCHAIN_MAX_HDATA_LEN. | ||||||||||||||||
| [in] | dwDataLen | Tamaño del búfer pbData. | ||||||||||||||||
| [out] | pbHash | Recibe el hash calculado. Se puede pasar NULL para recibir el tamaño esperado en pdwHashLen. | ||||||||||||||||
| [in,out] | pdwHashLen | Tamaño del buffer de pbHash. Al final de la llamada, contendrá la cantidad de datos escritos en pbHash. | ||||||||||||||||
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |
| int AAP_API DBchainEd2X | ( | HSESSIONCTX | hSession, |
| const char * | cszPk, | ||
| const char * | cszTo, | ||
| DWORD | dwAttr, | ||
| DWORD | dwReserved ) |
#include <dinamo.h>
Convierte una clave Edwards (Ed) al formato Montgomery (x). Actualmente convierte claves Ed25519 a X25519.
| [in] | hSession | Contexto adquirido a través de la función DOpenSession(). |
| [in] | cszPk | Nombre de la clave privada en formato Edwards que existe en el HSM. |
| [in] | cszTo | Nombre de la clave privada en formato Montgomery que se creará en el HSM. |
| [in] | dwAttr | Atributos de clave. Véase dwAttr en DGenerateKey() para más detalles sobre los atributos de clave. Los atributos se añaden a los atributos actuales de la clave de origen cszPk. |
| [in] | dwReserved | Reservado para uso futuro (debe ser 0). |