Olá PessoaLL boa noite,

Meu intuito de escrever esse blog é para auxiliar o pessoal que está perdido sobre a nova forma de comunicação com os webservices da SEFAZ SP.

Foi liberado a alguns meses atrás uma nova forma de conexão do tipo HTTPS, como pode ser verificado no link abaixo:

Secretaria da Fazenda – Governo do Estado de São Paulo

O adapter engine do SAP PI para conexões HTTPS utiliza duas coisas para realizar a conexão, primeiro seria o certificado digital (Handshake) e trustedCA´s, o que seria as unidades certificadoras e seus respectivos padrões de conexão.

ADAPTER.png

A priore se você não fizer isso você vai estar recebendo um erro de CONNECTION RESET na sxi_monitor.

sefazSP1.JPG

Diferenças entre as cifras:

     Quando uma conexão SSL é estabelecida, o cliente (navegador da Web) e o servidor da Web negociam a cifra a utilizar para a conexão. O servidor da Web tem uma lista ordenada de cifras e a primeira cifra na lista que é suportada pelo cliente é selecionada.

SSL V3 e TLSV1

     Se você especificar cifras V3 ou TLS, e não especificar cifras SSL V2, o suporte para SSL V2 será desativado. Se você especificar cifras SSL V2, e não especificar cifras SSL V3 ou TLS, o suporte para SSL V3 e TLS será desativado.

Nome abreviado Nome longo Descrição
3A SSL_RSA_WITH_3DES_EDE_CBC_SHA Triple-DES SHA (168 bits)
33 SSL_RSA_EXPORT_WITH_RC4_40_MD5 RC4 SHA (40 bits)
34 SSL_RSA_WITH_RC4_128_MD5 RC4 MD5 (128 bits)
39 SSL_RSA_WITH_DES_CBC_SHA DES SHA (56 bits)
35 SSL_RSA_WITH_RC4_128_SHA RC4 SHA (128 bits)
35b TLS_RSA_WITH_AES_256_CBC_SHA AES SHA (256 bits)
2F TLS_RSA_WITH_AES_128_CBC_SHA AES SHA (128 bits)
36 SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5

A especificação criptografada 36 requer o Netscape Navigator V4.07; ele não funciona em versões anteriores dos navegadores Netscape.

RC2 MD5 (40 bits)

Maiores informações sobre as cifras SSL:

Transport Layer Security – Wikipédia, a enciclopédia livre

HTTPS – Wikipédia, a enciclopédia livre

Resolução desse problema para SEFAZ SP Homologação:

Basta atualizar a versão do iSalSik do seu ambiente SAP PI, que vai resolver o problema – Basicamente essas duas libs – library iaik_ssl.jar e w3c_http.jar

Caso você queria fazer o teste para saber como esta a cifra de onde você está se conectando via HTTPS+SSL

demo / iSaSiLk / Communication & Messaging Security / Products / Home – Stiftung SIC

Basta colocar o ip + porta 443, imagem abaixo é de um teste para sefaz SP.

Teste.PNG

Para você descobrir a versão do iSaSilk do seu ambiente SAP PI, você pode utilizar esse blog: SAP PI tool – XPI Inspector – criado pelo Rafael Vieira

Caso a sua versão estiver inferior a iSalSik – 3.18, faça a atualização das libs java que já foi explicado acima.

Atenciosamente,

Abraços para todos,

Ricardo Viana,

To report this post you need to login first.

44 Comments

You must be Logged on to comment or reply to a post.

    1. Tatiana Medina

      Olá Ricardo, Bom dia!

      Obrigada, pelo que entendi se o meu certificado que está importado no GRC já acessar a página https da Sefaz, significa que já está habilitado para autenticação no site https, correto?

      Se sim, o nosso último certificado já está em ordem. Obrigada

      Parabéns pelo excelente documentação.

      (0) 
      1. Ricardo Viana Post author

        Tatiana,

        Existe uma diferença entre a utilização do certificado para assinatura digital e para o de comunicação.

        Assinatura Digital – Formato .pse

          Importado na STRUST, caso a empresa tenha apenas um CNPJ, na entrada NFESIG.

        Comunicação

          Importado na NWA para versões de SAP PI+7.1 e no visual admin para verões SAP PI – 7.0

        O certificado de comunicação fica restrito para fazer o “tunelamento” https e garantir para governo quem está se comunicando com ele, pois isso ocorre o famoso “HANDSHAKE” que é a troca de certificado – publico e privado.

        Porém o Adapter Engine do SAP PI utiliza algumas cadeias confiaveis para comunicação de cifras SSL – HTTPS, que ficam exatamente nessa entrada da NWA. No visual admin não sei onde fica, desculpe.

        O procedimento é justamente para não ocorrer a compra de um novo certificado digital.

        Obrigado pelas palavras.

        Abraços,

        (0) 
    2. Tatiana Medina

      Olá Pessoal

      Essas dicas realmente me ajudaram a solicitar para minha matriz uma análise, obrigada.

      Temos a versão do IAIK v3.1810000000000005

      No resultado do debug por algum motivo retornou um erro 73, alguém sabe o que significa?

      No client certificate CA names sent

      SSL handshake has read 6438 bytes and written 431 bytes

      New, TLSv1/SSLv3, Cipher is RC4-MD5

      Server public key is 2048 bit

      Secure Renegotiation IS supported

      Compression: NONE

      Expansion: NONE

      SSL-Session:

          Protocol  : TLSv1

          Cipher : RC4-MD5

          Session-ID: (ocultei)

          Session-ID-ctx:

          Master-Key: (ocultei)

          Key-Arg   : None

          Start Time: 1390396045

          Timeout   : 300 (sec)

          Verify return code: 20 (unable to get local issuer certificate)

      read:errno=73

      (0) 
          1. Rafael Vieira

            Mas eu não detalhei nenhum procedimento de debug.

            Esse que o pessoal comentou (através do Link) é para verificação somente do lado da Sefaz. Isso não valida muita coisa, mas ajuda a saber o que o sistema destino espera exatamente.

            Escrevi um documento detalhando o procedimento de debug perfeito para esta verificação.

            Dê uma olhada:

            SAP PI tool – XPI Inspector

            (0) 
  1. Jose Nunes

    Muito bom o blog, parabéns aos envolvidos.

    Tem bastante gente assustada com esse comunicado do governo de SP mas no fim, não é nenhum bixo de sete cabeças como estão pintando por aí.

    []’s

    (0) 
    1. Ricardo Viana Post author

      Grande João,

      Que isso, estou retribuindo um pouco do que a SCN fez por min no passado, nada mais justo 😀 .

      Cara single stack é NWA direto, dual stack depende da versão 😀 .

      Success

      (0) 
  2. Eduardo Chagas

    Oi Ricardo

    Não ficou claro… se você ja tem o certificado importado para comunicação com a SEFAZ no PI… é necessário reimportar?

    Também não entendi a parte do evitar a compra de um novo certificado.

    Abraço

    Eduardo Chagas

    (0) 
    1. Ricardo Viana Post author

      Oi Chagas,

      Acho que fui técnico de mais.

      Deixa eu tentar ser mais simples, para comunicação com a Sefaz é necessário duas coisas, o certificado digital para garantir a minha identidade (Chave publica + Chave privada para ocorrer o “Handshake”) e também para fazer o “Tunelamento” da conexão criptografada.

      O que estou explicando aqui é como fazer o “tunelamento” da conexão, pois, inicialmente me confundi com o tipo do certificado digital utilizado para o “handshake”.

      Como pode ser visto na imagem o adaptador do SAP PI, utiliza o certificado para identificação e tunelamento, para o tunelamento os certificado devem ficar na entrada TrustedCA e para identificação na entrada DEFAULT ou NFE, caso você tenha criado uma view separada.

      Consegui ser mais claro Eduardo Chagas ?

      Valeu.

      Ricardo Viana.

      (0) 
      1. Eduardo Chagas

        Oi Ricardo.

        Até ai tranquilo… o que não tinha ficado claro é o motivo de se reimportar o certificado da SEFAZ SP. Olhando os detalhes do certificado entendi. Na verdade é apartir deste que o PI identifica a cifra (versão) a ser utilizada. Correto?

        Tks

        Eduardo Chagas

        (0) 
        1. Ricardo Viana Post author

          Isso Eduardo !

          Confesso que estou enrolado para testar isso, mais segundo Luis Naves ele fez exatamente isso e funcionou, de fato ja tive isso no passado com erro de “SSL” e resolvi assim também.

          Estou na dependência de basis para subir as novas CA’s na trusted CA’s para ver isso, até agora aqui a SEFAZ SP está com erro ‘CONNECTION RESET”.

          Atenciosamente,

          (0) 
  3. Pedro Baroni

    Grande Ricardo, parabéns!

    Já fiz os procedimentos por aqui, mas ainda não resolveu.

    Estamos aguardando a equipe BASIS subira a versão do Support Package do SAP_BASIS (que está muito antigo), para verificar se solucionará.

    Abs.,

    Pedro Baroni

    (0) 
  4. Pedro Baroni

    Uma dica adicional:

    Para verificar quais configurações SSL/TLS estão sendo utilizadas no Servidor de Destino (no caso SEFAZ), podemos utilizar o seguinte site:

    http://demo.iaik.tugraz.at/sslinfoservlet/servlet/iaiksslserverinfo/info?hostname=<hostname>&port=443

    Sendo necessário apenas incluir o Hostname desejado na URL, por exemplo:

    SEFAZ SP Homologação:

    http://demo.iaik.tugraz.at/sslinfoservlet/servlet/iaiksslserverinfo/info?hostname=homologacao.nfe.fazenda.sp.gov.br&port&hellip;

    SEFAZ SP Produção:

    http://demo.iaik.tugraz.at/sslinfoservlet/servlet/iaiksslserverinfo/info?hostname=nfe.fazenda.sp.gov.br&port=443

    Abs.,

    Pedro Baroni

    (0) 
  5. Rafael Vieira

    Ricardo, parabéns pela iniciativa.

    Porém, uma detalhe: esta comunicação da Sefaz está alertando para que os sistemas emissores estejam utilizando cifras compatíveis com o que a Sefaz exige (ou exigirá, no caso de produção).

    O componente de handshake do PI não se atualiza sozinho apenas importando as novas CA’s de homologação e produção. Por alguma coincidência isso pode até funcionar.

    O que deve ser feito é uma verificação no componente iSaSiLk (que não é SAP) e que vem junto na instalação do PI.

    Trata-se de uma biblioteca com as funções necessárias para executar o handshake utilizando SSL/HTTPS.

    A versão iSaSiLk 3.18 contempla todas as cifras exigidas pela Sefaz-SP.

    Para verificar, na ferramenta de administração Java, verifique o nível do IAIK em:

    Service -> Security Provider -> Cryptography Providers, e selecione IAIK.

    Sobre a necessidade de atualização do Support Package: Não é preciso! Basta atualizar a biblioteca IAIK. (obs. Não se pode fazer downgrade, apenas upgrade). O SP obviamente vai trazer o IAIK mais atual, mas atualização de SP não necessariamente é a cura.

    Por fim, o ideal para verificar essa informação é executar um debug HTTPS/SSL. Aí você irá ver o seu PI comunicando coma Sefaz e negociando o handshake passo a passo e vai ver qual foi a cifra escolhida. Exemplo:

    ssl_debug(399): Sending v3 client_hello message to nfe.sefaz.mt.gov.br:443, requesting version 3.2…

    ssl_debug(399): Sending extensions: elliptic_curves (10), renegotiation_info (65281), ec_point_formats (11)

    ssl_debug(399): Received v3 server_hello handshake message.

    ssl_debug(399): Server selected SSL version 3.2.

    ssl_debug(399): Server created new session 51:39:AB:D5:C9:8D:A1:80…

    ssl_debug(399): CipherSuite selected by server: SSL_RSA_WITH_RC4_128_SHA

    ssl_debug(399): CompressionMethod selected by server: NULL

    ssl_debug(399): TLS extensions sent by the server: renegotiation_info (65281)

    ssl_debug(399): Server supports secure renegotiation.

    ssl_debug(399): Received certificate handshake message with server certificate.

    ssl_debug(399): Server sent a 2048 bit RSA certificate, chain has 4 elements.

    ssl_debug(399): Received certificate_request handshake message.

    ssl_debug(399): Accepted certificate types: RSA

    No caso de NF-e, pra validar isso, é muito mais fácil disparar uma comunicação entre PI e Sefaz. Se não funcionar, inicie uma investigação. Se funcionar, já está comprovado que o sistema está Okay com a Sefaz.

    Abraço!

    Rafael Vieira.

    (0) 
    1. Ricardo Viana Post author

      Rafael,

      Sim essa é a opção caso nenhuma das outras funcione, atualizando as CA’s ou subindo o SP do SAP BASIS.

      Obrigado pela contribuição.

      Você autualiza o iSaSilk que resolve, equipe basis fez isso em um cliente que trabalho e resolveu, para versao 4.4.13 ultima disponível, se eu não me engano.

      Show cara,

      Abracs

      (0) 
      1. Rafael Vieira

        Exato. Não precisa de mais nada.

        Acredito que só o fato de estar utilizando o PI já significa que está tudo certo pra comunicar com a Sefaz (ou qualquer outro sistema que exija estas cifras mais atuais pra SSL), pois a versão 3.18 do componente, é de 2003.

        A Sefaz emite estas notas porque nem todas as empresas que emitem NF-e utilizam PI e alguns sistemas usam bibliotecas bem antigas.

        Mas realmente, causa muito barulho.

        Abraço!

        Rafael Vieira.

        (0) 
      2. Ricardo Viana Post author

        Isso mesmo Chagas,

        Luis Naves resolveu atualizando as CA´s faltantes na entrada TrustedCA´s que fica na NWA – Versão do PI 7.3

        Pedro Baroni – Resolveu atualizando o nível do Suporte Package do SWC – SAP BASIS.

        Nenhum dos dois acima atualizou a versão do iSalSik.

        Rafael Vieira e Ricardo Viana – Resolvi atualizando a versão do iSaSilk

        Que é examente como Rafael Falou –

        Para verificar, na ferramenta de administração Java, verifique o nível do IAIK em:

        Service -> Security Provider -> Cryptography Providers, e selecione IAIK.

        Atualizamos para 4.4.43

        Acho que é isso. Vou corrigir o blog sobre esses “três” possiveis tipos de resolver.

        Atenciosamente,

        Ricardo VIana.

        (0) 
        1. Rafael Vieira

          Ricardo, vou discordar parcialmente rs… Ainda bem que é esse o propósito de um fórum, a discussão afim de chegar em uma solução =)

          Se alguém teve problema e resolveu atualizando CA, não foi questão de cifras porque CA é uma identificação da Sefaz, logo, não resolve nem altera nada no PI.

          Talvez fosse a mesma mensagem de erro e se resolveu assim, mas a causa com certeza não era relacionada a cifras de SSL.

          Da mesma forma, o caso do PI 7.3 que resolveu atualizando o SP, matou a vaca pra matar um carrapato, mas talvez no caso dele tenha sido necessário.

          Valeu man!

          Rafael Vieira.

          (0) 
          1. Ricardo Viana Post author

            Rafael,

            Sem problemas.

            Meu intuito de ter criado esse blog era tentar orientar o pessoal sobre essa nova mudança de tunelamento – SSL.

            Sobre subir ou não a CA´s foi uma forma que o Luis Naves fez e para ele resolveu, a outra foi o Baroni, tentei as duas e não me ajudou.

            Foi ai que a equipe de basis achou esse componento iSalSik e resolveu.

            Anyway agora está coberto todos os pontos, quem tiver esse problema, atualize o seu iSalSik e pronto.

            Abrs,

            Viana.

            (0) 
    2. Bruno Henrique Hjort

      Pessoal,

      Eu continuo com uma dúvida: como faz para atualizar a biblioteca do IAIK? Tem alguma nota?

      Preciso repassar as instruções para o pessoal de Basis mas não achei nenhuma referência. Aqui estamos com o PI 7.1 e o erro “Connection reset” para SP em Homologação.

      Obrigado,

      Bruno Hjort

      (0) 
      1. leandro machado

        Olá Bruno, boa tarde.

        Pede para o pessoal de Basis verificar a nota “ 1405895 – Large messages from SOAP receiver channel fail“. A aplicação e no PI.

        Um breve resumo, ela trata o erro abaixo:

        “com.sap.engine.interfaces.messaging.api.exception.MessagingException:
        java.net.SocketException:”

        With SAP and Oracle JVM’s the exception message is similar to “Connection reset by peer” or “Connection closed” or “Connection reset”.

        No meu caso o problema foi solucionado.

        Abraços,

        Leandro Machado.

        (0) 
  6. Hudson Molleta

    Bom dia Ricardo,

    Aqui estamos com o problema do certificado e não conseguimos até o momento uma solução.

    Já reaplicamos os certificados, sequências de acesso e tudo mais, ontem foi feito a atualização dos iaik_ssl.jar e w3c_http.jar,  estávamos na 3.18 foi para a 4.4….. e não resolveu o problema, e o Basis preferiu voltar os arquivos originais.

    Versão no GRC :

    702 0012 SAPKA70212
    SLL-NFE 900 0014 SAPK-90014INSLLNFE

    Versão no PI:

    711 0005 SAPKB71105

    Alguém tem alguma idéia/sugestão?

    Obrigado desde já!

    (0) 
        1. Rafael Vieira

          Pelo que dá pra identificar nesse debug, o handshake foi concluído com sucesso.

          IAIK não é a razão dos seus problemas.

          E, também, se você tinha a versão 3.18, não tinha motivos pra atualizar o componente.

          O procedimento que eu descrevi era de apresentação da ferramenta XPI Inspector. Vc deve usá-la como uma ferramenta de diagnósticos, e não partir da idéia de que atualizar IAIK é pré-requisito para solucionar qualquer problema de certificado digital. Muito pelo contrário, ela é a última instância 😉

          Agora é hora de partir pra outras questões afim de analisar as causas e solucionar o problema:

          – Vc não disse qual é o problema. Qual msg de erro? Em que momento acontece?

          – Trata-se de uma interface nova?

          – Já conseguiu comunicar com a Sefaz alguma vez e parou ou nunca comunicou?

          – Já fez todo o procedimento de instalação de .cer no VA ou NWA, Keystore Entry/View nos Adapters, CA’s, etc?

          Ainda acho que deveria tratar isso em uma thread, para ter a devida atenção do pessoal do fórum, ou então posta aí as respostas e continuamos.

          Abç,

          Rafael.

          (0) 
          1. Hudson Molleta

            Rafael, é realmente esqueci do erro rsssss.

            esta com o erro de connection reset, exatamente como no print postado pelo Ricardo.

            O erro acontece no momento de consultar o status do serviço.

            Não é uma interface nova. Funcionava perfeitamente antes do processo de atualização.

            Sim já foi feito o processo de atualizar do cert. nas keystore.

            Na vdd estou buscando uma “luz”, já tem um chamado na SAP sobre este problema.

            (0) 
              1. Hudson Molleta

                kkkkkk

                Todo o processo e emissão de NFe para o estado de SP estava funcionando.

                Parou de funcionar quando o sefaz atualizou as cifras em homologação em dezembro, desde então não conseguimos fazer a conexão com sucesso.

                (0) 
                1. Gizela Ferreira Mendes

                  Bom dia,

                  Apenas por curiosidade…se a Sefaz SP mudou a forma de conexão em dezembro no ambiente em homologação e não tive problemas até hoje para emissão de NF-e, posso afirmar que meu ambiente está atualizado e não requer essa mudança quanto a Cifras? De qualquer forma pedi para o time responsável verificar.

                  Estamos na versão:

                  PI_BASIS: SAPK-73106INPIBASIS

                  SAP_APPL: SAPKH60606

                  SLL-NFE: SAPK-90015INSLLNFE

                  att,

                  Gizela

                  (0) 
                  1. Rafael Vieira

                    Exatamente, não precisa verificar nada.

                    Só que isso garante a sua conexão com o ambiente de homologação, porque o de produção ainda não foi liberado.

                    O que vc pode fazer, de forma simples, é conectar o PI de produção na Sefaz SP Homologação e executar a Service Status Check.

                    Se funcionar, u r good to go 😉

                    (0) 
                  1. Hudson Molleta

                    Leandro,

                    No meu caso estavamos no SP05 e a versão já era a 3.18, atualizamos o Patch Level que estava no 0 para o 16, que tem uma correção de SSL, com isto começou a funcionar!

                    Boa Sorte ai!

                    (0) 
                    1. leandro machado

                      Olá Hudson, boa tarde.

                      Obrigado pelo retorno.

                      Já estava pensando nesta possibilidade, o meu está no 7, preciso vê com o pessoal aqui sobre a possibilidade.

                      SAP_BASIS 711 0007 SAPKB71107
                      PI_BASIS 711 0005 SAPK-71105INPIBASIS

                      Abraços,

                      (0) 

Leave a Reply