Exemplo de SPB para geração de chave, CSR e importação de certificado.
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
#ifdef WIN32
#include <process.h>
#define FSTAT(x,y) _fstat(_fileno(x), y)
#define STAT _stat
#else
#define FSTAT(x,y) fstat(fileno(x),y)
#define STAT stat
#endif
#define HSM_IP "127.0.0.1"
#define HSM_USR "master"
#define HSM_PWD "12345678"
int main(void)
{
int nRet = 0;
char *szISPB_DOMAIN = "12345678@MES01";
char *szSubject = "/CN=BANCO TESTE S/A P001/OU=SISBACEN-00888/OU=ISPB-54444619/O=ICP-Brasil/L=Sao Paulo/S=Sao Paulo/C=BR";
char *szDomain = "MES01";
BYTE pbCertificate[] = {0x00, 0x00};
if (nRet)
{
printf("DOpenSession : Failed! %d.\n", nRet);
goto clean;
}
if( nRet )
{
printf("DSPBGenerateKey : Failed! %d.\n", nRet);
goto clean;
}
szOutPrivKeyName,
szSubject,
&dwCSRLen,
&pbCSR,
0);
if (nRet)
{
printf("DSPBGenerateKey : Failed! %d.\n", nRet);
goto clean;
}
if( nRet ) {
printf("DSPBImportCertificate(no filter) : Failed! %d.\n", nRet);
goto clean;
}
clean:
if( hSession ) {
}
if( pbCSR ) {
}
return nRet;
}
Application Programming Interface (API) do HSM Dinamo.
void * HSESSIONCTX
Definição dinamo.h:68
#define CORE_P10_CSR_VERSION1
Definição dinamo.h:1819
#define DEFAULT_PORT
Definição dinamo.h:1949
#define CACHE_BYPASS
Definição dinamo.h:589
#define SA_AUTH_NONE
Definição dinamo.h:594
unsigned char BYTE
Definição dinamo.h:45
#define LB_BYPASS
Definição dinamo.h:588
unsigned int DWORD
Definição dinamo.h:46
#define ENCRYPTED_CONN
Definição dinamo.h:585
#define P10_CSR_PEM
Definição dinamo.h:1823
#define MAX_OBJ_ID_FQN_LEN
Definição dinamo.h:1714
#define SS_USR_PWD_EX
Definição dinamo.h:579
#define EXPORTABLE_KEY
Definição dinamo.h:1423
void AAP_API DFree(void *p)
int AAP_API DOpenSession(HSESSIONCTX *phSession, DWORD dwParam, BYTE *pbData, DWORD dwDataLen, DWORD dwFlags)
int AAP_API DCloseSession(HSESSIONCTX *phSession, DWORD dwFlags)
int AAP_API DInitialize(DWORD dwReserved)
int AAP_API DSPBImportCertificate(HSESSIONCTX hSession, BYTE bActivate, const char *szUser, BYTE *pbCertificate, DWORD dwCertificateLen, const char *szDomain, DWORD dwParam)
int AAP_API DSPBGenerateCSR(HSESSIONCTX hSession, char *szPrivateKeyName, BYTE bVersion, char *szSPBSubject, DWORD dwOutType, DWORD *pdwCSRLen, BYTE **ppbCSR, DWORD dwParam)
int AAP_API DSPBGenerateKey(HSESSIONCTX hSession, char *szID, char *szPrivateKeyName, DWORD dwKeyParam, DWORD dwParam)
int nPort
Definição dinamo.h:3104
char szUserId[MAX_USR_LEN]
Definição dinamo.h:3105
DWORD dwAuthType
Definição dinamo.h:3107
char szAddr[MAX_ADDR_LEN]
Definição dinamo.h:3103
char szPassword[MAX_USR_PWD]
Definição dinamo.h:3106
int nStrongAuthLen
Definição dinamo.h:3113
BYTE * pbStrongAuth
Definição dinamo.h:3112