Show / Hide Table of Contents
Editar no GitHub

Requisição Autenticada

O Web PKI oferece a funcionalidade de envio de requisições Web autenticadas com o certificado digital do usuário através de SSL/TLS mútuo. Essa operação tem grande utilidade na comunicação com serviços da Receita Federal, SEFAZ ou prefeituras.

NFe - Nota Fiscal eletrônica

Outra área na qual a requisição autenticada se faz necessária é a de serviços envolvendo notas fiscais eletrônicas (NFe). No cenário de transmissão da NFe, o padrão nacional permite que seja utilizado, na autenticação, um certificado de uma empresa diferente da que emitiu a NFe. Isso possibilita que a transmissão seja feita no backend utilizando um certificado A1 emitido em nome da empresa que oferece o serviço de assinatura de NFe na web, por exemplo.

No entanto, existem outros serviços, e.g. consultas e manifestações, nos quais se faz necessária a autenticação apenas com o certificado da empresa emissora da NFe. Para tais casos, a requisição autenticada com o Web PKI permite a implementação das comunicações à partir do computador do usuário, respeitando ideais de segurança, tanto possibilitando a utilização de certificados em dispositivos criptográficos, A3, tanto evitando a necessidade do envio de certificados A1, deixando-os sob a guarda de terceiros.

Exemplos

No exemplo abaixo, demonstramos uma simples requisição autenticada que verifica o status operacional do serviço SEFAZ-RS em homologação.

// Definicao dos parametros do request
var request = {
    // URL do servico
    url: 'https://nfe-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx',
    method: 'post',
    headers: {
        'Content-Type': 'application/soap+xml; charset=utf-8'
    },
    // Envelope SOAP da requisicao
    body: '<?xml version="1.0" encoding="utf-8"?><soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:Body><nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4"><consStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00"><tpAmb>2</tpAmb><cUF>53</cUF><xServ>STATUS</xServ></consStatServ></nfeDadosMsg></soap12:Body></soap12:Envelope>'
};

// Define o certificado do usuario para autenticar a requisicao 
request.certificateThumbprint = $('#certificateSelect').val();

// Envia a requisicao
pki.sendAuthenticatedRequest(request).success(function (response) {
    // Usa a resposta "response"
});

Veja também

  • Exemplo funcional no JSFiddle: Exemplo de envio de requisição autenticada
  • Documentação do método sendAuthenticatedRequest() (disponível desde a versão 1.4 da API)
Back to top Copyright © 2015-2020 Lacuna Software