Operações de Encode e Decode conforme o padrão SPB.
Consulte a documentação técnica do HSM.
Funções | |
int AAP_API | DSPBEncodeInit (HSESSIONCTX hSession, char *szSrcISPB, char *szDstISPB, DWORD dwTotalDataLen, BYTE bErrorCode, BYTE bSpecialTreatment, HSPBCTX *hSPBCtx, DWORD dwFlags) |
int AAP_API | DSPBEncodeCont (HSPBCTX hSPBCtx, BYTE *pbDataIn, DWORD dwDataInLen, BYTE *pbDataOut, DWORD *pdwDataOutLen) |
int AAP_API | DSPBEncodeEnd (HSPBCTX *hSPBCtx, BYTE *pbSPBHeader, DWORD *pdwSPBHeaderLen) |
int AAP_API | DSPBDecodeInit (HSESSIONCTX hSession, char *szSrcISPB, char *szDstISPB, BYTE *pbHeader, DWORD dwHeaderLen, BYTE bAcceptExpiredCert, BYTE bAutoUpdateCert, DWORD dwMessageDataLen, HSPBCTX *hSPBCtx, DWORD dwFlags) |
int AAP_API | DSPBDecodeCont (HSPBCTX hSPBCtx, BYTE *pbDataIn, DWORD dwDataInLen, BYTE **ppbDataOut, DWORD *pdwDataOutLen) |
int AAP_API | DSPBDecodeEnd (HSPBCTX *hSPBCtx) |
int AAP_API | DSPBGenerateKey (HSESSIONCTX hSession, char *szID, char *szPrivateKeyName, DWORD dwKeyParam, 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 | DSPBImportCertificate (HSESSIONCTX hSession, BYTE bActivate, const char *szUser, BYTE *pbCertificate, DWORD dwCertificateLen, const char *szDomain, DWORD dwParam) |
int AAP_API | DSPBImportPKCS12 (HSESSIONCTX hSession, BYTE bActivate, const char *szUser, const char *szPkcs12File, const char *szPkcs12Pwd, const char *szDomain, DWORD dwKeyAttr) |
int AAP_API | DSPBExportPKCS12 (const HSESSIONCTX hSession, const char *szPkcs12Pwd, const char *szISPB, const char *szReserved, BYTE **ppbPkcs12, DWORD *pdwPkcs12Len, DWORD dwReserved) |
int AAP_API | DSPBActivateCertificate (HSESSIONCTX hSession, const char *szIdCert, const char *szDomain, DWORD dwParam) |
int AAP_API | DSPBGetCertificate (HSESSIONCTX hSession, const char *szIdCert, BYTE **ppbCertificate, DWORD *pdwCertificateLen, DWORD dwParam) |
int AAP_API | DSPBCalculateObjectId (char *szISPB, char *szDomain, DWORD dwKeyType, char *szOutObjName, DWORD dwParam) |
int AAP_API | DSPBMapInfo (HSESSIONCTX hSession, const char *szIdCert, EXT_MAP_2_OBJ_INFO *pstExtMap, DWORD dwParam) |
int AAP_API | DSPBSetISPBMap (HSESSIONCTX hSession, char *szISPB, char *szKeyId, char *szCertId, DWORD dwParam) |
int AAP_API DSPBEncodeInit | ( | HSESSIONCTX | hSession, |
char * | szSrcISPB, | ||
char * | szDstISPB, | ||
DWORD | dwTotalDataLen, | ||
BYTE | bErrorCode, | ||
BYTE | bSpecialTreatment, | ||
HSPBCTX * | hSPBCtx, | ||
DWORD | dwFlags ) |
#include <dinamo.h>
Inicia uma operação de codificação de mensagens SPB.
[in] | hSession | Contexto adquirido através da função DOpenSession(). | ||||||||||||||
[in] | szSrcISPB | Identificador da instituição de origem com tamanho máximo MAX_OBJ_ID_FQN_LEN. O identificador da origem deverá ter o seguinte formato: ISPB@DOMINIO, sendo a parte do domínio opcional. O tamanho exato para ISPB é ND_SPB_ISPB_LEN e o tamanho máximo para DOMINIO é ND_SPB_DOMAIN_MAX_LEN. O tamanho máximo para o identificador é ND_SPB_ID_MAX_LEN. Exemplo: 12345678@MES01 onde 12345678 é o ISPB da instituição e MES01 é o identificador do DOMÍNIO. Também pode ser passado o nome do map correspondente, fora do padrão de nomenclatura do módulo SPB em casos específicos, ver dwFlags . | ||||||||||||||
[in] | szDstISPB | Identificador da instituição de destino tamanho máximo MAX_OBJ_ID_FQN_LEN. O identificador do destino deverá ter o seguinte formato: ISPB@DOMINIO, sendo a parte do domínio opcional. O tamanho para ISPB é ND_SPB_ISPB_LEN e o tamanho máximo para DOMINIO é ND_SPB_DOMAIN_MAX_LEN. O tamanho máximo para o identificador é ND_SPB_ID_MAX_LEN. Exemplo: 12345678@MES01 onde 12345678 é o ISPB da instituição e MES01 é o identificador do DOMÍNIO. Também pode ser passado o nome do map correspondente, fora do padrão de nomenclatura do módulo SPB em casos específicos, ver dwFlags . | ||||||||||||||
[in] | dwTotalDataLen | Tamanho em bytes total da mensagem a ser codificada. | ||||||||||||||
[in] | bErrorCode | Código de erro da mensagem para ser colocado no cabeçalho de segurança, normalmente em mensagens de resposta. | ||||||||||||||
[in] | bSpecialTreatment | Código de tratamento especial da mensagem, conforme manual do Banco Central. | ||||||||||||||
[out] | hSPBCtx | Ponteiro para contexto da operação de codificação SPB. Depois do seu uso deverá ser liberado com a função DSPBEncodeEnd(). | ||||||||||||||
[in] | dwFlags | Define detalhes da codificação, podendo assumir os seguintes valores descritos na tabela abaixo.
|
int AAP_API DSPBEncodeCont | ( | HSPBCTX | hSPBCtx, |
BYTE * | pbDataIn, | ||
DWORD | dwDataInLen, | ||
BYTE * | pbDataOut, | ||
DWORD * | pdwDataOutLen ) |
#include <dinamo.h>
Envia partes ou toda a mensagem para codificação no HSM.
[in] | hSPBCtx | Contexto adquirido através da função DSPBEncodeInit(). |
[in] | pbDataIn | Buffer contendo parte ou toda a mensagem a ser codificada. O tamanho por chamada é de DN_SPB_MAX_NOTIFY_DATA_SEG bytes. Pode-se enviar tamanhos menores caso seja o último ou o único pedaço da mensagem. |
[in] | dwDataInLen | Tamanho em bytes do buffer pbDataIn . |
[out] | pbDataOut | Buffer que receberá os dados da mensagem codificada. Deverá ter tamanho igual ou maior a pbDataIn .Caso seja o último pedaço, adicionar espaço no tamanho para possível padding/tag. Recomenda-se utilizar um tamanho mínimo de DN_SPB_MAX_RCV_NOTIFY_DATA_SEG bytes para garantir o recebimento de todos os dados retornados. |
[in,out] | pdwDataOutLen | Ponteiro para um DWORD que contém o tamanho de pbDataOut .Na entrada deve conter o tamanho do buffer apontado por pbDataOut, na saída contém o tamanho dos dados que foram codificados em pbDataOut. |
#include <dinamo.h>
Finaliza uma operação de codificação SPB e recebe o cabeçalho de segurança.
[in] | hSPBCtx | Ponteiro para o contexto adquirido através da função DSPBEncodeInit(). |
[out] | pbSPBHeader | Buffer que conterá o cabeçalho de segurança damensagem codificada. Deverá ter tamanho igual ou maior a DN_SPB_MSG_HEADER_V2_LEN bytes. |
[in,out] | pdwSPBHeaderLen | Ponteiro para um DWORD que na entrada deverá conter o tamanho do buffer apontado por pbSPBHeader, e na saída conterá o tamanho do cabeçalho escrito em pbSPBHeader. |
int AAP_API DSPBDecodeInit | ( | HSESSIONCTX | hSession, |
char * | szSrcISPB, | ||
char * | szDstISPB, | ||
BYTE * | pbHeader, | ||
DWORD | dwHeaderLen, | ||
BYTE | bAcceptExpiredCert, | ||
BYTE | bAutoUpdateCert, | ||
DWORD | dwMessageDataLen, | ||
HSPBCTX * | hSPBCtx, | ||
DWORD | dwFlags ) |
#include <dinamo.h>
Inicia uma operação de decodificação de mensagens SPB.
[in] | hSession | Contexto adquirido através da função DOpenSession(). | ||||||||||||||
[in] | szSrcISPB | Identificador da instituição de origem com tamanho máximo MAX_OBJ_ID_FQN_LEN. O identificador da origem deverá ter o seguinte formato: ISPB@DOMINIO, sendo a parte do domínio opcional. O tamanho exato para ISPB é ND_SPB_ISPB_LEN e o tamanho máximo para DOMINIO é ND_SPB_DOMAIN_MAX_LEN. O tamanho máximo para o identificador é ND_SPB_ID_MAX_LEN. Exemplo: 12345678@MES01 onde 12345678 é o ISPB da instituição e MES01 é o identificador do DOMÍNIO. Também pode ser passado o nome do map correspondente, fora do padrão de nomenclatura do módulo SPB em casos específicos, ver dwFlags . | ||||||||||||||
[in] | szDstISPB | Identificador da instituição de destino com tamanho máximo MAX_OBJ_ID_FQN_LEN. O identificador do destino deverá ter o seguinte formato: ISPB@DOMINIO. O tamanho para ISPB é ND_SPB_ISPB_LEN e o tamanho máximo para DOMINIO é ND_SPB_DOMAIN_MAX_LEN. O tamanho máximo para o identificador é ND_SPB_ID_MAX_LEN. Exemplo: 12345678@MES01 onde 12345678 é o ISPB da instituição e MES01 é o identificador do DOMÍNIO. Também pode ser passado o nome do map correspondente, fora do padrão de nomenclatura do módulo SPB em casos específicos, ver dwFlags . | ||||||||||||||
[in] | pbHeader | Buffer contendo o cabeçalho de segurança da mensagem SPB a ser decodificada. | ||||||||||||||
[in] | dwHeaderLen | Tamanho em bytes do buffer pbHeader. | ||||||||||||||
[in] | bAcceptExpiredCert | Byte para aceitar certificados expirados na decodificação da mensagem. Passar 1 para aceitar e 0 para não aceitar. | ||||||||||||||
[in] | bAutoUpdateCert | Habilita ou desabilita a atualização automática de certificados na base do HSM caso a mensagem seja de troca de certificado. Atualmente são tratadas as seguintes mensagens: GEN0006 (resposta), GEN0007, GEN0008 (resposta) e GEN0018. O certificado é importado e ativado automaticamente, exceto no caso da GEN0018 (certificado do Banco Central), onde o certificado é importado mas não ativado. Passar 1 para habilitado e 0 para desabilitado. | ||||||||||||||
[in] | dwMessageDataLen | Tamanho total da mensagen SPB a ser decodificada. | ||||||||||||||
[out] | hSPBCtx | Ponteiro para o contexto da operação de decodificação SPB. Depois do seu uso deverá ser liberado com a função DSPBDecodeEnd(). | ||||||||||||||
[in] | dwFlags | Define detalhes da decodificação, podendo assumir os seguintes valores descritos na tabela abaixo.
|
int AAP_API DSPBDecodeCont | ( | HSPBCTX | hSPBCtx, |
BYTE * | pbDataIn, | ||
DWORD | dwDataInLen, | ||
BYTE ** | ppbDataOut, | ||
DWORD * | pdwDataOutLen ) |
#include <dinamo.h>
Envia partes ou toda a mensagem para decodificacao no HSM.
[in] | hSPBCtx | Contexto adquirido atraves da funcao DSPBDecodeInit. |
[in] | pbDataIn | Buffer contendo parte ou toda a mensagem a ser decodificada. O tamanho por chamada é de ND_SPB_MAX_NOTIFY_DATA_SEG bytes. Pode-se enviar tamanhos menores caso seja o ultimo ou o unico pedaco da mensagem. |
[in] | dwDataInLen | Tamanho em bytes do buffer pbDataIn . |
[out] | ppbDataOut | Ponteiro de ponteiro que ira receber os dados codificados. O tamanho do buffer alocado estara disponivel atraves de pdwDataOutLen.A alocacao de memoria e feita internamente. A desalocacao e feita na proxima chamada a DSPBDecodeCont() ou DSPBDecodeEnd(). |
[out] | pdwDataOutLen | Ponteiro para o tamanho do buffer alocado internamente em ppbDataOut. |
#include <dinamo.h>
Finaliza uma operacao de decodificacao SPB e recebe o cabecalho de seguranca.
[in] | hSPBCtx | Ponteiro para o contexto adquirido atraves da funcao DSPBDecodeInit(). |
int AAP_API DSPBGenerateKey | ( | HSESSIONCTX | hSession, |
char * | szID, | ||
char * | szPrivateKeyName, | ||
DWORD | dwKeyParam, | ||
DWORD | dwParam ) |
#include <dinamo.h>
Gera uma chave privada no padrão SPB. É uma função especializada da API de geração de chave do HSM.
A aplicação gera a chave (RSA 2048 ou como estabelecido no manual atualizado do Bacen) com a identificação seguindo a lei de formação interna, descrita na apresentação do módulo SPB.
[in] | hSession | Contexto adquirido através da função DOpenSession(). |
[in] | szID | Identificador da instituição à qual se destina a chave privada. O identificador da instituição deverá ter o seguinte formato: "ISPB@DOMINIO", sendo a parte do domínio opcional. O tamanho exato para ISPB é ND_SPB_ISPB_LEN e o tamanho máximo para DOMINIO é ND_SPB_DOMAIN_MAX_LEN. O tamanho máximo para o identificador é ND_SPB_ID_MAX_LEN. Exemplo: 12345678@MES01 onde 12345678 é o ISPB da instituição e MES01 é o identificador do DOMÍNIO. |
[out] | szPrivateKeyName | Buffer de tamanho de MAX_OBJ_ID_FQN_LEN ou mais. Este buffer receberá uma string contendo o identificador do par de chaves gerado dentro do HSM. Este identificador deverá ser mantido pela aplicação para posterior utilização em DSPBGenerateCSR() e/ou outras. |
[in] | dwKeyParam | Parâmetros adicionais da chave. Veja as opções na função DGenerateKey(). |
[in] | dwParam | Reservado para uso futuro (deve ser 0). |
int AAP_API DSPBGenerateCSR | ( | HSESSIONCTX | hSession, |
char * | szPrivateKeyName, | ||
BYTE | bVersion, | ||
char * | szSPBSubject, | ||
DWORD | dwOutType, | ||
DWORD * | pdwCSRLen, | ||
BYTE ** | ppbCSR, | ||
DWORD | dwParam ) |
#include <dinamo.h>
Gera um CSR (Certificate Signing Request / Requisição de Assinatura de Certificado) para SPB. É uma função especializada da API de geração de CSR PKCS#10 do HSM.
Não há regras de validação de certificados SPB; isto está a cargo da aplicação, que poderá gerar CSRs para sistemas diferentes, como SPB e CIP.
[in] | hSession | Contexto adquirido através da função DOpenSession(). | ||||||||||||||
[in] | szPrivateKeyName | Identificador da chave privada. Normalmente a string gerada em DSPBGenerateKey(). | ||||||||||||||
[in] | bVersion | Versão do CSR PKCS#10. A seguinte tabela é suportada.
| ||||||||||||||
[in] | szSPBSubject | DN (Dinstinguished Name), para a geração do CSR, com tamanho máximo CORE_P10_CSR_DN_MAX_LEN. Os campos de DN deverão ser separados por '/'. | ||||||||||||||
[in] | dwOutType | Tipo de saída do CSR. A seguinte tabela é suportada.
| ||||||||||||||
[out] | pdwCSRLen | Ponteiro para o tamanho do buffer alocado em ppbCSR. | ||||||||||||||
[out] | ppbCSR | Ponteiro de ponteiro que irá receber o CSR. O tamanho do buffer alocado estará disponível através de pdwCSRLen. A alocação de memória é feita internamente. A aplicação chamadora é responsável por liberar a memória alocada usando a API DFree(). | ||||||||||||||
[in] | dwParam | Parâmetros adicionais. A seguinte tabela é suportada.
|
int AAP_API DSPBImportCertificate | ( | HSESSIONCTX | hSession, |
BYTE | bActivate, | ||
const char * | szUser, | ||
BYTE * | pbCertificate, | ||
DWORD | dwCertificateLen, | ||
const char * | szDomain, | ||
DWORD | dwParam ) |
#include <dinamo.h>
Importa um certificado SPB e o associa a um par de chaves dentro do HSM (via um objeto map), caso exista tal chave.
[in] | hSession | Contexto adquirido através da função DOpenSession(). | ||||||||
[in] | bActivate | Ativa automaticamente o certificado no momento da importação. Passar 1 para ativar e 0 para importar sem ativar o certificado. | ||||||||
[in] | szUser | Nome do usuário, para importação do certificado, com tamanho máximo (MAX_USR_LEN+1). Pode ser NULL caso a importação seja feita no próprio usuário da sessão corrente. | ||||||||
[in] | pbCertificate | Buffer contendo o certificado a ser importado. O certificado pode estar no formato PEM ou DER. | ||||||||
[in] | dwCertificateLen | Tamanho do buffer apontado por pbCertificate. | ||||||||
[in] | szDomain | Domínio de mensagem do certificado a ser ativado. Deve ter tamanho máximo de (ND_SPB_DOMAIN_MAX_LEN + 1). Pode ser NULL caso não haja um domínio definido. | ||||||||
[in] | dwParam | A seguinte tabela de flags é suportada.
|
int AAP_API DSPBImportPKCS12 | ( | HSESSIONCTX | hSession, |
BYTE | bActivate, | ||
const char * | szUser, | ||
const char * | szPkcs12File, | ||
const char * | szPkcs12Pwd, | ||
const char * | szDomain, | ||
DWORD | dwKeyAttr ) |
#include <dinamo.h>
Importa um par de chaves e um certificado a partir de um arquivo PKCS#12.
[in] | hSession | Contexto adquirido através da função DOpenSession(). |
[in] | bActivate | Ativa automaticamente o certificado no momento da importação. Passar 1 para ativar e 0 para importar sem ativar o certificado. |
[in] | szUser | Nome do usuário onde a chave será criada. Pode ser NULL caso a chave seja criada no próprio usuário autenticado. |
[in] | szPkcs12File | Nome do arquivo PKCS#12 para importação. |
[in] | szPkcs12Pwd | Senha do arquivo PKCS#12 para importação. |
[in] | szDomain | Domínio de mensagem do certificado a ser ativado. Deve ter tamanho máximo de (ND_SPB_DOMAIN_MAX_LEN + 1). cPode ser NULL caso não haja um domínio definido. |
[in] | dwKeyAttr | Parâmetros adicionais da chave. Veja as opções na função DGenerateKey(). |
int AAP_API DSPBExportPKCS12 | ( | const HSESSIONCTX | hSession, |
const char * | szPkcs12Pwd, | ||
const char * | szISPB, | ||
const char * | szReserved, | ||
BYTE ** | ppbPkcs12, | ||
DWORD * | pdwPkcs12Len, | ||
DWORD | dwReserved ) |
#include <dinamo.h>
Exporta um par de chaves e um certificado no formato PKCS#12 a partir de um HSM.
[in] | hSession | Contexto adquirido através da função DOpenSession(). . |
[in] | szPkcs12Pwd | Senha do arquivo PKCS#12. Passar NULL para gerar PKCS#12 sem senha. |
[in] | szISPB | Identificador do certificado/chave privada no formato CA@SN, ISPB ou ISPB@DOM. |
[in] | szReserved | Reservado para uso futuro (deve ser NULL). |
[out] | ppbPkcs12 | Ponteiro para um ponteiro que conterá o PKCS#12 gerado. Esta área de dados será alocada internamente e deve ser liberada utilizando DFree(). |
[out] | pdwPkcs12Len | Ponteiro para o tamanho dos dados escritos em ppbPkcs12 . |
[in] | dwReserved | Reservado para uso futuro (deve ser 0). |
int AAP_API DSPBActivateCertificate | ( | HSESSIONCTX | hSession, |
const char * | szIdCert, | ||
const char * | szDomain, | ||
DWORD | dwParam ) |
#include <dinamo.h>
Ativa um certificado SPB no HSM.
[in] | hSession | Contexto adquirido através da função DOpenSession(). |
[in] | szIdCert | Identificador do certificado a ser ativado. O identificador do certificado deverá ter o seguinte formato: CA@SN. O tamanho para CA é ND_SPB_CA_LEN e o tamanho para SN é ND_SPB_SN_MAX_LEN. O tamanho máximo para o identificador é ND_SPB_ID_MAX_LEN. Exemplo: 03@12345678 onde 03 é o identificador da CA e 12345678 é o número de série do certificado. |
[in] | szDomain | Domínio de mensagem do certificado a ser ativado. Deve ter tamanho máximo de (ND_SPB_DOMAIN_MAX_LEN + 1). Pode ser NULL caso não haja um domínio definido. |
[in] | dwParam | Reservado para uso Futuro. |
int AAP_API DSPBGetCertificate | ( | HSESSIONCTX | hSession, |
const char * | szIdCert, | ||
BYTE ** | ppbCertificate, | ||
DWORD * | pdwCertificateLen, | ||
DWORD | dwParam ) |
#include <dinamo.h>
Ativa um certificado SPB no HSM.
[in] | hSession | Contexto adquirido através da função DOpenSession(). |
[in] | szIdCert | Identificação do certificado a ser recuperado. O identificador do certificado poderá ter os seguintes formatos: ID, CA@SN ou ISPB@DOMINIO. O tamanho exato para CA é ND_SPB_CA_LEN e o tamanho máximo para SN é ND_SPB_SN_MAX_LEN. O tamanho máximo para o identificador é ND_SPB_ID_MAX_LEN. Exemplo: 03@12345678 onde 03 é o identificador da CA e 12345678 é o ISPB da instituição. O tamanho exato para ISPB é ND_SPB_ISPB_LEN e o tamanho máximo para DOMINIO é ND_SPB_DOMAIN_MAX_LEN. O tamanho máximo para o identificador é ND_SPB_ID_MAX_LEN. Exemplo: 12345678@MES01 onde 12345678 é o ISPB da instituição e MES01 é o identificador do DOMÍNIO. |
[out] | ppbCertificate | Ponteiro de ponteiro que irá receber o certificado. O tamanho do buffer alocado estará disponível através de pdwCertificateLen. A alocação de memória é feita internamente pela biblioteca. A aplicação chamadora é responsável por liberar a memória alocada usando a API DFree(). |
[out] | pdwCertificateLen | Ponteiro para o tamanho do buffer apontado por ppbCertificate. |
[in] | dwParam | Reservado para uso futuro (deve ser 0). |
int AAP_API DSPBCalculateObjectId | ( | char * | szISPB, |
char * | szDomain, | ||
DWORD | dwKeyType, | ||
char * | szOutObjName, | ||
DWORD | dwParam ) |
#include <dinamo.h>
API auxiliar que calcula (localmente) um nome de objeto no formato padrão do módulo SPB.
[in] | szISPB | ISPB da instituição. Deve ter tamanho de (ND_SPB_ISPB_LEN +1). | ||||||
[in] | szDomain | Domínio de mensagem do certificado a ser ativado. Deve ter tamanho máximo de (ND_SPB_DOMAIN_MAX_LEN + 1). Pode ser NULL caso não haja um domínio definido. | ||||||
[in] | dwKeyType | Tipo do nome a ser gerado. Os valores da tabela seguinte serão aceitos.
| ||||||
[out] | szOutObjName | Buffer de tamanho MAX_OBJ_ID_FQN_LEN que conterá o nome de objeto calculado. | ||||||
[in] | dwParam | Reservado para uso futuro (deve ser 0). |
int AAP_API DSPBMapInfo | ( | HSESSIONCTX | hSession, |
const char * | szIdCert, | ||
EXT_MAP_2_OBJ_INFO * | pstExtMap, | ||
DWORD | dwParam ) |
#include <dinamo.h>
API auxiliar que recupera as informações de um MAP SPB.
[in] | hSession | Contexto adquirido através da função DOpenSession(). |
[in] | szIdCert | Identificação do certificado a ser recuperado. O identificador do certificado poderá ter os seguintes formatos: ID, CA@SN ou ISPB@DOMINIO. O tamanho exato para CA é ND_SPB_CA_LEN e o tamanho máximo para SN é ND_SPB_SN_MAX_LEN. O tamanho máximo para o identificador é ND_SPB_ID_MAX_LEN. Exemplo: 03@12345678 onde 03 é o identificador da CA e 12345678 é o número de série do certificado. O tamanho exato para ISPB é ND_SPB_ISPB_LEN e o tamanho máximo para DOMINIO é ND_SPB_DOMAIN_MAX_LEN. O tamanho máximo para o identificador é ND_SPB_ID_MAX_LEN. Exemplo: 12345678@MES01 onde 12345678 é o ISPB da instituição e MES01 é o identificador do DOMÍNIO. |
[out] | pstExtMap | Ponteiro para um EXT_MAP_2_OBJ_INFO que conterá as informações do MAP requisitado. |
[in] | dwParam | Reservado para uso futuro (deve ser 0). |
int AAP_API DSPBSetISPBMap | ( | HSESSIONCTX | hSession, |
char * | szISPB, | ||
char * | szKeyId, | ||
char * | szCertId, | ||
DWORD | dwParam ) |
#include <dinamo.h>
API auxiliar que cria ou altera um map SPB. O map é identificado a partir dos dados de CA e NS do certificado fornecido.
[in] | hSession | Contexto adquirido através da função DOpenSession(). | ||||||||
[in] | szISPB | ISPB da instituição. Deve ter tamanho máximo de MAX_OBJ_ID_FQN_LEN. | ||||||||
[in] | szKeyId | Nome da chave privada da instituição. Deve ter tamanho máximo de MAX_OBJ_ID_FQN_LEN. Pode ser NULL caso esteja definindo apenas o certificado. | ||||||||
[in] | szCertId | Nome do certificado da instituição. Deve ter tamanho máximo de MAX_OBJ_ID_FQN_LEN. | ||||||||
[in] | dwParam | A seguinte tabela de flags é suportada.
|