Ejemplo de generación de CSR en formato PKCS#10.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define HSM_IP "127.0.0.1"
#define HSM_USR "maestro"
#define HSM_PWD "12345678"
int main(void)
{
int nRet = 0;
char szPrivKeyName[] = "rsa";
char szSubject[] = "/CN=www.teste.com/O=teste/OU=engenharia";
strncpy(stAUTPWD.
szAddr, HSM_IP,
sizeof(stAUTPWD
.szAddr));
strncpy(stAUTPWD.
szPassword, HSM_PWD,
sizeof(stAUTPWD
.szPassword));
stAUTPWD.
nStrongAuthLen = 0;
stAUTPWD.
pbStrongAuth = NULL;
if(nRet)
{
printf("DOpenSession : ¡Falló! %d.\n", nRet);
ir a limpiar;
}
szPrivKeyName,
0,
&hPrivKey);
si (nRet)
{
printf("DGenerateKey : ¡Falló! %d.\n", nRet);
ir a limpiar;
}
szPrivKeyName,
szAsunto,
&dwCSRLen,
&pbCSR,
0);
if( nRet )
{
printf("DGeneratePKCS10CSR : ¡Falló! %d.\n", nRet);
ir a limpiar;
}
limpia:
if( hSesión )
{
}
if( pbCSR )
{
}
devolver nRet;
}
Interfaz de programación de aplicaciones (API) de HSM Dinamo.
void * HSESSIONCTX
Definición dinamo.h:68
#define CORE_P10_CSR_VERSION1
dinamoDefinición.h:1818
#define PUERTO_DEFAULT
Definición dinamo.h:1948
#define CACHE_BYPASS
dinamoDefinición.h:589
#define SA_AUTH_NONE
dinamoDefinición.h:594
unsigned char BYTE
Definición dinamo.h:45
#define LB_BYPASS
dinamoDefinición.h:588
unsigned int DWORD
Definición dinamo.h:46
#define ENCRYPTED_CONN
dinamoDefinición.h:585
#define ALG_RSA_2048
dinamoDefinición.h:1085
#define P10_CSR_PEM
dinamoDefinición.h:1822
#define SS_USR_PWD_EX
dinamoDefinición.h:579
void * HKEYCTX
Definición dinamo.h:70
int AAP_API DGenerateKey(HSESSIONCTX hSession, char *szKeyId, int nAlgId, DWORD dwFlags, HKEYCTX *phKey)
int AAP_API DGeneratePKCS10CSR(HSESSIONCTX hSession, char *szPrivateKeyName, BYTE bVersion, char *szDN, DWORD dwOutType, DWORD *pdwCSRLen, BYTE **ppbCSR, DWORD dwParam)
int AAP_API DDestroyKey(HKEYCTX *phKey, DWORD dwFlags)
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 nPuerto
Definición dinamo.h:3103
char szUserId[MAX_USR_LEN]
Definición dinamo.h:3104
DWORD dwAuthType
Definición dinamo.h:3106
char szAddr[MAX_ADDR_LEN]
Definición dinamo.h:3102
char szContraseña[MAX_USR_PWD]
Definición dinamo.h:3105
int nStrongAuthLen
dinamoDefinición.h:3112
BYTE * pbStrongAuth
Definición dinamo.h:3111