Вы находитесь на странице: 1из 6

PAGADOR MANUAL DE CRIPTOGRAFIA

VERSO 2.1 22/02/2012

MANUAL DE CRIPTOGRAFIA
PAGADOR

Telefones: (21) 2111-4700 ou (11) 3320-9050


http://suporte.braspag.com.br

PAGADOR MANUAL DE CRIPTOGRAFIA


VERSO 2.1 22/02/2012
NDICE
DLL de Criptografia.......................................................................................................... 3
Componente Java ............................................................................................................ 4
Webservice de Criptografia ............................................................................................... 5
Mtodo EncryptRequest ................................................................................................ 5
Tabela 1 Parmetros recebidos pelo mtodo EncryptRequest ..................................... 5
Mtodo DecryptRequest ................................................................................................ 5
Tabela 3 Parmetros recebidos pelo mtodo DecryptRequest .................................... 5
Erros comuns .............................................................................................................. 6
Tabela 5 Erros comuns encontrados no Webservice de Criptografia ............................... 6

Telefones: (21) 2111-4700 ou (11) 3320-9050


http://suporte.braspag.com.br

PAGADOR MANUAL DE CRIPTOGRAFIA


VERSO 2.1 22/02/2012

USO DA CRIPTOGRAFIA NA INTEGRAO VIA POST


O uso da criptografia nos Posts trocados entre o lojista e a Braspag fundamental para garantir
a segurana das transaes.
Por esta razo, a utilizao de criptografia OBRIGATRIA quando se utiliza o Post em
qualquer etapa da transao.
Voc tem trs formas de implementar a criptografia.

DLL de Criptografia
Esta DLL criada pela Braspag especialmente para cada loja. Ela dever ser registrada
(instalada) no servidor do site da loja e ir realizar todas as operaes de criptografia
necessrias. Este componente no pode ser utilizado em ambientes no-Windows (tais como
Linux, Unix, etc).
Para instalar a biblioteca, voc dever salvar o arquivo localmente, clicar em Iniciar, Executar e
digitar:
regsvr32 C:\[DIRETORIO_DA_BIBLIOTECA]\BraspagCOM.dll
Mtodo

Funo

bool setField(const char* field, const char* value)

Adiciona um par campo - valor string criptografada.

char* getEncrypted()

Criptografa todos os campos j adicionados pelo


setField e retorna a string criptografada.

bool setEncrypted(const char* cipher)

Recebe como parmetro a string criptografada a


descriptografa, deixando os campos e valores contidos
nela prontos para serem extrados pelo getField.

char* getField(const char* field)


void clearFields()

Retorna o valor do campo passado como parmetro,


dado que esteja contido na string criptografada e j foi
decriptografado pelo setEncrypted.
Limpa os campos.

Exemplo de uso:
Criptografar

Decriptografar

Set crypt = Server.CreateObject("Braspag.Encryption")


crypt.setField("valor", "100");
crypt.setField("vendaid", "10001");
string_criptografada = crypt.getEncrypted()

Set crypt = Server.CreateObject("Braspag.Encryption")


crypt.setEncrypted(string_criptografada);
valor = getField("valor");
vendaid = getField("vendaid");

Post
<input type="hidden" name="Id_Loja" value="00000000-0000-0000-0000-000000000000">
<input type="hidden" name="crypt" value="<% Response.write string_criptografada %>">

Telefones: (21) 2111-4700 ou (11) 3320-9050


http://suporte.braspag.com.br

PAGADOR MANUAL DE CRIPTOGRAFIA


VERSO 2.1 22/02/2012
Componente Java
um componente de criptografia feito em Java. Tem como vantagem a possibilidade de ser
utilizado em qualquer ambiente (Linux, Mac, Windows, Unix), mas tem uma maior
complexidade de instalao e utilizao.
No envio dos dados deve-se criar o objeto de criptografia e ento chamar o mtodo
setField(campo, valor) para todos os campos do form EXCETO o Id_Loja.
Logo, necessrio chamar o mtodo getEncrypted(chave) passando a chave de criptografia,
informada pela Braspag. Este mtodo retorna uma string que contm os campos j
criptografados.
No form devem ser passados apenas dois campos: Id_Loja, que deve ser em texto limpo (sem
criptografia) e o campo crypt, que deve ter o contedo retornado pelo mtodo
getEncrypted(chave).
braspag.Encryption bCrypt = new braspag.Encryption();
bCrypt.setField("VENDAID", "1234");
bCrypt.setField("valor", "1500");
bCrypt.setField("NOME", "JOAO DA SILVA");
encryptedStr = bCrypt.getEncrypted("CHAVE");
<input type="hidden" name="Id_Loja" value="00000000-0000-0000-0000-000000000000">
<input type="hidden" name="crypt" value="dpBNUIyrxdH/JBu6... ...dfiubnOuyv76fOIf87">

No recebimento dos dados, ser enviado para a pgina apenas o campo crypt no form. Este
campo deve ser lido e passado como o primeiro parmetro para o mtodo setEncrypted. O
segundo parmetro do mtodo setEncrypted dever ser a sua chave de criptografia.
Logo aps voc poder chamar o mtodo getField() passando o campo que voc deseja ler.
braspag.Encryption bCrypt = new braspag.Encryption();
bCrypt.setEncrypted(encryptedStr, "CHAVE");
vendaid = bCrypt.getField("VENDAID");
valor = bCrypt.getField("valor");
nome = bCrypt.getField("NOME");

Telefones: (21) 2111-4700 ou (11) 3320-9050


http://suporte.braspag.com.br

PAGADOR MANUAL DE CRIPTOGRAFIA


VERSO 2.1 22/02/2012
Webservice de Criptografia
Este Webservice pode ser utilizado por aqueles que no podem ou no desejam instalar
componentes em seu servidor. Neste servio, voc envia os dados a serem criptografados no
mtodo EncryptRequest e a tripa de retorno aberta com o mtodo DecryptRequest.
Para realizar autorizaes no ambiente de produo, ser necessrio informar os
endereos IP dos servidores que acessaro o Webservice
IMPORTANTE: O Webservice de Criptografia um Webservice complexo. Nestes casos, devese usar linguagens de programao orientadas a objetos. preciso criar uma classe com as
propriedades (parmetros), instanciar um objeto desta classe e envi-lo para o Webservice.

Mtodo EncryptRequest
Tabela 1 Parmetros recebidos pelo mtodo EncryptRequest
Parmetro

Id_Loja utilizado no PAGADOR

merchantId
request

Tamanho
Min Max

Descrio

38

Formato: {00000000-0000-0000-0000-000000000000}

38

Array de String. Cada item do array deve ser uma string no


formado campo=valor, ou seja, nome do campo e seu valor
separados por =. Exemplos: valor=100;nome=Testador B.

Tabela 2 Parmetros retornados pelo mtodo EncryptRequest


Nome do campo

Descrio

Tipo

cryptString

String contendo os dados criptografados.

string

Mtodo DecryptRequest
Este mtodo recebe os seguintes parmetros:
Tabela 3 Parmetros recebidos pelo mtodo DecryptRequest
Parmetro
merchantId
cryptString

fieldsToGet

Tamanho
Min
Max

Descrio
Id_Loja utilizado no PAGADOR
Formato: {00000000-0000-0000-0000-000000000000}
String com os dados criptografados retornada pela Braspag
Array de String. Cada item do array deve ser uma string
contendo o nome do campo que se deseja extrair da string
criptografada. Exemplos: CODRETORNO,cod_autorizao.

38

38

IMPORTANTE: caso seja necessrio apenas decodificar a


resposta, pode-se enviar array vazio (com zero posies), desta
forma sero automaticamente decodificados e retornados todos
os campos da resposta, e sero devolvidos todos os campos que
possuam valor (que no sejam nulos ou vazios).

Tabela 4 Parmetros retornados pelo mtodo DecryptRequest


Nome do campo
Descrio
Array de String, cada item do array uma string no
response
formado campo=valor.

Telefones: (21) 2111-4700 ou (11) 3320-9050


http://suporte.braspag.com.br

Tipo
Array de String

PAGADOR MANUAL DE CRIPTOGRAFIA


VERSO 2.1 22/02/2012
Erros comuns
Tabela 5 Erros comuns encontrados no Webservice de Criptografia
Erro
Motivo
Indica algum problema ao chamar o
Server was unable to process request. - Object Webservice complexo da Braspag. Deve-se
reference not set to an instance of an object
checar a programao e confirmar se as
classes e objetos esto corretos.
Indicam que o IP de onde voc est fazendo
BP067 ou BP068
a requisio no est cadastrado na Braspag.
BP011 ou BP012

Telefones: (21) 2111-4700 ou (11) 3320-9050


http://suporte.braspag.com.br

Indicam algum erro nos parmetros enviados


Braspag.