API .NET
HSM Dinamo
Carregando...
Procurando...
Nenhuma entrada encontrado
Pix

Descrição detalhada

Operações destinadas ao Pix do SPI (Sistema de Pagamentos Instantâneos).

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

Boas práticas

Geral

  1. Reutilizar sessões (se beneficiar do cache de sessões). Use o cache de sessões do HSM e ganhe performance reutilizando as sessões do HSM e HTTP. Neste caso recomenda-se abrir uma sessão, fazer as operações que deseja e logo após fechar; permitindo que a sessão possa ser reutilizada rapidamente, diminuindo assim o tempo ocioso.
  2. Garantir o fechamento das sessões. O fechamento das sessões garante a liberação do recurso, tanto no HSM quanto no cliente. Certifique-se que as sessões sejam fechadas inclusive nas operações com código de retorno diferente de sucesso.
  3. Utilizar sessões concorrentes. Usar sessões concorrentes/paralelas com o HSM ajuda a extrair o máximo de performance. Deve-se atentar para o excesso de sessões com os HSMs, para não causar um uso desnecessário de recursos. A curva de throughput tende a subir e encontrar um platô.

Requisições HTTP Pix

  1. Definir um intervalo de recarregamento de objetos de conexão. É possível otimizar a quantidade de vezes em que ocorre o carregamento das chaves e objetos do HSM definindo um intervalo de recarregamento de objetos do HSM. Como a atualização de chave/certificado/cadeia da instituição é feita poucas vezes e de forma programada, é vantajoso definir um intervalo de recarregamento desses objetos. Atentar para timeouts de ativos de rede menores do que esse valor, isto evita desconexões prematuras e erros desnecessários. Veja mais detalhes e como configurar aqui.

Configurações Importantes

Geral
  1. Definir os timeouts de conexão com o HSM. Quando não definido o timeout do HSM o padrão é o do sistema operacional. Em casos de falha de conexão a aplicação pode ficar em espera excessiva. É importante SEMPRE definir o timeout de envio e recebimento do HSM. Outros parâmetros de conexão podem ser vistos aqui.
Requisições HTTP Pix
  1. Definir os timeouts da operação HTTP. Quando não definido o timeout padrão da operação HTTP é sem limite. Em casos de falha de conexão HTTP a aplicação pode ficar em espera indefinidamente. É importante SEMPRE definir o timeout nas chamadas de requisições HTTP.

Funções

byte[] SignPIX (string KeyId, string CertId, int Flags, byte[] byUnsignedPIXEnvelope)
 Assina digitalmente um XML no formato ISO 20.022 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
byte[] SignPIX (string KeyId, string CertId, byte[] byUnsignedPIXEnvelope)
 Assina digitalmente um XML no formato ISO 20.022 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
bool VerifyPIX (string ChainId, string CRL, string SignedPIXEnvelope)
 Verifica a assinatura de um documento XML assinado digitalmente no formato ISO 20.022 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
byte[] SignPIXDict (string KeyId, string CertId, int Flags, byte[] byUnsignedDictEnvelope)
 Assina digitalmente um XML no formato XMLDSig seguindo o padrão DICT definido no SPI (Sistema de Pagamentos Instantâneos).
 
byte[] SignPIXDict (string KeyId, string CertId, byte[] byUnsignedDictEnvelope)
 Assina digitalmente um XML no formato XMLDSig seguindo o padrão DICT definido no SPI (Sistema de Pagamentos Instantâneos).
 
bool VerifyPIX (string ChainId, string CRL, int Flags, byte[] SignedPIXEnvelope)
 Verifica a assinatura de um documento XML assinado digitalmente no formato ISO 20.022 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
bool VerifyPIX (string ChainId, string CRL, byte[] SignedPIXEnvelope)
 Verifica a assinatura de um documento XML assinado digitalmente no formato ISO 20.022 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
bool VerifyPIXDict (string ChainId, string CRL, int Flags, byte[] SignedDictEnvelope)
 Verifica a assinatura de um documento XML assinado digitalmente no formato XMLDSig seguindo o padrão DICT definido no SPI (Sistema de Pagamentos Instantâneos).
 
bool VerifyPIXDict (string ChainId, string CRL, byte[] SignedDictEnvelope)
 Verifica a assinatura de um documento XML assinado digitalmente no formato XMLDSig seguindo o padrão DICT definido no SPI (Sistema de Pagamentos Instantâneos).
 
byte[] SignPIXJWS (string KeyId, byte[] byHeader, byte[] byPayload)
 Faz uma assinatura JWS RFC 7515 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
string SignPIXJWS (string KeyId, string Header, string Payload)
 Faz uma assinatura JWS RFC 7515 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
JwsComponents CheckPIXJWS (string Chain, string CRL, byte[] byJWS, Int32 flags)
 Valida um JWS assinado RFC 7515 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
JwsComponents CheckPIXJWS (string Chain, string CRL, string JWS, Int32 flags)
 Valida um JWS assinado RFC 7515 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
bool CheckPIXJWS (string Chain, string CRL, byte[] byJWS)
 Valida um JWS assinado RFC 7515 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
bool CheckPIXJWS (string Chain, string CRL, string JWS)
 Valida um JWS assinado RFC 7515 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
PIXResponse postPIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, byte[] RequestData, Int32 TimeOut, bool UseGzip, bool VerifyHostName)
 Faz uma requisição segura HTTP POST seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos). Usa o header HTTP inicial básico.
 
PIXResponse postPIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, byte[] RequestData, Int32 TimeOut, Int32 Param)
 Faz uma requisição segura HTTP POST seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
PIXResponse putPIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, byte[] RequestData, Int32 TimeOut, bool UseGzip, bool VerifyHostName)
 Faz uma requisição segura HTTP PUT seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos). Usa o header HTTP inicial básico.
 
PIXResponse putPIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, byte[] RequestData, Int32 TimeOut, Int32 Param)
 Faz uma requisição segura HTTP PUT seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
PIXResponse getPIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, Int32 TimeOut, bool UseGzip, bool VerifyHostName)
 Faz uma requisição segura HTTP GET seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos). Usa o header HTTP inicial básico.
 
PIXResponse getPIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, Int32 TimeOut, Int32 Param)
 Faz uma requisição segura HTTP GET seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
PIXResponse deletePIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, Int32 TimeOut, bool UseGzip, bool VerifyHostName)
 Faz uma requisição segura HTTP DELETE seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos). Usa o header HTTP inicial básico.
 
PIXResponse deletePIX (string KeyId, string CertId, string PIXCertChainId, string URL, string[] RequestHeaderList, Int32 TimeOut, Int32 Param)
 Faz uma requisição segura HTTP DELETE seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).
 
DinamoApi.PIXHTTPReqDetails getPIXHTTPReqDetails ()
 Recupera os detalhes da última requisição PIX HTTP (POST, GET...) feita nesta sessão. Esta operação deve ser chamada logo após a chamada da API de requisição PIX. Deve ser chamada utilizando a mesma sessão. Não fazer outras operações entre estas chamadas.
 
Int64 getPIXHTTPReqCode ()
 Recupera o código de retorno da última requisição PIX HTTP (POST, GET...) feita nesta sessão. Esta operação deve ser chamada logo após a chamada da API de requisição PIX. Deve ser chamada utilizando a mesma sessão. Não fazer outras operações entre estas chamadas.
 

Funções

◆ SignPIX() [1/2]

byte[] SignPIX ( string KeyId,
string CertId,
int Flags,
byte[] byUnsignedPIXEnvelope )
inline

Assina digitalmente um XML no formato ISO 20.022 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
KeyIdNome da chave privada utilizada para assinatura. Correspondente a um certificado CPIA.
CertIdNome do certificado digital utilizado para assinatura. Certificado Digital do PSP cadastrado no SPI para assinatura, também conhecido como CPIA ou CERTPIA.
FlagsOpções de assinatura. Passar 0. Caso precise de alguma opção adicional os seguintes valores são aceitos.
Valor Significado
DinamoAPI.PIX_SIGN_RNS Habilita o uso de namespaces relativas.
Parâmetros
byUnsignedPIXEnvelopeParâmetro contendo o XML a ser assinado.
Retorna
O documento XML assinado.
Exceções
DinamoExceptionLança exceção no caso de erros na assinatura

Recomendamos utilizar a tag de assinatura utilizando o fechamento completo, como visto abaixo, por motivos de performance.

<Sgntr></Sgntr>

A tag com fechamento simples também é aceita, ver abaixo.

<Sgntr/>
Exemplos
sign_verify_pix.cs.

◆ SignPIX() [2/2]

byte[] SignPIX ( string KeyId,
string CertId,
byte[] byUnsignedPIXEnvelope )
inline

Assina digitalmente um XML no formato ISO 20.022 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
KeyIdNome da chave privada utilizada para assinatura. Correspondente a um certificado CPIA.
CertIdNome do certificado digital utilizado para assinatura. Certificado Digital do PSP cadastrado no SPI para assinatura, também conhecido como CPIA ou CERTPIA.
byUnsignedPIXEnvelopeParâmetro contendo o XML a ser assinado.
Retorna
O documento XML assinado.
Exceções
DinamoExceptionLança exceção no caso de erros na assinatura

Recomendamos utilizar a tag de assinatura utilizando o fechamento completo, como visto abaixo, por motivos de performance.

<Sgntr></Sgntr>

A tag com fechamento simples também é aceita, ver abaixo.

<Sgntr/>

◆ VerifyPIX() [1/3]

bool VerifyPIX ( string ChainId,
string CRL,
string SignedPIXEnvelope )
inline

Verifica a assinatura de um documento XML assinado digitalmente no formato ISO 20.022 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
ChainIdNome da cadeia PKCS#7 (armazenada internamente no HSM) do certificado utilizado na assinatura. A cadeia deverá ser completa contendo da AC raiz até o próprio certificado utilizado na assinatura. Esta formatação é necessária porque a mensagem XML de Pix não traz o certificado usado na assinatura. Opcionalmente, pode ser passado apenas o certificado X.509 utilizado para assinar, no lugar da cadeia completa. A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias. Importante observar que no caso de um objeto PKCS#7 do HSM que contenha múltiplas cadeias, a presença de um certificado expirado em qualquer das cadeias irá gerar na verificação um código de retorno de assinatura válida com certificado expirado (código diferente de zero), mesmo que a assinatura tenha sido realizada com certificado de cadeia não expirada; fica a cargo da aplicação o tratamento correto conforme a política local.
CRLNome da Lista de Certificados Revogados (CRL) – armazenada internamente no HSM - onde o certificado digital será verificado. É possível passar NULL indicando que não há uma CRL para verificação.
SignedPIXEnvelopeXML assinado digitalmente
Retorna
Verdadeiro se a checagem for efetuada com sucesso.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
sign_verify_pix.cs.

◆ SignPIXDict() [1/2]

byte[] SignPIXDict ( string KeyId,
string CertId,
int Flags,
byte[] byUnsignedDictEnvelope )
inline

Assina digitalmente um XML no formato XMLDSig seguindo o padrão DICT definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
KeyIdNome da chave privada utilizada para assinatura. Correspondente a um certificado CPIA.
CertIdNome do certificado digital utilizado para assinatura. Certificado Digital do PSP cadastrado no SPI para assinatura, também conhecido como CPIA ou CERTPIA.
FlagsReservado para uso futuro (deve ser 0).
byUnsignedDictEnvelopeParâmetro contendo o XML a ser assinado.
Retorna
O documento XML assinado.
Exceções
DinamoExceptionLança exceção no caso de erros na assinatura

Não incluir a tag de assinatura, ela será adicionada automaticamente.

◆ SignPIXDict() [2/2]

byte[] SignPIXDict ( string KeyId,
string CertId,
byte[] byUnsignedDictEnvelope )
inline

Assina digitalmente um XML no formato XMLDSig seguindo o padrão DICT definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
KeyIdNome da chave privada utilizada para assinatura. Correspondente a um certificado CPIA.
CertIdNome do certificado digital utilizado para assinatura. Certificado Digital do PSP cadastrado no SPI para assinatura, também conhecido como CPIA ou CERTPIA.
byUnsignedDictEnvelopeParâmetro contendo o XML a ser assinado.
Retorna
O documento XML assinado.
Exceções
DinamoExceptionLança exceção no caso de erros na assinatura

Não incluir a tag de assinatura, ela será adicionada automaticamente.

◆ VerifyPIX() [2/3]

bool VerifyPIX ( string ChainId,
string CRL,
int Flags,
byte[] SignedPIXEnvelope )
inline

Verifica a assinatura de um documento XML assinado digitalmente no formato ISO 20.022 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
ChainIdNome da cadeia PKCS#7 (armazenada internamente no HSM) do certificado utilizado na assinatura. A cadeia deverá ser completa contendo da AC raiz até o próprio certificado utilizado na assinatura. Esta formatação é necessária porque a mensagem XML de Pix não traz o certificado usado na assinatura. Opcionalmente, pode ser passado apenas o certificado X.509 utilizado para assinar, no lugar da cadeia completa. A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias. Importante observar que no caso de um objeto PKCS#7 do HSM que contenha múltiplas cadeias, a presença de um certificado expirado em qualquer das cadeias irá gerar na verificação um código de retorno de assinatura válida com certificado expirado (código diferente de zero), mesmo que a assinatura tenha sido realizada com certificado de cadeia não expirada; fica a cargo da aplicação o tratamento correto conforme a política local.
CRLNome da Lista de Certificados Revogados (CRL) – armazenada internamente no HSM - onde o certificado digital será verificado. É possível passar NULL indicando que não há uma CRL para verificação.
FlagsReservado para uso futuro (deve ser 0).
SignedPIXEnvelopeXML assinado digitalmente
Retorna
Verdadeiro se a checagem for efetuada com sucesso.
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ VerifyPIX() [3/3]

bool VerifyPIX ( string ChainId,
string CRL,
byte[] SignedPIXEnvelope )
inline

Verifica a assinatura de um documento XML assinado digitalmente no formato ISO 20.022 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
ChainIdNome da cadeia PKCS#7 (armazenada internamente no HSM) do certificado utilizado na assinatura. A cadeia deverá ser completa contendo da AC raiz até o próprio certificado utilizado na assinatura. Esta formatação é necessária porque a mensagem XML de Pix não traz o certificado usado na assinatura. Opcionalmente, pode ser passado apenas o certificado X.509 utilizado para assinar, no lugar da cadeia completa. A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias. Importante observar que no caso de um objeto PKCS#7 do HSM que contenha múltiplas cadeias, a presença de um certificado expirado em qualquer das cadeias irá gerar na verificação um código de retorno de assinatura válida com certificado expirado (código diferente de zero), mesmo que a assinatura tenha sido realizada com certificado de cadeia não expirada; fica a cargo da aplicação o tratamento correto conforme a política local.
CRLNome da Lista de Certificados Revogados (CRL) – armazenada internamente no HSM - onde o certificado digital será verificado. É possível passar NULL indicando que não há uma CRL para verificação.
SignedPIXEnvelopeXML assinado digitalmente
Retorna
Verdadeiro se a checagem for efetuada com sucesso.
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ VerifyPIXDict() [1/2]

bool VerifyPIXDict ( string ChainId,
string CRL,
int Flags,
byte[] SignedDictEnvelope )
inline

Verifica a assinatura de um documento XML assinado digitalmente no formato XMLDSig seguindo o padrão DICT definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
ChainIdNome da cadeia PKCS#7 (armazenada internamente no HSM) do certificado utilizado na assinatura. A cadeia deverá ser completa contendo da AC raiz até o próprio certificado utilizado na assinatura. Esta formatação é necessária porque a mensagem XML de Pix não traz o certificado usado na assinatura. Opcionalmente, pode ser passado apenas o certificado X.509 utilizado para assinar, no lugar da cadeia completa. A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias. Importante observar que no caso de um objeto PKCS#7 do HSM que contenha múltiplas cadeias, a presença de um certificado expirado em qualquer das cadeias irá gerar na verificação um código de retorno de assinatura válida com certificado expirado (código diferente de zero), mesmo que a assinatura tenha sido realizada com certificado de cadeia não expirada; fica a cargo da aplicação o tratamento correto conforme a política local.
CRLNome da Lista de Certificados Revogados (CRL) – armazenada internamente no HSM - onde o certificado digital será verificado. É possível passar NULL indicando que não há uma CRL para verificação.
FlagsReservado para uso futuro (deve ser 0).
SignedDictEnvelopeXML assinado digitalmente
Retorna
Verdadeiro se a checagem for efetuada com sucesso.
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ VerifyPIXDict() [2/2]

bool VerifyPIXDict ( string ChainId,
string CRL,
byte[] SignedDictEnvelope )
inline

Verifica a assinatura de um documento XML assinado digitalmente no formato XMLDSig seguindo o padrão DICT definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
ChainIdNome da cadeia PKCS#7 (armazenada internamente no HSM) do certificado utilizado na assinatura. A cadeia deverá ser completa contendo da AC raiz até o próprio certificado utilizado na assinatura. Esta formatação é necessária porque a mensagem XML de Pix não traz o certificado usado na assinatura. Opcionalmente, pode ser passado apenas o certificado X.509 utilizado para assinar, no lugar da cadeia completa. A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias. Importante observar que no caso de um objeto PKCS#7 do HSM que contenha múltiplas cadeias, a presença de um certificado expirado em qualquer das cadeias irá gerar na verificação um código de retorno de assinatura válida com certificado expirado (código diferente de zero), mesmo que a assinatura tenha sido realizada com certificado de cadeia não expirada; fica a cargo da aplicação o tratamento correto conforme a política local.
CRLNome da Lista de Certificados Revogados (CRL) – armazenada internamente no HSM - onde o certificado digital será verificado. É possível passar NULL indicando que não há uma CRL para verificação.
SignedDictEnvelopeXML assinado digitalmente
Retorna
Verdadeiro se a checagem for efetuada com sucesso.
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ SignPIXJWS() [1/2]

byte[] SignPIXJWS ( string KeyId,
byte[] byHeader,
byte[] byPayload )
inline

Faz uma assinatura JWS RFC 7515 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
KeyIdNome da chave privada utilizada para assinatura. Como definido no manual de segurança do PIX
byHeaderHeader JWS para assinatura. Pelo menos o parâmetro de cabeçalho alg deverá ser informado. Valores aceitos para alg.
Valor Significado
RS256 RSA 2048 PKCS#1v5
RS384 RSA 3072 PKCS#1v5
RS512 RSA 4096 PKCS#1v5
PS256 RSA 2048 PSS
PS384 RSA 3072 PSS
PS512 RSA 4096 PSS
ES256 ECC SECP256R1
ES384 ECC SECP384R1
ES512 ECC SECP521R1
byPayloadPayload JWS para assinatura.
Retorna
JWS assinado.
Exceções
DinamoExceptionLança exceção no caso de erros na assinatura

Utiliza o formato Compact Serialization descrito na Section-3.1 da RFC 7515.

Exemplos
sign_check_jws.cs.

◆ SignPIXJWS() [2/2]

string SignPIXJWS ( string KeyId,
string Header,
string Payload )
inline

Faz uma assinatura JWS RFC 7515 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
KeyIdNome da chave privada utilizada para assinatura. Como definido no manual de segurança do PIX
HeaderHeader JWS para assinatura. Pelo menos o parâmetro de cabeçalho alg deverá ser informado. Valores aceitos para alg.
Valor Significado
RS256 RSA 2048 PKCS#1v5
RS384 RSA 3072 PKCS#1v5
RS512 RSA 4096 PKCS#1v5
PS256 RSA 2048 PSS
PS384 RSA 3072 PSS
PS512 RSA 4096 PSS
ES256 ECC SECP256R1
ES384 ECC SECP384R1
ES512 ECC SECP521R1
PayloadPayload JWS para assinatura.
Retorna
JWS assinado.
Exceções
DinamoExceptionLança exceção no caso de erros na assinatura

Utiliza o formato Compact Serialization descrito na Section-3.1 da RFC 7515.

◆ CheckPIXJWS() [1/4]

JwsComponents CheckPIXJWS ( string Chain,
string CRL,
byte[] byJWS,
Int32 flags )
inline

Valida um JWS assinado RFC 7515 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
ChainNome da cadeia PKCS#7 (armazenada internamente no HSM) do certificado utilizado na assinatura. A cadeia deverá ser completa contendo da AC raiz até o próprio certificado utilizado na assinatura. Esta formatação é necessária porque a mensagem XML de Pix não traz o certificado usado na assinatura. Opcionalmente, pode ser passado apenas o certificado X.509 utilizado para assinar, no lugar da cadeia completa. A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias. Importante observar que no caso de um objeto PKCS#7 do HSM que contenha múltiplas cadeias, a presença de um certificado expirado em qualquer das cadeias irá gerar na verificação um código de retorno de assinatura válida com certificado expirado (código diferente de zero), mesmo que a assinatura tenha sido realizada com certificado de cadeia não expirada; fica a cargo da aplicação o tratamento correto conforme a política local.
CRLNome da Lista de Certificados Revogados (CRL) – armazenada internamente no HSM - onde o certificado digital será verificado. É possível passar NULL indicando que não há uma CRL para verificação.
byJWSJWS assinado.
flagsOpções de verificação. Deverá ser 0.
Retorna
Classe JwsComponents que conterá o código de retorno, o Header e o Payload da mensagem assinada.
Exceções
DinamoExceptionLança exceção no caso de erros na verificação
Exemplos
sign_check_jws.cs.

◆ CheckPIXJWS() [2/4]

JwsComponents CheckPIXJWS ( string Chain,
string CRL,
string JWS,
Int32 flags )
inline

Valida um JWS assinado RFC 7515 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
ChainNome da cadeia PKCS#7 (armazenada internamente no HSM) do certificado utilizado na assinatura. A cadeia deverá ser completa contendo da AC raiz até o próprio certificado utilizado na assinatura. Esta formatação é necessária porque a mensagem XML de Pix não traz o certificado usado na assinatura. Opcionalmente, pode ser passado apenas o certificado X.509 utilizado para assinar, no lugar da cadeia completa. A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias. Importante observar que no caso de um objeto PKCS#7 do HSM que contenha múltiplas cadeias, a presença de um certificado expirado em qualquer das cadeias irá gerar na verificação um código de retorno de assinatura válida com certificado expirado (código diferente de zero), mesmo que a assinatura tenha sido realizada com certificado de cadeia não expirada; fica a cargo da aplicação o tratamento correto conforme a política local.
CRLNome da Lista de Certificados Revogados (CRL) – armazenada internamente no HSM - onde o certificado digital será verificado. É possível passar NULL indicando que não há uma CRL para verificação.
JWSJWS assinado.
flagsOpções de verificação. Deverá ser 0.
Retorna
Classe JwsComponents que conterá o código de retorno, o Header e o Payload da mensagem assinada.
Exceções
DinamoExceptionLança exceção no caso de erros na verificação

◆ CheckPIXJWS() [3/4]

bool CheckPIXJWS ( string Chain,
string CRL,
byte[] byJWS )
inline

Valida um JWS assinado RFC 7515 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
ChainNome da cadeia PKCS#7 (armazenada internamente no HSM) do certificado utilizado na assinatura. A cadeia deverá ser completa contendo da AC raiz até o próprio certificado utilizado na assinatura. Esta formatação é necessária porque a mensagem XML de Pix não traz o certificado usado na assinatura. Opcionalmente, pode ser passado apenas o certificado X.509 utilizado para assinar, no lugar da cadeia completa. A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias. Importante observar que no caso de um objeto PKCS#7 do HSM que contenha múltiplas cadeias, a presença de um certificado expirado em qualquer das cadeias irá gerar na verificação um código de retorno de assinatura válida com certificado expirado (código diferente de zero), mesmo que a assinatura tenha sido realizada com certificado de cadeia não expirada; fica a cargo da aplicação o tratamento correto conforme a política local.
CRLNome da Lista de Certificados Revogados (CRL) – armazenada internamente no HSM - onde o certificado digital será verificado. É possível passar NULL indicando que não há uma CRL para verificação.
byJWSJWS assinado.
Retorna
Verdadeiro se a checagem for efetuada com sucesso.
Exceções
DinamoExceptionLança exceção no caso de erros na verificação

◆ CheckPIXJWS() [4/4]

bool CheckPIXJWS ( string Chain,
string CRL,
string JWS )
inline

Valida um JWS assinado RFC 7515 seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Parâmetros
ChainNome da cadeia PKCS#7 (armazenada internamente no HSM) do certificado utilizado na assinatura. A cadeia deverá ser completa contendo da AC raiz até o próprio certificado utilizado na assinatura. Esta formatação é necessária porque a mensagem XML de Pix não traz o certificado usado na assinatura. Opcionalmente, pode ser passado apenas o certificado X.509 utilizado para assinar, no lugar da cadeia completa. A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias. Importante observar que no caso de um objeto PKCS#7 do HSM que contenha múltiplas cadeias, a presença de um certificado expirado em qualquer das cadeias irá gerar na verificação um código de retorno de assinatura válida com certificado expirado (código diferente de zero), mesmo que a assinatura tenha sido realizada com certificado de cadeia não expirada; fica a cargo da aplicação o tratamento correto conforme a política local.
CRLNome da Lista de Certificados Revogados (CRL) – armazenada internamente no HSM - onde o certificado digital será verificado. É possível passar NULL indicando que não há uma CRL para verificação.
JWSJWS assinado.
Retorna
Verdadeiro se a checagem for efetuada com sucesso.
Exceções
DinamoExceptionLança exceção no caso de erros na verificação

◆ postPIX() [1/2]

PIXResponse postPIX ( string KeyId,
string CertId,
string PIXCertChainId,
string URL,
string[] RequestHeaderList,
byte[] RequestData,
Int32 TimeOut,
bool UseGzip,
bool VerifyHostName )
inline

Faz uma requisição segura HTTP POST seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos). Usa o header HTTP inicial básico.

Observação
Faça as configurações de timeout. Veja mais detalhes na seção Boas práticas.
Parâmetros
KeyIdNome da chave privada utilizada para fechamento do túnel. Correspondente a um certificado CPIC.
CertIdNome do certificado utilizado para fechamento do túnel. Certificado Digital do PSP cadastrado no SPI para conexão, também conhecido como CPIC ou CERTPIC.
PIXCertChainIdNome da cadeia PKCS#7 utilizada para verificar o servidor PIX (ICOM ou DICT). A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias.
URLURL do servidor PIX (ICOM ou DICT).
RequestHeaderListLinhas contendo os headers HTTP customizados que serão utilizados na requisição. Pode ser passado nulo caso queira utilizar o header padrão sem alterações.
Essa opção irá sobrescrever os headers padrão, caso haja sobreposição.
Para remover um header passe o nome do header sem valor (Ex. Accept:).
Para incluir um header sem conteúdo utilize ; ao invés de : (Ex. Accept;).
NÃO utilizar terminadores CRLF nos headers. A passagem desses terminadores poderá causar comportamentos indesejados. A formatação será feita internamente.
Esta opção não pode ser utilizada para alterar a primeira linha da requisição (Ex. POST, PUT, GET, DELETE), que não é um header. Deve-se utilizar a API correspondente, descrita neste manual.
O header inicial padrão inclui Host, User-Agent e Content-Length.
RequestDataDados enviados na requisição.
TimeOutTempo de timeout da operação em milisegundos. Pode ser passado 0 para não ter tempo de timeout.
UseGzipFaz a compressão gzip automática dos dados de requisição. Inclui automaticamente os headers necessários (Content-Encoding e Accept-Encoding).
VerifyHostNameVerifica certificado com o nome do host.
Retorna
A resposta da requisição.
Exceções
DinamoExceptionLança exceção no caso de erros na requisição

Executa uma requisição segura seguindo o padrão PIX definida no SPI nos documentos: "Anexo IV – Manual de Segurança", "Especificações técnicas e de negócio do ecossistema de pagamentos instantâneos brasileiro" e "Anexo III - Manual das Interfaces de comunicação" definidos no SPI.
O túnel negociado é o TLS versão 1.2 com autenticação mútua, utilizando o protocolo HTTP versão 1.1 com Cipher Suite mínima de ECDHE-RSA-AES-128-GCM-SHA256.

Esta API irá descompactar automaticamente uma resposta que venha compactada no padrão gzip. Caso opte pela compactação dos dados de envio, a compactação deverá ser feita pelo chamador da API, no formato gzip.

Esta requisição utiliza os seguintes headers como padrão.
"Accept-Encoding: gzip"
"User-Agent: DNLC/0.0.0.0", onde 0.0.0.0 é a versão da biblioteca cliente do HSM utilizada.

A validação de certificado com o nome do host é feita verificando se os campos Common Name field ou Subject Alternate Name do certificado coincidem com o host name da URL passada como parâmetro.

Ao fazer um request HTTP são feitas 2 operações, uma de uso dos objetos do HSM (chave privada, certificado e cadeia, usados para autenticação do túnel) e outra de abertura da sessão HTTP com o servidor HTTP.
Para otimizar os recursos a sessão com o servidor HTTP é mantida aberta e guardada em cache, igualmente, a sessão com o HSM é guardada em cache por padrão (a sessão do HSM pode ser, opcionalmente, definida para não ser guardada em cache).
A sessão HTTP fica associada à sessão aberta com o HSM, isto significa que para reutilizar uma sessão HTTP deve-se usar a mesma sessão do HSM utilizada anteriormente para abrir a sessão HTTP.
A sessão HTTP é fechada físicamente quando a sessão com o HSM é fechada físicamente.
A sessão do HSM e a HTTP tem afinidade thread-sessão, não podendo ser utilizada simultâneamente entre várias threads.

O ajuste do Long Polling é feito definindo o timeout da operação HTTP (POST/GET/DELETE) de acordo com as configurações do servidor HTTP.

Exemplos
basic_post_put_get_delete_pix.cs e post_put_get_delete_pix.cs.

◆ postPIX() [2/2]

PIXResponse postPIX ( string KeyId,
string CertId,
string PIXCertChainId,
string URL,
string[] RequestHeaderList,
byte[] RequestData,
Int32 TimeOut,
Int32 Param )
inline

Faz uma requisição segura HTTP POST seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Observação
Faça as configurações de timeout. Veja mais detalhes na seção Boas práticas.
Parâmetros
KeyIdNome da chave privada utilizada para fechamento do túnel. Correspondente a um certificado CPIC.
CertIdNome do certificado utilizado para fechamento do túnel. Certificado Digital do PSP cadastrado no SPI para conexão, também conhecido como CPIC ou CERTPIC.
PIXCertChainIdNome da cadeia PKCS#7 utilizada para verificar o servidor PIX (ICOM ou DICT). A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias.
URLURL do servidor PIX (ICOM ou DICT).
RequestHeaderListLinhas contendo os headers HTTP customizados que serão utilizados na requisição. Pode ser passado nulo caso queira utilizar o header padrão sem alterações.
Essa opção irá sobrescrever os headers padrão, caso haja sobreposição.
Para remover um header passe o nome do header sem valor (Ex. Accept:).
Para incluir um header sem conteúdo utilize ; ao invés de : (Ex. Accept;).
NÃO utilizar terminadores CRLF nos headers. A passagem desses terminadores poderá causar comportamentos indesejados. A formatação será feita internamente.
Esta opção não pode ser utilizada para alterar a primeira linha da requisição (Ex. POST, PUT, GET, DELETE), que não é um header. Deve-se utilizar a API correspondente, descrita neste manual.
O header inicial padrão inclui Host, User-Agent, Accept, Accept-Encoding, Content-Type, Expect e Content-Length.
RequestDataDados enviados na requisição.
TimeOutTempo de timeout da operação em milisegundos. Pode ser passado 0 para não ter tempo de timeout.
Param
Valor Significado
0 Opção padrão. Não verifica o certificado com o nome do host.
DinamoApi.PIX_VERIFY_HOST_NAME Verifica certificado com o nome do host.
DinamoApi.PIX_BASIC_HTTP_HEADER Usa o header HTTP inicial básico. Inclui Host, User-Agent e Content-Length.
DinamoApi.PIX_GZIP Faz a compressão gzip automática dos dados de requisição. Inclui automaticamente os headers necessários (Content-Encoding e Accept-Encoding).
Retorna
A resposta da requisição.
Exceções
DinamoExceptionLança exceção no caso de erros na requisição

Executa uma requisição segura seguindo o padrão PIX definida no SPI nos documentos: "Anexo IV – Manual de Segurança", "Especificações técnicas e de negócio do ecossistema de pagamentos instantâneos brasileiro" e "Anexo III - Manual das Interfaces de comunicação" definidos no SPI.
O túnel negociado é o TLS versão 1.2 com autenticação mútua, utilizando o protocolo HTTP versão 1.1 com Cipher Suite mínima de ECDHE-RSA-AES-128-GCM-SHA256.

Esta API irá descompactar automaticamente uma resposta que venha compactada no padrão gzip. Caso opte pela compactação dos dados de envio, a compactação deverá ser feita pelo chamador da API, no formato gzip.

Esta requisição utiliza os seguintes headers como padrão.
"Accept-Encoding: gzip"
"User-Agent: DNLC/0.0.0.0", onde 0.0.0.0 é a versão da biblioteca cliente do HSM utilizada.

A validação de certificado com o nome do host é feita verificando se os campos Common Name field ou Subject Alternate Name do certificado coincidem com o host name da URL passada como parâmetro.

Ao fazer um request HTTP são feitas 2 operações, uma de uso dos objetos do HSM (chave privada, certificado e cadeia, usados para autenticação do túnel) e outra de abertura da sessão HTTP com o servidor HTTP.
Para otimizar os recursos a sessão com o servidor HTTP é mantida aberta e guardada em cache, igualmente, a sessão com o HSM é guardada em cache por padrão (a sessão do HSM pode ser, opcionalmente, definida para não ser guardada em cache).
A sessão HTTP fica associada à sessão aberta com o HSM, isto significa que para reutilizar uma sessão HTTP deve-se usar a mesma sessão do HSM utilizada anteriormente para abrir a sessão HTTP.
A sessão HTTP é fechada físicamente quando a sessão com o HSM é fechada físicamente.
A sessão do HSM e a HTTP tem afinidade thread-sessão, não podendo ser utilizada simultâneamente entre várias threads.

O ajuste do Long Polling é feito definindo o timeout da operação HTTP (POST/GET/DELETE) de acordo com as configurações do servidor HTTP.

◆ putPIX() [1/2]

PIXResponse putPIX ( string KeyId,
string CertId,
string PIXCertChainId,
string URL,
string[] RequestHeaderList,
byte[] RequestData,
Int32 TimeOut,
bool UseGzip,
bool VerifyHostName )
inline

Faz uma requisição segura HTTP PUT seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos). Usa o header HTTP inicial básico.

Observação
Faça as configurações de timeout. Veja mais detalhes na seção Boas práticas.
Parâmetros
KeyIdNome da chave privada utilizada para fechamento do túnel. Correspondente a um certificado CPIC.
CertIdNome do certificado utilizado para fechamento do túnel. Certificado Digital do PSP cadastrado no SPI para conexão, também conhecido como CPIC ou CERTPIC.
PIXCertChainIdNome da cadeia PKCS#7 utilizada para verificar o servidor PIX (ICOM ou DICT). A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias.
URLURL do servidor PIX (ICOM ou DICT).
RequestHeaderListLinhas contendo os headers HTTP customizados que serão utilizados na requisição. Pode ser passado nulo caso queira utilizar o header padrão sem alterações.
Essa opção irá sobrescrever os headers padrão, caso haja sobreposição.
Para remover um header passe o nome do header sem valor (Ex. Accept:).
Para incluir um header sem conteúdo utilize ; ao invés de : (Ex. Accept;).
NÃO utilizar terminadores CRLF nos headers. A passagem desses terminadores poderá causar comportamentos indesejados. A formatação será feita internamente.
Esta opção não pode ser utilizada para alterar a primeira linha da requisição (Ex. POST, PUT, GET, DELETE), que não é um header. Deve-se utilizar a API correspondente, descrita neste manual.

O header inicial padrão inclui Host, User-Agent e Content-Length.
RequestDataDados enviados na requisição.
TimeOutTempo de timeout da operação em milisegundos. Pode ser passado 0 para não ter tempo de timeout.
UseGzipFaz a compressão gzip automática dos dados de requisição. Inclui automaticamente os headers necessários (Content-Encoding e Accept-Encoding).
VerifyHostNameVerifica certificado com o nome do host.
Retorna
A resposta da requisição.
Exceções
DinamoExceptionLança exceção no caso de erros na requisição

Executa uma requisição segura seguindo o padrão PIX definida no SPI nos documentos: "Anexo IV – Manual de Segurança", "Especificações técnicas e de negócio do ecossistema de pagamentos instantâneos brasileiro" e "Anexo III - Manual das Interfaces de comunicação" definidos no SPI.
O túnel negociado é o TLS versão 1.2 com autenticação mútua, utilizando o protocolo HTTP versão 1.1 com Cipher Suite mínima de ECDHE-RSA-AES-128-GCM-SHA256.

Esta API irá descompactar automaticamente uma resposta que venha compactada no padrão gzip. Caso opte pela compactação dos dados de envio, a compactação deverá ser feita pelo chamador da API, no formato gzip.

Esta requisição utiliza os seguintes headers como padrão.
"Accept-Encoding: gzip"
"User-Agent: DNLC/0.0.0.0", onde 0.0.0.0 é a versão da biblioteca cliente do HSM utilizada.

A validação de certificado com o nome do host é feita verificando se os campos Common Name field ou Subject Alternate Name do certificado coincidem com o host name da URL passada como parâmetro.

Ao fazer um request HTTP são feitas 2 operações, uma de uso dos objetos do HSM (chave privada, certificado e cadeia, usados para autenticação do túnel) e outra de abertura da sessão HTTP com o servidor HTTP.
Para otimizar os recursos a sessão com o servidor HTTP é mantida aberta e guardada em cache, igualmente, a sessão com o HSM é guardada em cache por padrão (a sessão do HSM pode ser, opcionalmente, definida para não ser guardada em cache).
A sessão HTTP fica associada à sessão aberta com o HSM, isto significa que para reutilizar uma sessão HTTP deve-se usar a mesma sessão do HSM utilizada anteriormente para abrir a sessão HTTP.
A sessão HTTP é fechada físicamente quando a sessão com o HSM é fechada físicamente.
A sessão do HSM e a HTTP tem afinidade thread-sessão, não podendo ser utilizada simultâneamente entre várias threads.

O ajuste do Long Polling é feito definindo o timeout da operação HTTP (POST/GET/DELETE) de acordo com as configurações do servidor HTTP.

Exemplos
basic_post_put_get_delete_pix.cs e post_put_get_delete_pix.cs.

◆ putPIX() [2/2]

PIXResponse putPIX ( string KeyId,
string CertId,
string PIXCertChainId,
string URL,
string[] RequestHeaderList,
byte[] RequestData,
Int32 TimeOut,
Int32 Param )
inline

Faz uma requisição segura HTTP PUT seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Observação
Faça as configurações de timeout. Veja mais detalhes na seção Boas práticas.
Parâmetros
KeyIdNome da chave privada utilizada para fechamento do túnel. Correspondente a um certificado CPIC.
CertIdNome do certificado utilizado para fechamento do túnel. Certificado Digital do PSP cadastrado no SPI para conexão, também conhecido como CPIC ou CERTPIC.
PIXCertChainIdNome da cadeia PKCS#7 utilizada para verificar o servidor PIX (ICOM ou DICT). A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias.
URLURL do servidor PIX (ICOM ou DICT).
RequestHeaderListLinhas contendo os headers HTTP customizados que serão utilizados na requisição. Pode ser passado nulo caso queira utilizar o header padrão sem alterações.
Essa opção irá sobrescrever os headers padrão, caso haja sobreposição.
Para remover um header passe o nome do header sem valor (Ex. Accept:).
Para incluir um header sem conteúdo utilize ; ao invés de : (Ex. Accept;).
NÃO utilizar terminadores CRLF nos headers. A passagem desses terminadores poderá causar comportamentos indesejados. A formatação será feita internamente.
Esta opção não pode ser utilizada para alterar a primeira linha da requisição (Ex. POST, PUT, GET, DELETE), que não é um header. Deve-se utilizar a API correspondente, descrita neste manual.

O header inicial padrão inclui Host, User-Agent, Accept, Accept-Encoding, Expect e Content-Length.
RequestDataDados enviados na requisição.
TimeOutTempo de timeout da operação em milisegundos. Pode ser passado 0 para não ter tempo de timeout.
Param
Valor Significado
0 Opção padrão. Não verifica o certificado com o nome do host.
DinamoApi.PIX_VERIFY_HOST_NAME Verifica certificado com o nome do host.
DinamoApi.PIX_BASIC_HTTP_HEADER Usa o header HTTP inicial básico. Inclui Host, User-Agent e Content-Length.
DinamoApi.PIX_GZIP Faz a compressão gzip automática dos dados de requisição. Inclui automaticamente os headers necessários (Content-Encoding e Accept-Encoding).
Retorna
A resposta da requisição.
Exceções
DinamoExceptionLança exceção no caso de erros na requisição

Executa uma requisição segura seguindo o padrão PIX definida no SPI nos documentos: "Anexo IV – Manual de Segurança", "Especificações técnicas e de negócio do ecossistema de pagamentos instantâneos brasileiro" e "Anexo III - Manual das Interfaces de comunicação" definidos no SPI.
O túnel negociado é o TLS versão 1.2 com autenticação mútua, utilizando o protocolo HTTP versão 1.1 com Cipher Suite mínima de ECDHE-RSA-AES-128-GCM-SHA256.

Esta API irá descompactar automaticamente uma resposta que venha compactada no padrão gzip. Caso opte pela compactação dos dados de envio, a compactação deverá ser feita pelo chamador da API, no formato gzip.

Esta requisição utiliza os seguintes headers como padrão.
"Accept-Encoding: gzip"
"User-Agent: DNLC/0.0.0.0", onde 0.0.0.0 é a versão da biblioteca cliente do HSM utilizada.

A validação de certificado com o nome do host é feita verificando se os campos Common Name field ou Subject Alternate Name do certificado coincidem com o host name da URL passada como parâmetro.

Ao fazer um request HTTP são feitas 2 operações, uma de uso dos objetos do HSM (chave privada, certificado e cadeia, usados para autenticação do túnel) e outra de abertura da sessão HTTP com o servidor HTTP.
Para otimizar os recursos a sessão com o servidor HTTP é mantida aberta e guardada em cache, igualmente, a sessão com o HSM é guardada em cache por padrão (a sessão do HSM pode ser, opcionalmente, definida para não ser guardada em cache).
A sessão HTTP fica associada à sessão aberta com o HSM, isto significa que para reutilizar uma sessão HTTP deve-se usar a mesma sessão do HSM utilizada anteriormente para abrir a sessão HTTP.
A sessão HTTP é fechada físicamente quando a sessão com o HSM é fechada físicamente.
A sessão do HSM e a HTTP tem afinidade thread-sessão, não podendo ser utilizada simultâneamente entre várias threads.

O ajuste do Long Polling é feito definindo o timeout da operação HTTP (POST/GET/DELETE) de acordo com as configurações do servidor HTTP.

◆ getPIX() [1/2]

PIXResponse getPIX ( string KeyId,
string CertId,
string PIXCertChainId,
string URL,
string[] RequestHeaderList,
Int32 TimeOut,
bool UseGzip,
bool VerifyHostName )
inline

Faz uma requisição segura HTTP GET seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos). Usa o header HTTP inicial básico.

Observação
Faça as configurações de timeout. Veja mais detalhes na seção Boas práticas.
Parâmetros
KeyIdNome da chave privada utilizada para fechamento do túnel. Correspondente a um certificado CPIC.
CertIdNome do certificado utilizado para fechamento do túnel. Certificado Digital do PSP cadastrado no SPI para conexão, também conhecido como CPIC ou CERTPIC.
PIXCertChainIdNome da cadeia PKCS#7 utilizada para verificar o servidor PIX (ICOM ou DICT). A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias.
URLURL do servidor PIX (ICOM ou DICT).
RequestHeaderListLinhas contendo os headers HTTP customizados que serão utilizados na requisição. Pode ser passado nulo caso queira utilizar o header padrão sem alterações.
Essa opção irá sobrescrever os headers padrão, caso haja sobreposição.
Para remover um header passe o nome do header sem valor (Ex. Accept:).
Para incluir um header sem conteúdo utilize ; ao invés de : (Ex. Accept;).
NÃO utilizar terminadores CRLF nos headers. A passagem desses terminadores poderá causar comportamentos indesejados. A formatação será feita internamente.
Esta opção não pode ser utilizada para alterar a primeira linha da requisição (Ex. POST, PUT, GET, DELETE), que não é um header. Deve-se utilizar a API correspondente, descrita neste manual.

O header inicial padrão inclui Host e User-Agent.
TimeOutTempo de timeout da operação em milisegundos. Pode ser passado 0 para não ter tempo de timeout.
UseGzipInclui o header Accept-Encoding: gzip caso basic header esteja habilitado.
VerifyHostNameVerifica certificado com o nome do host.
Retorna
A resposta da requisição.
Exceções
DinamoExceptionLança exceção no caso de erros na requisição

Executa uma requisição segura seguindo o padrão PIX definida no SPI nos documentos: "Anexo IV – Manual de Segurança", "Especificações técnicas e de negócio do ecossistema de pagamentos instantâneos brasileiro" e "Anexo III - Manual das Interfaces de comunicação" definidos no SPI.
O túnel negociado é o TLS versão 1.2 com autenticação mútua, utilizando o protocolo HTTP versão 1.1 com Cipher Suite mínima de ECDHE-RSA-AES-128-GCM-SHA256.

Esta API irá descompactar automaticamente uma resposta que venha compactada no padrão gzip. Caso opte pela compactação dos dados de envio, a compactação deverá ser feita pelo chamador da API, no formato gzip.

Esta requisição utiliza os seguintes headers como padrão.
"Accept-Encoding: gzip"
"User-Agent: DNLC/0.0.0.0", onde 0.0.0.0 é a versão da biblioteca cliente do HSM utilizada.

A validação de certificado com o nome do host é feita verificando se os campos Common Name field ou Subject Alternate Name do certificado coincidem com o host name da URL passada como parâmetro.

Ao fazer um request HTTP são feitas 2 operações, uma de uso dos objetos do HSM (chave privada, certificado e cadeia, usados para autenticação do túnel) e outra de abertura da sessão HTTP com o servidor HTTP.
Para otimizar os recursos a sessão com o servidor HTTP é mantida aberta e guardada em cache, igualmente, a sessão com o HSM é guardada em cache por padrão (a sessão do HSM pode ser, opcionalmente, definida para não ser guardada em cache).
A sessão HTTP fica associada à sessão aberta com o HSM, isto significa que para reutilizar uma sessão HTTP deve-se usar a mesma sessão do HSM utilizada anteriormente para abrir a sessão HTTP.
A sessão HTTP é fechada físicamente quando a sessão com o HSM é fechada físicamente.
A sessão do HSM e a HTTP tem afinidade thread-sessão, não podendo ser utilizada simultâneamente entre várias threads.

O ajuste do Long Polling é feito definindo o timeout da operação HTTP (POST/GET/DELETE) de acordo com as configurações do servidor HTTP.

Exemplos
basic_post_put_get_delete_pix.cs e post_put_get_delete_pix.cs.

◆ getPIX() [2/2]

PIXResponse getPIX ( string KeyId,
string CertId,
string PIXCertChainId,
string URL,
string[] RequestHeaderList,
Int32 TimeOut,
Int32 Param )
inline

Faz uma requisição segura HTTP GET seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Observação
Faça as configurações de timeout. Veja mais detalhes na seção Boas práticas.
Parâmetros
KeyIdNome da chave privada utilizada para fechamento do túnel. Correspondente a um certificado CPIC.
CertIdNome do certificado utilizado para fechamento do túnel. Certificado Digital do PSP cadastrado no SPI para conexão, também conhecido como CPIC ou CERTPIC.
PIXCertChainIdNome da cadeia PKCS#7 utilizada para verificar o servidor PIX (ICOM ou DICT). A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias.
URLURL do servidor PIX (ICOM ou DICT).
RequestHeaderListLinhas contendo os headers HTTP customizados que serão utilizados na requisição. Pode ser passado nulo caso queira utilizar o header padrão sem alterações.
Essa opção irá sobrescrever os headers padrão, caso haja sobreposição.
Para remover um header passe o nome do header sem valor (Ex. Accept:).
Para incluir um header sem conteúdo utilize ; ao invés de : (Ex. Accept;).
NÃO utilizar terminadores CRLF nos headers. A passagem desses terminadores poderá causar comportamentos indesejados. A formatação será feita internamente.
Esta opção não pode ser utilizada para alterar a primeira linha da requisição (Ex. POST, PUT, GET, DELETE), que não é um header. Deve-se utilizar a API correspondente, descrita neste manual.

O header inicial padrão inclui Host, User-Agent, Accept, Accept-Encoding.
TimeOutTempo de timeout da operação em milisegundos. Pode ser passado 0 para não ter tempo de timeout.
Param
Valor Significado
0 Opção padrão.Não verifica o certificado com o nome do host.
DinamoApi.PIX_VERIFY_HOST_NAME Verifica certificado com o nome do host.
DinamoApi.PIX_BASIC_HTTP_HEADER Usa o header HTTP inicial básico. Inclui Host e User-Agent.
DinamoApi.PIX_GZIP Inclui o header Accept-Encoding: gzip caso basic header esteja habilitado.
Retorna
A resposta da requisição.
Exceções
DinamoExceptionLança exceção no caso de erros na requisição

Executa uma requisição segura seguindo o padrão PIX definida no SPI nos documentos: "Anexo IV – Manual de Segurança", "Especificações técnicas e de negócio do ecossistema de pagamentos instantâneos brasileiro" e "Anexo III - Manual das Interfaces de comunicação" definidos no SPI.
O túnel negociado é o TLS versão 1.2 com autenticação mútua, utilizando o protocolo HTTP versão 1.1 com Cipher Suite mínima de ECDHE-RSA-AES-128-GCM-SHA256.

Esta API irá descompactar automaticamente uma resposta que venha compactada no padrão gzip. Caso opte pela compactação dos dados de envio, a compactação deverá ser feita pelo chamador da API, no formato gzip.

Esta requisição utiliza os seguintes headers como padrão.
"Accept-Encoding: gzip"
"User-Agent: DNLC/0.0.0.0", onde 0.0.0.0 é a versão da biblioteca cliente do HSM utilizada.

A validação de certificado com o nome do host é feita verificando se os campos Common Name field ou Subject Alternate Name do certificado coincidem com o host name da URL passada como parâmetro.

Ao fazer um request HTTP são feitas 2 operações, uma de uso dos objetos do HSM (chave privada, certificado e cadeia, usados para autenticação do túnel) e outra de abertura da sessão HTTP com o servidor HTTP.
Para otimizar os recursos a sessão com o servidor HTTP é mantida aberta e guardada em cache, igualmente, a sessão com o HSM é guardada em cache por padrão (a sessão do HSM pode ser, opcionalmente, definida para não ser guardada em cache).
A sessão HTTP fica associada à sessão aberta com o HSM, isto significa que para reutilizar uma sessão HTTP deve-se usar a mesma sessão do HSM utilizada anteriormente para abrir a sessão HTTP.
A sessão HTTP é fechada físicamente quando a sessão com o HSM é fechada físicamente.
A sessão do HSM e a HTTP tem afinidade thread-sessão, não podendo ser utilizada simultâneamente entre várias threads.

O ajuste do Long Polling é feito definindo o timeout da operação HTTP (POST/GET/DELETE) de acordo com as configurações do servidor HTTP.

◆ deletePIX() [1/2]

PIXResponse deletePIX ( string KeyId,
string CertId,
string PIXCertChainId,
string URL,
string[] RequestHeaderList,
Int32 TimeOut,
bool UseGzip,
bool VerifyHostName )
inline

Faz uma requisição segura HTTP DELETE seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos). Usa o header HTTP inicial básico.

Observação
Faça as configurações de timeout. Veja mais detalhes na seção Boas práticas.
Parâmetros
KeyIdNome da chave privada utilizada para fechamento do túnel. Correspondente a um certificado CPIC.
CertIdNome do certificado utilizado para fechamento do túnel. Certificado Digital do PSP cadastrado no SPI para conexão, também conhecido como CPIC ou CERTPIC.
PIXCertChainIdNome da cadeia PKCS#7 utilizada para verificar o servidor PIX (ICOM ou DICT). A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias.
URLURL do servidor PIX (ICOM ou DICT).
RequestHeaderListLinhas contendo os headers HTTP customizados que serão utilizados na requisição. Pode ser passado nulo caso queira utilizar o header padrão sem alterações.
Essa opção irá sobrescrever os headers padrão, caso haja sobreposição.
Para remover um header passe o nome do header sem valor (Ex. Accept:).
Para incluir um header sem conteúdo utilize ; ao invés de : (Ex. Accept;).
NÃO utilizar terminadores CRLF nos headers. A passagem desses terminadores poderá causar comportamentos indesejados. A formatação será feita internamente.
Esta opção não pode ser utilizada para alterar a primeira linha da requisição (Ex. POST, PUT, GET, DELETE), que não é um header. Deve-se utilizar a API correspondente, descrita neste manual.

O header inicial padrão inclui Host e User-Agent.
TimeOutTempo de timeout da operação em milisegundos. Pode ser passado 0 para não ter tempo de timeout.
UseGzipInclui o header Accept-Encoding: gzip caso basic header esteja habilitado.
VerifyHostNameVerifica certificado com o nome do host.
Retorna
A resposta da requisição.
Exceções
DinamoExceptionLança exceção no caso de erros na requisição

Executa uma requisição segura seguindo o padrão PIX definida no SPI nos documentos: "Anexo IV – Manual de Segurança", "Especificações técnicas e de negócio do ecossistema de pagamentos instantâneos brasileiro" e "Anexo III - Manual das Interfaces de comunicação" definidos no SPI.
O túnel negociado é o TLS versão 1.2 com autenticação mútua, utilizando o protocolo HTTP versão 1.1 com Cipher Suite mínima de ECDHE-RSA-AES-128-GCM-SHA256.

Esta API irá descompactar automaticamente uma resposta que venha compactada no padrão gzip. Caso opte pela compactação dos dados de envio, a compactação deverá ser feita pelo chamador da API, no formato gzip.

Esta requisição utiliza os seguintes headers como padrão.
"Accept-Encoding: gzip"
"User-Agent: DNLC/0.0.0.0", onde 0.0.0.0 é a versão da biblioteca cliente do HSM utilizada.

A validação de certificado com o nome do host é feita verificando se os campos Common Name field ou Subject Alternate Name do certificado coincidem com o host name da URL passada como parâmetro.

Ao fazer um request HTTP são feitas 2 operações, uma de uso dos objetos do HSM (chave privada, certificado e cadeia, usados para autenticação do túnel) e outra de abertura da sessão HTTP com o servidor HTTP.
Para otimizar os recursos a sessão com o servidor HTTP é mantida aberta e guardada em cache, igualmente, a sessão com o HSM é guardada em cache por padrão (a sessão do HSM pode ser, opcionalmente, definida para não ser guardada em cache).
A sessão HTTP fica associada à sessão aberta com o HSM, isto significa que para reutilizar uma sessão HTTP deve-se usar a mesma sessão do HSM utilizada anteriormente para abrir a sessão HTTP.
A sessão HTTP é fechada físicamente quando a sessão com o HSM é fechada físicamente.
A sessão do HSM e a HTTP tem afinidade thread-sessão, não podendo ser utilizada simultâneamente entre várias threads.

O ajuste do Long Polling é feito definindo o timeout da operação HTTP (POST/GET/DELETE) de acordo com as configurações do servidor HTTP.

Exemplos
basic_post_put_get_delete_pix.cs e post_put_get_delete_pix.cs.

◆ deletePIX() [2/2]

PIXResponse deletePIX ( string KeyId,
string CertId,
string PIXCertChainId,
string URL,
string[] RequestHeaderList,
Int32 TimeOut,
Int32 Param )
inline

Faz uma requisição segura HTTP DELETE seguindo o padrão PIX definido no SPI (Sistema de Pagamentos Instantâneos).

Observação
Faça as configurações de timeout. Veja mais detalhes na seção Boas práticas.
Parâmetros
KeyIdNome da chave privada utilizada para fechamento do túnel. Correspondente a um certificado CPIC.
CertIdNome do certificado utilizado para fechamento do túnel. Certificado Digital do PSP cadastrado no SPI para conexão, também conhecido como CPIC ou CERTPIC.
PIXCertChainIdNome da cadeia PKCS#7 utilizada para verificar o servidor PIX (ICOM ou DICT). A partir da versão 5.0.23 do firmware do HSM é possível utilizar um objeto PKCS#7 que contenha várias cadeias.
URLURL do servidor PIX (ICOM ou DICT).
RequestHeaderListLinhas contendo os headers HTTP customizados que serão utilizados na requisição. Pode ser passado nulo caso queira utilizar o header padrão sem alterações.
Essa opção irá sobrescrever os headers padrão, caso haja sobreposição.
Para remover um header passe o nome do header sem valor (Ex. Accept:).
Para incluir um header sem conteúdo utilize ; ao invés de : (Ex. Accept;).
NÃO utilizar terminadores CRLF nos headers. A passagem desses terminadores poderá causar comportamentos indesejados. A formatação será feita internamente.
Esta opção não pode ser utilizada para alterar a primeira linha da requisição (Ex. POST, PUT, GET, DELETE), que não é um header. Deve-se utilizar a API correspondente, descrita neste manual.

O header inicial padrão inclui Host, User-Agent, Accept, Accept-Encoding.
TimeOutTempo de timeout da operação em milisegundos. Pode ser passado 0 para não ter tempo de timeout.
Param
Valor Significado
0 Opção padrão.Não verifica o certificado com o nome do host.
DinamoApi.PIX_VERIFY_HOST_NAME Verifica certificado com o nome do host.
DinamoApi.PIX_BASIC_HTTP_HEADER Usa o header HTTP inicial básico. Inclui Host e User-Agent.
DinamoApi.PIX_GZIP Inclui o header Accept-Encoding: gzip caso basic header esteja habilitado.
Retorna
A resposta da requisição.
Exceções
DinamoExceptionLança exceção no caso de erros na requisição

Executa uma requisição segura seguindo o padrão PIX definida no SPI nos documentos: "Anexo IV – Manual de Segurança", "Especificações técnicas e de negócio do ecossistema de pagamentos instantâneos brasileiro" e "Anexo III - Manual das Interfaces de comunicação" definidos no SPI.
O túnel negociado é o TLS versão 1.2 com autenticação mútua, utilizando o protocolo HTTP versão 1.1 com Cipher Suite mínima de ECDHE-RSA-AES-128-GCM-SHA256.

Esta API irá descompactar automaticamente uma resposta que venha compactada no padrão gzip. Caso opte pela compactação dos dados de envio, a compactação deverá ser feita pelo chamador da API, no formato gzip.

Esta requisição utiliza os seguintes headers como padrão.
"Accept-Encoding: gzip"
"User-Agent: DNLC/0.0.0.0", onde 0.0.0.0 é a versão da biblioteca cliente do HSM utilizada.

A validação de certificado com o nome do host é feita verificando se os campos Common Name field ou Subject Alternate Name do certificado coincidem com o host name da URL passada como parâmetro.

Ao fazer um request HTTP são feitas 2 operações, uma de uso dos objetos do HSM (chave privada, certificado e cadeia, usados para autenticação do túnel) e outra de abertura da sessão HTTP com o servidor HTTP.
Para otimizar os recursos a sessão com o servidor HTTP é mantida aberta e guardada em cache, igualmente, a sessão com o HSM é guardada em cache por padrão (a sessão do HSM pode ser, opcionalmente, definida para não ser guardada em cache).
A sessão HTTP fica associada à sessão aberta com o HSM, isto significa que para reutilizar uma sessão HTTP deve-se usar a mesma sessão do HSM utilizada anteriormente para abrir a sessão HTTP.
A sessão HTTP é fechada físicamente quando a sessão com o HSM é fechada físicamente.
A sessão do HSM e a HTTP tem afinidade thread-sessão, não podendo ser utilizada simultâneamente entre várias threads.

O ajuste do Long Polling é feito definindo o timeout da operação HTTP (POST/GET/DELETE) de acordo com as configurações do servidor HTTP.

◆ getPIXHTTPReqDetails()

DinamoApi.PIXHTTPReqDetails getPIXHTTPReqDetails ( )
inline

Recupera os detalhes da última requisição PIX HTTP (POST, GET...) feita nesta sessão. Esta operação deve ser chamada logo após a chamada da API de requisição PIX. Deve ser chamada utilizando a mesma sessão. Não fazer outras operações entre estas chamadas.

Retorna
Detalhes da última requisição PIX HTTP desta sessão.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
post_put_get_delete_pix.cs.

◆ getPIXHTTPReqCode()

Int64 getPIXHTTPReqCode ( )
inline

Recupera o código de retorno da última requisição PIX HTTP (POST, GET...) feita nesta sessão. Esta operação deve ser chamada logo após a chamada da API de requisição PIX. Deve ser chamada utilizando a mesma sessão. Não fazer outras operações entre estas chamadas.

Retorna
Código de retorno HTTP.
Exceções
DinamoExceptionLança exceção em caso de erro.