e-SiTef

e-SiTef

  • Portal do Desenvolvedor
  • Fale Conosco
  • English

›Informações Gerais

Pagamento REST

  • Visão Geral
  • Quick start
  • Serviço de criação da transação
  • Serviço de efetivação de pagamento
  • Serviço de confirmação de pagamento
  • Serviço de consulta de transação
  • Serviço de consulta de múltiplas transações
  • Serviço de consulta de cartão
  • Serviço de efetivação de pagamento com múltiplos meios de pagamento
  • Serviço de confirmação de pagamento com múltiplos meios de pagamento
  • Serviço de confirmação de pagamento de origem externa

Armazenamento REST

  • Visão Geral

Cancelamento REST

  • Fluxo
  • Quick start
  • Cancelamento via host
  • Cancelamento origem externa
  • Serviço de criação de cancelamento
  • Serviço de cancelamento

Pré-autorização REST

  • Visão Geral
  • Quick start
  • Serviço de Criação de Pré-Autorização
  • Serviço de Efetivação de Pré-Autorização
  • Serviço de Consulta de Pré-Autorização
  • Serviço de Consulta de Cartões
  • Serviço de Edição de Pré-Autorização
  • Serviço de Edição de Pré-Autorização de Origem Externa
  • Serviço de Incremento de Pré-Autorização
  • Serviço de Captura de Pré-Autorização
  • Serviço Captura de Pré autorização com origem externa

Agendamento de Recorrência REST

  • Visão Geral
  • Quick start
  • Serviço de criação da transação
  • Serviço de ativação de agendamento
  • Execução dos pagamentos agendados
  • Fluxo de edição de agendamento
  • Quick start: edição de agendamento
  • Serviço de criação de edição de agendamento
  • Serviço de edição de agendamento

Recarga REST

  • Visão Geral
  • Quick start
  • Serviço de criação de recarga
  • Serviço de listagem de concessionárias
  • Serviço de listagem de dados da filial
  • Serviço de efetivação de recarga
  • Serviço de confirmação de recarga
  • Serviço de consulta de recarga

Pagamento HTML

  • Visão Geral
  • Quick start
  • Iniciando uma transação de pagamento
  • Aviso de Status
  • Serviço de consulta de transação HTML
  • Pagamento com armazenamento de cartão
  • Customização de Páginas
  • Pagamento com Link
  • Pagamento Split
  • Pagamento com múltiplos meios de pagamento
  • Integração 3DS 2.0

Pré-Autorização HTML

  • Visão Geral

Recarga HTML

  • Visão Geral
  • Quick start
  • Iniciando uma transação de recarga

Operações Genéricas REST

  • Visão geral
  • Serviço de geração de token
  • Serviço de operação genérica

Pagamento JavaScript

  • Visão Geral
  • Quick start
  • Serviço de criação da transação
  • Página de pagamento da loja virtual
  • Serviço de consulta de transação

Armazenamento JavaScript

  • Visão Geral
  • Quick start
  • Serviço de criação da transação
  • Página da loja virtual

Portal do Lojista

  • Introdução
  • Acesso ao Portal
  • Autenticação em duas etapas
  • Configurações do usuário
  • Configurar Autorizadoras
  • Relatório de Transações
  • Relatório de Resumo Diário
  • Relatório de Armazenamentos
  • Relatório de Recargas
  • Relatório Analítico
  • Cancelamento de Transações
  • Agendamentos de Recorrência
  • Configurar Análise de Risco
  • Configurar Ordenação de Autorizadoras
  • Administração de Usuários
  • Geração de link de pagamento

Portal do Lojista (POS)

  • Visão Geral
  • Configuração do POS Virtual
  • Pagamento via POS Virtual
  • Relatório de Transações POS

Portal do Lojista (Recarga POS)

  • Visão Geral
  • Recarga via POS Virtual

Retentativa

  • Visão Geral
  • Fluxos
  • Retentativa e Agendamento de Recorrência
  • Retentativa e códigos de retornos permitidos

Roteamentos via SiTef

  • Bradescard
  • Cetelem
  • GetnetLac
  • Orbitall
  • Vero
  • Bin
  • Sipag

Roteamentos Não-SiTef

  • Banco do Brasil
  • Banrisul Vero
  • Cielo e-Commerce
  • EPX
  • e.Rede REST
  • Fepas HUB
  • Getnet WS
  • GlobalPayments WS
  • IPG
  • Itaú Shopline
  • Mercado Pago
  • PagSeguro
  • PayPal
  • SafraPay
  • Stone WS

Auxílio Emergencial

  • Auxílio Emergencial

Carteira digital

  • Visão Geral
  • Carteira Digital VEE via CardSE
  • Pix via CardSE
  • Google Pay
  • Visa Checkout
  • Masterpass
  • Samsung Pay
  • Apple Pay
  • Configurações para Carteiras Digitais

Integração com antifraude

  • Visão Geral
  • Serviço de análise de risco na Interface HTML
  • Retorno da análise de risco
  • Fluxo de Revisao Manual
  • Serviço de marcação de fraude
  • ClearSale
  • CyberSource
  • Konduto
  • Fraud Detect

Informações Gerais

  • Autorizadoras
  • Certificados Digitais
  • Códigos da API
  • Soft Descriptor
  • Autenticação com assinatura

Cadastros em Lote

  • Cadastros de Lojas em Lote
  • Configuração de Roteamento em Lote

Cadastro de Lojas REST

  • Visão Geral
  • Quick start
  • Serviço de criação de token
  • Serviço de criação de loja
  • Serviço de edição de loja
  • Serviço de consulta de loja
  • Serviço de consulta de status loja
  • Serviço de listagem de lojas
  • Códigos da API

3DS Server

  • Visão Geral
  • Quick start
  • Serviço de criação de transação
  • Serviço de autenticação
  • Serviço de consulta de transação
  • Mensagens de desafio
  • Notificação decoupled
  • Iniciando um 3DS Method
  • Códigos da API

Orientações para o uso de Certificados Digitais

Introdução

O propósito deste documento é orientar o cliente que integrará seu produto com o e-SiTef sobre o uso de Certificados Digitais.

O intuito deste é apresentar de forma simplificada pequenas orientações sobre o uso destes para garantir a segurança da comunicação entre o e-SiTef e o produto do cliente.

Caso seja necessário um aprofundamento maior sobre os assuntos apresentados, sugerimos consultar outras literaturas e/ou fontes na Internet.

Certificado Digital

O Certificado Digital ou Certificado de chave pública (apenas ‘certificado’ daqui em diante) é um documento digital que tem o propósito de certificar a identidade de uma pessoa, ou entidade na comunicação digital. Uma forma de comunicação digital segura muito utilizada na Internet é o HTTPS, que é uma abreviação de HTTP via SSL/TLS.

O certificado em geral é solicitado pela pessoa ou entidade e emitido por uma CA (Autoridade Certificadora, ou Certification Authority, em inglês) como Verisign, CertSign, etc. Um certificado válido é aquele que, entre outros requisitos, esteja dentro da sua data de validade e assinado por uma CA confiável.

Como exemplo de seu uso, quando utilizamos um browser (Firefox, Chrome, etc..) para acessar um site que oferece segurança na comunicação usando HTTPS, em geral é apresentado o certificado utilizado pelo servidor do site, em geral simbolizado por um ícone de cadeado que se localiza próximo ao local que se apresenta a URL. Clicando neste ícone cadeado é possível observar as características deste certificado.

A característica principal de um certificado é o nome para qual ele é emitido, isto é, qual é o nome identificado no certificado. Na imagem abaixo podemos visualizar as informações, onde o certificado é emitido pela CA “Network Solutions DV Server” e emitido para o nome esitef.softwareexpress.com.br

Informação do Certificado

Certificados self-signed

Para ambientes de testes, existem casos em que a obtenção de um certificado válido não é viável, então algumas vezes é utilizado um certificado auto-assinado ou self-signed.

Um certificado self-signed é gerado e assinado pela própria pessoa/entidade, e não é aceito como confiável para uma comunicação segura. Como exemplo, quando se acessa um site via browser via HTTPS, onde o servidor utiliza um certificado self-signed, um aviso semelhante às imagens abaixo é apresentado no browser:

Firefox

Certificado Firefox

Chrome

Certificado Chrome

Internet Explorer

Certificado IE

Ao navegar nesses sites que utilizam certificados self-signed, temos a opção de confiar no site e acessá-los, mesmo sabendo que o certificado apresentado neles não é confiável, assumindo o risco de acessar e enviar informações para um site que não possui o certificado confiável ou até com um certificado que não possui a identidade de quem ele diz ser. Isto pode ser aplicado também na comunicação entre servidores.

Comunicação do e-SiTef com servidores de clientes

O e-SiTef frequentemente se comunica com servidores de clientes via POST’s HTTPS, para validar a autenticidade da requisição, como em transações de recarga e estorno de pagamentos. Para esta comunicação, é necessário que o servidor do cliente apresente certificados válidos para garantir a segurança das informações transmitidas. No ambiente de produção do e-SiTef, em geral todos os clientes já possuem uma infraestrutura pronta, com servidores com seus respectivos certificados válidos e assinados por CA’s reconhecidas no mercado.

Porém, na etapa de homologação, muitos sistemas ainda estão em fase de testes ou em desenvolvimento, utilizando certificados temporários, e muitas vezes self-signed. Neste caso, utilizamos uma abordagem semelhante à citada no item anterior, abrindo exceções para que o e-SiTef confie em um servidor que apresente um certificado self-signed. Isso é feito importando-o em uma lista de certificados confiáveis. Assim facilitamos o processo de homologação dos sistemas de clientes.

Como a tecnologia utilizada no e-SiTef segue a especificação de comunicação HTTPS RFC-2818, esta abordagem possui algumas restrições:

  • O certificado precisa estar válido, isto é, no mínimo deve estar com sua data de validade adequada para o período em uso;

  • A identificação do servidor do cliente deve ser compatível com o nome apresentado no certificado. Logo, as seguintes situações irão resultar em fracasso na comunicação:

    • Um certificado emitido para www.dominio.com não será compatível para um servidor identificado como dominio.com ou testes.dominio.com, pois são consideradas identificações diferentes.
    • Um servidor com um IP único, mas com múltiplos domínios e respectivamente múltiplos certificados, pode ser identificado de formas diferentes e inesperadas.
  • A especificação não permite certificados emitidos para o endereço IP de um servidor, a não ser que Nomes Alternativos(Subject Alternative Names) de IP’s ou domínios sejam adicionados ao certificado.

Logo, certificados que estejam em condições fora da especificação não serão aceitos na comunicação HTTPS mesmo que sejam importados na lista de certificados confiáveis no e-SiTef. Esta exigência no ambiente de homologação do e-SiTef acaba por preparar o cliente a fim de garantir o uso de um certificado corretamente emitido por uma CA para o sistema no ambiente de produção.

Criação de certificados self-signed

Existem várias formas já conhecidas para gerar certificados auto-assinados ou self-signed. Aqui iremos apresentar uma delas, utilizando a ferramenta openssl, que pode ser encontrada em pacotes do servidor web Apache. Todos as referências e comandos apresentados a seguir são baseados nas versões Apache HTTP 2.2 e openssl 0.9.8 em ambiente Windows. Caso seja da preferência do cliente, um procedimento análogo pode ser executado em ambiente Linux, com as devidas ferramentas e adaptações.

Como preparação de ambiente, sugerimos:

  • Crie uma pasta separada de nome openssl (ou escolha outro nome qualquer) e copie três arquivos existentes em %APACHE_HOME%/bin: libeay32.dll, ssleay.dll e zlib1.dll. Copie esses arquivos no diretório: Windows\System32.
  • Copie o arquivo openssl.exe existente em %APACHE_HOME%/bin para o diretório openssl.
  • Copie o arquivo openssl.cnf existente em %APACHE_HOME%/conf para o diretório openssl.

Configuração do openssl: openssl.cnf

O arquivo openssl.cnf contém as configurações para a geração de certificados. Inicialmente, crie uma cópia deste com outro nome (por exemplo openssl_editado.cnf ou um nome da sua preferência).

Sugerimos editar os seguintes campos do arquivo openssl_editado.cnf para facilitar o seu uso futuro:

  • Descomente (remova o caractere #) do início da seguinte linha:

    req_extensions = v3_req # The extensions to add to a certificate request

  • Logo abaixo, adicione ou altere valores default para os campos:

    • countryName_default = BR (ou outro país)
    • stateOrProvinceName_default = <nome do estado>
    • localityName_default = <Nome da cidade>
    • 0.organizationName_default = <Nome da Empresa>
    • organizationalUnitName_default = <nome do setor, equipe>
    • commonName_default = <nome comum a ser registrado>
    • emailAddress_default = <email>
  • Após o trecho:

      [ v3_req ]
    
      # Extensions to add to a certificate request
    
      basicConstraints = CA:FALSE
      keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    
  • Adicionar:

      subjectAltName=@alt_names
    
      [alt_names]
    
  • E então, logo abaixo adicionar nome alternativos ao commonName, em forma de DNS ou IP como nos exemplos abaixo, conforme necessidade de identificação do servidor:

      DNS.1 = www.dominio.com
      DNS.2 = *.dominio.com
      ...
      IP.1 = 192.168.4.34
      IP.2 = 200.122.10.66
      ...
    

Assim se finaliza a customização do arquivo de configuração do openssl.

Comandos openssl para gerar o certificado

Supondo que queremos gerar um certificado de nome dominio.

  • Criar uma chave privada RSA de 2048 bits executando o seguinte comando no diretório openssl:

      openssl genrsa -out dominio.pem 2048
    
  • Execute o comando abaixo para requisitar a criação do certificado

      openssl req -config openssl_editado.cnf -extensions v3_req -new -out dominio.cer -keyout dominio.pem
    

Após a execução desse comando serão pedidos alguns dados (Pais, Estado, Cidade, Nome e Unidade da Organização, email) de preenchimento opcional e dois de preenchimento obrigatório: o Common Name que é o domínio associado ao certificado (ou o IP do servidor) e uma senha para ser associada a chave privada. Por padrão, aceite as opções default sugeridas.

  • A seguir execute o comando abaixo para criar a chave privada não protegida por senha (a senha associada à chave privada será removida). Dessa forma, a chave será legível apenas para o servidor Apache e o administrador:

      openssl rsa –in dominio.pem –out dominio.key
    

Após a execução desse comando será pedida a senha da chave privada.

É recomendado a remoção do arquivo .rnd, pois ele contém informações sigilosas a respeito da criação da chave. Removendo-o evita-se ataques criptográficos contra a chave privada.

  • Por último, execute o comando abaixo para criar o certificado assinado que durará um ano:

      openssl x509 -in dominio.cer -out dominio.cer -req -signkey dominio.key -days 365 -extensions v3_req extfile openssl_editado.cnf
    

Os arquivos dominio.cer e dominio.key serão usados no servidor.

Instalação do certificado self-signed gerado no servidor Apache

Aqui apresentaremos um exemplo de instalação do certificado no servidor HTTP Apache 2.2.

  • Na pasta onde o Apache está instalado, abrir a pasta conf e abrir o arquivo de configuração httpd-ssl.conf;

  • Editar os seguintes itens abaixo no arquivo httpd-ssl.conf:

      ServerName <nome/dominio ou IP do servidor> 
    

    Ex: www.dominio.com.br ou IP 200.###.###.###

      SSLCertificateFile <caminho+nome do certificado> 
      Ex: `%APACHE_HOME%/conf/dominio.cer`
    
      SSLCertificateKeyFile <caminho+nome do arquivo de chave do certificado> 
    

    Ex: %APACHE_HOME%/conf/dominio.key

  • Reiniciar o Apache

Verificação do certificado gerado

Para verificar se o certificado foi gerado e instalado corretamente, abra um browser de sua preferência e digite a URL por qual o Apache responde, e clique no ícone do cadeado para abrir o certificado. As figuras abaixo ilustram a visualização do certificado em diferentes ambientes:

Detalhe do certificado no ambiente Windows

Detalhes do Certificado 1

Detalhe do certificado no Firefox

Detalhes do Certificado 2

← AutorizadorasCódigos da API →
  • Introdução
  • Certificado Digital
    • Certificados self-signed
  • Comunicação do e-SiTef com servidores de clientes
  • Criação de certificados self-signed
    • Configuração do openssl: openssl.cnf
    • Comandos openssl para gerar o certificado
  • Instalação do certificado self-signed gerado no servidor Apache
  • Verificação do certificado gerado
    • Detalhe do certificado no ambiente Windows
    • Detalhe do certificado no Firefox
e-SiTef
Relacionamento com o cliente
+55 (11) 3170-5300+55 (11) 4766-8000comercial@softwareexpress.com.br
Acessos
Portal do DesenvolvedorPortal e-SiTefVersão para impressão
Copyright © 2021 Software Express Informática Ltda - Todos os direitos reservados