API Java
HSM Dinamo
Carregando...
Procurando...
Nenhuma entrada encontrado
SPB

Descrição detalhada

Operações de Encode e Decode conforme o padrão SPB.

Consulte a documentação técnica do HSM.

Funções

void SPBActivateCertificate (String szDomain, byte bCA, String szSN) throws TacException
 Ativa um certificado que já foi importado para o HSM.
 
void SPBActivateCertificate (String szDomain, byte bCA, String szSN, int dwParam) throws TacException
 Ativa um certificado que já foi importado para o HSM.
 
void SPBSetISPBMap (String strISPB, String strKeyId, String strCertId) throws TacException
 Cria um mapa com a chave e certificado da instituição em um slot.
 
byte[] SPBGenerateCSR (String sPrivateKeyName, String sRazaoSocial, String sISPB, String sSISBACEN, int iSequencial, boolean bProducao, String sCidade, String sUF) throws TacException
 Gera uma nova CSR baseada em uma chave existente (RSA 2048).
 
byte[] SPBGenerateCSR (String sPrivateKeyName, String sSubject) throws TacException
 Gera uma nova CSR baseada em uma chave existente (RSA 2048).
 
byte[] generatePKCS10CSR (String szKeyId, String szDN, int dwOutType) throws TacException
 Gera um CSR.
 
void SPBImportCertificate (String szDomain, byte[] bCertificate) throws TacException
 Importa um certificado para um namespace do HSM.
 
void SPBImportCertificate (String szDomain, byte[] bCertificate, boolean isActive) throws TacException
 Importa um certificado para um namespace do HSM.
 
void SPBImportCertificate (String szDomain, byte[] bCertificate, boolean isActive, int dwParam) throws TacException
 Importa um certificado para um namespace do HSM.
 
void SPBImportPKCS12 (String path, String pass, String domain, boolean isActivate, int dwFlags) throws TacException
 Importa um certificado de um container PKCS#12 para o HSM.
 
byte[] SPBGetCertificate (String strIdCertificate) throws TacException
 Recupera um certificado armazenado em um namespace no HSM.
 
byte[] SPBDecode (String szSrcISPB, String szDstISPB, byte[] pbMsgIn, boolean bAcceptExpiredCert, boolean bAutoUpdateCert) throws TacSPBException, IOException
 Decodifica uma mensagem no padrão SPB, checando as assinaturas, decriptografando porem não faz a checagem de encoding.
 
byte[] SPBDecode (String szSrcISPB, String szDstISPB, byte[] pbMsgIn, boolean bAcceptExpiredCert, boolean bAutoUpdateCert, boolean bEncodingCheck) throws TacSPBException, IOException
 Decodifica uma mensagem no padrão SPB, checando as assinaturas e decriptografando.
 
byte[] SPBDecode (String szSrcISPB, String szDstISPB, byte[] pbMsgIn, boolean bAcceptExpiredCert, boolean bAutoUpdateCert, boolean bEncodingCheck, int dwFlags) throws TacSPBException, IOException
 Decodifica uma mensagem no padrão SPB, checando as assinaturas e decriptografando.
 
byte[] SPBDecode (String szSrcISPB, String szDstISPB, byte[] pbMsgIn) throws TacException, IOException
 
byte[] SPBEncode (String szSrcISPB, String szDstISPB, byte[] pbMsgIn, byte bSpecialTreatment) throws TacException
 Codifica uma mensagem com o cabeçalho do SPB, assinando, criptografando e incluindo todos os campos de cabeçalhos definidos no manual de segurança da RSFN.
 
byte[] SPBEncode (String szSrcISPB, String szDstISPB, byte[] pbMsgIn, byte bSpecialTreatment, int dwFlags) throws TacException
 Codifica uma mensagem com o cabeçalho do SPB, assinando, criptografando e incluindo todos os campos de cabeçalhos definidos no manual de segurança da RSFN.
 

Funções

◆ SPBActivateCertificate() [1/2]

void SPBActivateCertificate ( String szDomain,
byte bCA,
String szSN ) throws TacException

Ativa um certificado que já foi importado para o HSM.

Se houver um outro certificado ativo, ele será inativado. Somente um certificado permanecerá ativo por instituição, por domínio dentro de um namespace do HSM.

Parâmetros
szDomaindominio de operação do SPB
bCAnúmero da CA que emitiu o certificado
szSNNúmero de série do certificado que será ativado.
Exceções
TacException

◆ SPBActivateCertificate() [2/2]

void SPBActivateCertificate ( String szDomain,
byte bCA,
String szSN,
int dwParam ) throws TacException

Ativa um certificado que já foi importado para o HSM.

Se houver um outro certificado ativo, ele será inativado. Somente um certificado permanecerá ativo por instituição, por domínio dentro de um namespace do HSM.

Parâmetros
szDomaindominio de operação do SPB
bCAnúmero da CA que emitiu o certificado
szSNNúmero de série do certificado que será ativado.
dwParamA seguinte tabela de flags é suportada.
Valor Significado
0 Utiliza o padrão SPB(Sistema de Pagamentos Brasileiro).
TacNDJavaLib.ND_SPB_USE_CIP1 Utiliza o padrão CIP(Camara Interbancaria de Pagamentos)/C3 Nuclea.
Exceções
TacException

◆ SPBSetISPBMap()

void SPBSetISPBMap ( String strISPB,
String strKeyId,
String strCertId ) throws TacException

Cria um mapa com a chave e certificado da instituição em um slot.

Parâmetros
strISPB- Identificação do mapa (pode ser o ISPB)
strKeyId- Identificação da chave
strCertId- Identificação do certificado
Exceções
TacExceptionLança exceção no caso de erros na assinatura

◆ SPBGenerateCSR() [1/2]

byte[] SPBGenerateCSR ( String sPrivateKeyName,
String sRazaoSocial,
String sISPB,
String sSISBACEN,
int iSequencial,
boolean bProducao,
String sCidade,
String sUF ) throws TacException

Gera uma nova CSR baseada em uma chave existente (RSA 2048).

Parâmetros
sPrivateKeyNameId da chave no HSM.
sRazaoSocialNome da Razão Social da Entidade, conforme o Manual de Segurança da RSFN.
sISPBCódigo ISPB (08 dígitos). É o número base do CNPJ da instituição.
sSISBACENCódigo SISBACEN da instituição.(05 caracteres).
iSequencialNumeração sequencial única de geração do par de chaves, conforme o Manual de Segurança da RSFN.
bProducaoVerdadeiro (true) para indicar certificado de ambiente de produção e falso (false) para indicar certificado de ambiente de homologação.
sCidadeNome da Cidade. Parâmetro opcional, pode indicar NUL.
sUFNome do Estado (02 caracteres). Parâmetro opcional, pode indicar NUL.
Retorna
Array de bytes com a CSR. Basta direcionar para um arquivo.
Exceções
TacException

◆ SPBGenerateCSR() [2/2]

byte[] SPBGenerateCSR ( String sPrivateKeyName,
String sSubject ) throws TacException

Gera uma nova CSR baseada em uma chave existente (RSA 2048).

Parâmetros
sPrivateKeyNameId da chave no HSM.
sSubjectDN (Dinstinguished Name) do CSR para a geração do campo Subject do certificado. Os campos de DN deverão ser separados por '/'.
Retorna
Array de bytes com a CSR. Basta direcionar para um arquivo.
Exceções
TacException

◆ generatePKCS10CSR()

byte[] generatePKCS10CSR ( String szKeyId,
String szDN,
int dwOutType ) throws TacException

Gera um CSR.

Parâmetros
szKeyIdnome da chave
szDNString terminada em zero de tamanho máximo CORE_P10_CSR_DN_MAX_LEN, contendo o DN (Dinstinguished Name) para a geração do CSR. Os campos de DN deverão ser separados por '/'.
dwOutTypeFormato de Saída P10_CSR_DER(1) ou P10_CSR_PEM(2)
Exceções
TacException

◆ SPBImportCertificate() [1/3]

void SPBImportCertificate ( String szDomain,
byte[] bCertificate ) throws TacException

Importa um certificado para um namespace do HSM.

Parâmetros
szDomainnome do domínio que o certificado será importado
bCertificatearray de bytes contendo o certificado (formato PEM ou DER)
Exceções
TacException

◆ SPBImportCertificate() [2/3]

void SPBImportCertificate ( String szDomain,
byte[] bCertificate,
boolean isActive ) throws TacException

Importa um certificado para um namespace do HSM.

Parâmetros
szDomainnome do domínio que o certificado será importado
bCertificatearray de bytes contendo o certificado (formato PEM ou DER)
isActiveativa certificado após importação
Exceções
TacException

◆ SPBImportCertificate() [3/3]

void SPBImportCertificate ( String szDomain,
byte[] bCertificate,
boolean isActive,
int dwParam ) throws TacException

Importa um certificado para um namespace do HSM.

Parâmetros
szDomainnome do domínio que o certificado será importado
bCertificatearray de bytes contendo o certificado (formato PEM ou DER)
isActiveativa certificado após importação
dwParamA seguinte tabela de flags é suportada.
Valor Significado
0 Utiliza o padrão SPB(Sistema de Pagamentos Brasileiro).
TacNDJavaLib.ND_SPB_USE_CIP1 Utiliza o padrão CIP(Camara Interbancaria de Pagamentos)/C3 Nuclea.
TacNDJavaLib.ND_SPB_USE_ANY Aceita o padrão CIP/C3 Nuclea e SPB. A detecção é feita internamente.
Exceções
TacException

◆ SPBImportPKCS12()

void SPBImportPKCS12 ( String path,
String pass,
String domain,
boolean isActivate,
int dwFlags ) throws TacException

Importa um certificado de um container PKCS#12 para o HSM.

Parâmetros
pathCaminho do arquivo
passSenha
dwFlagsParâmetros adicionais da chave.
Valor Significado
TacNDJavaLib.NONEXPORTABLE_KEY A chave Não poderá sair do HSM.
TacNDJavaLib.EXPORTABLE_KEY A chave poderá ser exportada do HSM.
TacNDJavaLib.TEMPORARY_KEY A chave somente existirá enquanto a sessão estiver ativa. Ela será destruída após o encerramento da sessão.
domainDominio para a importação
isActivateAtiva o certificado durante a importação
Exceções
TacException

◆ SPBGetCertificate()

byte[] SPBGetCertificate ( String strIdCertificate) throws TacException

Recupera um certificado armazenado em um namespace no HSM.

Parâmetros
strIdCertificateidentificação do certificado no formato "<ISPB>@<Dominio>". Por exemplo: "11223344@SPR".
Retorna
Exceções
TacException

◆ SPBDecode() [1/4]

byte[] SPBDecode ( String szSrcISPB,
String szDstISPB,
byte[] pbMsgIn,
boolean bAcceptExpiredCert,
boolean bAutoUpdateCert ) throws TacSPBException, IOException

Decodifica uma mensagem no padrão SPB, checando as assinaturas, decriptografando porem não faz a checagem de encoding.

Parâmetros
szSrcISPBidentificação do ISPB de origem no formato "<ISPB>@<Dominio>". Por exemplo: "11223344@SPR".
szDstISPBidentificação do ISPB de destino no formato "<ISPB>@<Dominio>". Por exemplo: "11223344@SPR".
pbMsgInmensagem codificada no padrão SPB passada como um array de bytes
bAcceptExpiredCertverdadeiro (true) se o HSM deve aceitar certificados expirados nas mensagens de troca de certificado
bAutoUpdateCertverdadeiro (true) para indicar que o HSM deve atualizar automaticamente o certificado da instituição que enviou uma mensagem SPB de troca de certificado
Retorna
Array de bytes com a mensagem decodificada.
Exceções
TacExceptionErro na operaçãoo com o HSM.
IOExceptionErro de escrita na memória (streams) de decodificação.

◆ SPBDecode() [2/4]

byte[] SPBDecode ( String szSrcISPB,
String szDstISPB,
byte[] pbMsgIn,
boolean bAcceptExpiredCert,
boolean bAutoUpdateCert,
boolean bEncodingCheck ) throws TacSPBException, IOException

Decodifica uma mensagem no padrão SPB, checando as assinaturas e decriptografando.

Parâmetros
szSrcISPBidentificação do ISPB de origem no formato "<ISPB>@<Dominio>". Por exemplo: "11223344@SPR".
szDstISPBidentificação do ISPB de destino no formato "<ISPB>@<Dominio>". Por exemplo: "11223344@SPR".
pbMsgInmensagem codificada no padrão SPB passada como um array de bytes
bAcceptExpiredCertverdadeiro (true) se o HSM deve aceitar certificados expirados nas mensagens de troca de certificado
bAutoUpdateCertverdadeiro (true) para indicar que o HSM deve atualizar automaticamente o certificado da instituição que enviou uma mensagem SPB de troca de certificado
bEncodingCheckliga a validação de range de codificação
Retorna
Array de bytes com a mensagem decodificada.
Exceções
TacExceptionErro na operaçãoo com o HSM.
IOExceptionErro de escrita na memória (streams) de decodificação.

◆ SPBDecode() [3/4]

byte[] SPBDecode ( String szSrcISPB,
String szDstISPB,
byte[] pbMsgIn,
boolean bAcceptExpiredCert,
boolean bAutoUpdateCert,
boolean bEncodingCheck,
int dwFlags ) throws TacSPBException, IOException

Decodifica uma mensagem no padrão SPB, checando as assinaturas e decriptografando.

Parâmetros
szSrcISPBidentificação do ISPB de origem no formato "<ISPB>@<Dominio>". Por exemplo: "11223344@SPR". 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.
szDstISPBidentificação do ISPB de destino no formato "<ISPB>@<Dominio>". Por exemplo: "11223344@SPR". 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.
pbMsgInmensagem codificada no padrão SPB passada como um array de bytes
bAcceptExpiredCertverdadeiro (true) se o HSM deve aceitar certificados expirados nas mensagens de troca de certificado
bAutoUpdateCertverdadeiro (true) para indicar que o HSM deve atualizar automaticamente o certificado da instituição que enviou uma mensagem SPB de troca de certificado
bEncodingCheckliga a validação de range de codificação
dwFlagsDefine detalhes da decodificação, podendo assumir os seguintes valores descritos na tabela abaixo.
Valor Signficado
TacNDJavaLib.ND_SPB_OUT_NO_PADDING Retira o padding do final da mensagem SPB após a decriptação.
TacNDJavaLib.ND_SPB_OUT_WITH_PADDING Mantem o padding no final da mensagem SPB após a decriptação.
TacNDJavaLib.ND_SPB_USE_CIP1 Utiliza o padrão CIP(Camara Interbancaria de Pagamentos)/C3 Nuclea. Quando esta flag não está definida o padrão SPB(Sistema de Pagamentos Brasileiro) é utilizado.
TacNDJavaLib.ND_SPB_RAW Modo sem verificações específicas de SPB. Aceita apenas o uso do nome do MAP como parâmetros de szSrcISPB e szDstISPB.
Retorna
Array de bytes com a mensagem decodificada.
Exceções
TacExceptionErro na operaçãoo com o HSM.
IOExceptionErro de escrita na memória (streams) de decodificação.

◆ SPBDecode() [4/4]

byte[] SPBDecode ( String szSrcISPB,
String szDstISPB,
byte[] pbMsgIn ) throws TacException, IOException

Esse é um método provido por conveniência. Ele difere do método acima apenas na lista de argumentos que devem ser utilizados.

◆ SPBEncode() [1/2]

byte[] SPBEncode ( String szSrcISPB,
String szDstISPB,
byte[] pbMsgIn,
byte bSpecialTreatment ) throws TacException

Codifica uma mensagem com o cabeçalho do SPB, assinando, criptografando e incluindo todos os campos de cabeçalhos definidos no manual de segurança da RSFN.

Parâmetros
szSrcISPBidentificação do ISPB de origem no formato "<ISPB>@<Dominio>". Por exemplo: "11223344@SPR".
szDstISPBidentificação do ISPB de destino no formato "<ISPB>@<Dominio>". Por exemplo: "11223344@SPR".
pbMsgInMensagem passada como um array de bytes. O HSM Não faz conversão automática de formato. No padrão do SPB o formato definido é o UTF16-BE, e cabe ao chamador da API garantir que a mensagem esteja usando o formato correto.
bSpecialTreatmentIndicador de tratamento especial. Item 5.6 do manual do cabeçalho de segurança da RSFN.
Retorna
Exceções
TacException

◆ SPBEncode() [2/2]

byte[] SPBEncode ( String szSrcISPB,
String szDstISPB,
byte[] pbMsgIn,
byte bSpecialTreatment,
int dwFlags ) throws TacException

Codifica uma mensagem com o cabeçalho do SPB, assinando, criptografando e incluindo todos os campos de cabeçalhos definidos no manual de segurança da RSFN.

Parâmetros
szSrcISPBidentificação do ISPB de origem no formato "<ISPB>@<Dominio>". Por exemplo: "11223344@SPR". 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.
szDstISPBidentificação do ISPB de destino no formato "<ISPB>@<Dominio>". Por exemplo: "11223344@SPR". 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.
pbMsgInMensagem passada como um array de bytes. O HSM Não faz conversão automática de formato. No padrão do SPB o formato definido é o UTF16-BE, e cabe ao chamador da API garantir que a mensagem esteja usando o formato correto.
bSpecialTreatmentIndicador de tratamento especial. Item 5.6 do manual do cabeçalho de segurança da RSFN.
dwFlagsDefine detalhes da decodificação, podendo assumir os seguintes valores descritos na tabela abaixo.
Valor Signficado
TacNDJavaLib.ND_SPB_ENCODE_GEN_01 Gera uma mensagem GEN 01.
TacNDJavaLib.ND_SPB_USE_CIP1 Utiliza o padrão CIP(Camara Interbancaria de Pagamentos)/C3 Nuclea. Quando esta flag não está definida o padrão SPB(Sistema de Pagamentos Brasileiro) é utilizado.
TacNDJavaLib.ND_SPB_ENCODE_HEADER_V3 Codifica a mensagem utilizando o cabeçalho de segurança versão 3. No futuro esta opção será definida por padrão. O cabeçalho V3 está disponível a partir da versão 5.0.16 do firmware do HSM.
TacNDJavaLib.ND_SPB_RAW Modo sem verificações específicas de SPB. Aceita apenas o uso do nome do MAP como parâmetros de szSrcISPB e szDstISPB.
Retorna
Exceções
TacException