Certificado Digital de e-Servidor ou e-Equipamento

54 respostas
F

Olá… Gostaria de saber se alguém já utilizou certificação de e-Servidor ou e-Equipamento

Preciso deste tipo de certificado emitido por uma CA para acessar o web-services da Receita Federal para consulta de CPF.

Alguém poderia me ajduar? Já procurei bastante sobre o assunto e não encontrei nada que ajudasse muito.

Obrigado!!!

54 Respostas

T

Contacte a Certisign ou a Serasa, elas devem vender esse tipo de certificado.

F

Mas como funciona, eles emitem esse certificado uma vez e eu fico com ele localmente e o utilizo para validar junto a entidade que o esta exigindo?

Valeu!!!

T

Esse certificado é para ser instalado em uma aplicação rodando em uma determinada máquina, e deve ser renovado uma vez por ano, mediante o pagamento de uma taxa.

Você tem de ficar com ele “localmente”, se é o que você está perguntando.
Não se esqueça de fazer um backup dos arquivos relevantes quando for fazer a solicitação, senão você vai perder seu dinheiro.

F

Valeu cara… Acho q a empresa aki vai pegar este cetificado com a SERPRO.

Abraços!!!

C

Fernando bom dia

Estou desenvolvendo a mesma aplicaçao para consulta a receita e tambem estamos tendo duvidas quanto ao certificado, voce conseguiu resolver este problema e acessar o serviço?
Estou imaginando que apos termos o certificado basta instala-lo numa biblioteca de certificados e fazer a devida referencia na aplicaçao?

Agradeço qualquer ajuda.
Alexandre

F

Fala corsai tudo certo?

Então… Ainda não testei a aplicação mas criei um servidor web services de simulação e instalei o certificado desejado num repositório.
Assim funcionou. Se quiser posso te passar o exemplo, mas basicamente tem que algumas propriedades do System.Properties.

Vc está usando o Axis?

Abraços!!!

C

Bom dia Fernando

Encaminhei a resposta no seu email, o meu [email removido].

Atemais
Alexandre

R

Fernando, teria como você me passar esse exemplo também?

C

Fernando boa tarde

Ja conseguiu fazer testes na receita?

Att
Alexandre

F

Boa tarde,

Ainda não fiz porque estão demorando 3 anos para entregar o certificado :frowning:

O código já está pronto porém não puder fazer os testes.

Quanto ao código de teste que tenho aki, percebi que não vai adiantar para vocês pois foi feito utlizando o framework particular do banco.

Assim que receber o certificado para realizar os testes dou um feedback.

Abraços

F

Oque posso passar são as classes geradas pelo Axis a partir do WSDL da receita… Isso interessa a alguem?

Abraço

C

Agradeço, mas tambem ja fiz o codigo, o certificado recebi hoje mas ainda falta efetuar cadastro junto a receita.

quando tiver algum resultado reporto.

Att
Alexandre

R

Olá pessoal, boa noite!!!

Então, estamos realizando tb a migração de um aplicação para acesso ao novo Web Service da Receita, mas assim como vcs ainda estamos aguardando o tão esperado certificado e-Equipamento.

Minha dúvida é se da forma que estamos setando o certificado irá funcionar ou não.

Vocês poderiam informar como estão setando o certificando na aplicação de vocês e como geraram o .JKS para armazenamento do certificado?

Nossa aplicação foi desenvolvida em Java usando a api Axis.

Obrigado,

[email removido]

C

Fernando, Ronadol já conseguiram acessar o serviço??? aqui a coisa esta devagar deve ser ainda por causa do certificado.
Qualquer opiniao é bem vinda

Falou…

F

Fala Pessoal… Aqui as coisas estão paradas também aguardando o certificado. deve chegar nos próximos dias…

Eu consegui bater na receita e tomar o erro 403 por falta do certificado… Acho que isso já eh um bom sinal…

ronadol, para setar o certificado estou usando o System.setProperties() desta maneira:

public void setCertificado(){
    java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
    System.setProperty("javax.net.ssl.trustStore","c:/certificados/trustStore.jks");
    System.setProperty("javax.net.ssl.trustStorePassword","trustStore.jks");
    System.setProperty("javax.net.ssl.keyStore","c:/certificados/client.jks");
    System.setProperty("javax.net.ssl.keyStorePassword","client.jks");
}

Algum de vocês fez assim também???

Vocês necessitaram setar um proxy ai também?

Abraço!!!

F

Outra coisa… Me surgiu uma dúvida que acredito ser banal…

Preciso pegar o certificado da receita e colocar no meu JKS também ou somente o meu?

Abraço

C

Pessoal boa tarde

eu setei apenas 3 linhas:

System.setProperty(“javax.net.ssl.trustStoreType”, “JKS”);

String keydb = “C:\WebSphere\AppServer\profiles\Custom01\etc\DummyServerTrustFile.jks”;

System.setProperty(“javax.net.ssl.trustStore”,keydb);

Acrescentei na lib jks o certificado raiz brasileira para autenticaçao na web(sem ele da um erro SSLHandshakeException), acrescentei tambem o certificado que foi solicitado ao serpro mas com ou sem ele obtenho 403 forbidden.

Att

R

Caro Corsai, por aqui as coisas tb estão devagar, acredito que ainda esta semana teremos o certificado. Assim que testar passo as informações para vcs.

Um abraço…

R

falvesti, primeiramente obrigado pelas informações. Na verdade irei tentar setar o certificado assim como vc fez, assim que tivermos o mesmo em mãos.

Quanto ao proxy tb estou tendo que setar, mas o certificado que pedimos foi para o servidor da aplicação.

Quanto ao certificado da Receita eu tb estou com dúvida se vms usar ou não, pelo que li neste site(http://www.guj.com.br/posts/list/70567.java) ele tb deveria ser informado.

Algumas dúvidas acho que só conseguiremos sanar com o certificado em mãos.

Qualquer novidade eu posto.

Obrigado a todos.

R

corsai:
Pessoal boa tarde

eu setei apenas 3 linhas:

System.setProperty(“javax.net.ssl.trustStoreType”, “JKS”);

String keydb = “C:\WebSphere\AppServer\profiles\Custom01\etc\DummyServerTrustFile.jks”;

System.setProperty(“javax.net.ssl.trustStore”,keydb);

Acrescentei na lib jks o certificado raiz brasileira para autenticaçao na web(sem ele da um erro SSLHandshakeException), acrescentei tambem o certificado que foi solicitado ao serpro mas com ou sem ele obtenho 403 forbidden.

Att

Corsair, será que o certificado que SERASA emitiu realmente está com o bit de autenticação de cliente ligado? Acho que é válido checar…

R

E daí pessoal tudo blz?

Hoje conseguimos nos conectar a receita usando o certificado e-CPF, na verdade este cerficado tb tem o bit de autenticação de cliente ligado. Estamos recebendo a mensagem de erro "ACS - ERRO 02… " este erro é porque o e-CPF não possui nenhum cnpj amarrado a ele.

Agora estou tranquilo, pelo menos sei que nossa aplicação irá funcionar, pois realmente só falta certificado.

Nos testes comprovei que realmente é necessário usar os dois certificados, o fornecido pela Receita + o de cliente com o bit de autenticação ligado, usei-os em repositórios diferentes, um em cada JKS.

Ficou praticamente como o Fernando informou:

//Certificado de Cliente (coloquei o e-CPF)

System.setProperty(javax.net.ssl.keyStoreType,JKS);

System.setProperty(javax.net.ssl.keyStore,"/Projetos/Certificado/keystore_client.jks");

System.setProperty(javax.net.ssl.keyStorePassword,xyz);
//Certificado normal fornecido pela Receita

System.setProperty(javax.net.ssl.trustStoreType, JKS);

System.setProperty(javax.net.ssl.trustStore,"/Projetos/Certificado/keystore_ca.jks");

System.setProperty(javax.net.ssl.trustStorePassword,xyz);

É isso daí, qualquer novidade eu informo.

Abraço.

F

Que bom Ronadol, agora fico tranquilo sabendo que é assim mesmo…

Vocês também estão sendo pressionados para entregar isto até dia 31 em produção??

Abraço!!!

C

Ronadol parabens

Eu estava com todos os certificados em uma unica lib e tentei testar separando o cert cliente dos webs mas continuo tendo erro 403, quanto ao bit de autenticaçao a area de segurança informou que esta ok que eu deveria olhar no item -uso avançado da chave com os itens

Autenticação do servidor(0.0.0.0.0.0.0.0.0)
Autenticação de cliente(0.0.0.0.0.0.0.0.0)

vou passar essa ideia de teste com um e-cpf

Ate mais

C

Ronadol

Como vc utilizou o e-cpf ? ele é A1 ou A3 como vc localiza a chave privada do certificado?
Porque aqui nos temos um e-cpf A3 smart card e eu nao consigo extrair a chave privada e só com a chave publica nao resolve

Agradeço

R

Cara, usei o e-CPF A1. Autenticação de Cliente (1.3.6.1.5.5.7.3.2).
Acho que seu e-equipamento não está com o bit ligado.

Quando exportei ele do internet explorer, pedia para exportar a chave privada junta. Ele gerou um arquivo pfx, a partir deste gerei o .jks.

Qualquer coisa me avise.

um abraço.

C

Ronadol
tudo bem

Entao, os dados corretos do meu cert sao

Autenticação do servidor(1.3.6.1.5.5.7.3.1)
Autenticação de cliente(1.3.6.1.5.5.7.3.2)

e realmente nao posso usar o e-cpf pois é A3 e eu nao consigo exportar a chave privada do smart card

outra coisa de que autoridade cert. vcs pediram o cert.?

Ate mais

R

Pedimos da Serasa, mas ainda não recebemos o certificado! Acho que só segunda.

C

Pessoal fiz um teste aqui, exportei da lib jks a chave privada e instalei no internet explorer e consegui abrir a pagina do serviço,
https://infoconv.receita.fazenda.gov.br/ws/cpf/ConsultarCPF.asmx
isso indica que o certificado esta ok

mas no java NADA continuo com erro 403
acertei a configuraçao das libs e esta desta forma

System.setProperty(java.protocol.handler.pkgs, com.sun,net.ssl.internal.www.protocol);

Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

System.setProperty(javax.net.ssl.trustStoreType, JKS);

System.setProperty(javax.net.ssl.trustStore,C:/WebSphere/AppServer/profiles/Custom01/etc/testekey.jks);

System.setProperty(javax.net.ssl.trustStorePassword,xxx);

System.setProperty(javax.net.ssl.keyStore,C:/WebSphere/AppServer/profiles/Custom01/etc/testeclient.jks);

System.setProperty(javax.net.ssl.keyStorePassword,xxx);

System.setProperty(javax.net.debug, ssl);

onde testeclient armazena apenas o cert cliente
e testekey a cadeia de certificados inclusive o recebido do serpro.

esta ficando dificil


R

Caro Corsai, estavamos com o mesmo problema seu, mesmo após a intalação do certificado acabavamos recebendo a mensaa de erro 403. Para solução do problema foi alterado a versão da máquina virtual java.

Qualquer entre em contato.

um abraço.

ronadol.

F

ronadol a sua aplicação já esta funcionando corretamente?

C

Ronadol que bom que funcionou, e qual versao vc esta usando??
eu usei 1.6 alguma coisa e tentei tb a 1.4.2

Ate mais

R

Já está funcionando corretamente sim. Estamos usando o java 1.4.2 da ibm.

Qualquer coisa me avise.

E sua aplicação como está?

abraço.

C

ronadol bom dia

Muito estranho, estou usando websphere application server 5.1.1.14 que trabalha com java J2RE 1.4.2 IBM Windows 32 build cn142-20061124 (SR7)
e continuo com a mesma mensagem.
Estamos com suporte da IBM para nos ajudar a avaliar.

Ate mais

F

Pessoal eu estava tomando erro 403 mas descobrimos que foi porque nos enviaram o certificado sem o bit de cliente ligado.

Estamos aguardando o certificado correto para testar novamente.

Abraços!

C

falvesti tudo bem

vc tentou exportar a sua chave privada e instalar no internet explorer
para ver se abre o serviço?

eu exportei da lib jks, na aba certificados pessoais selecionei a chave e em tipo de arquivo de chaves - pkcs12 (estou usando a ferramenta da ibm ikeyman)

e depois instalei no IE e consegui acessar… mas no java nada.

me garantiram que o certificado esta ok.

F

Tentei usar pelo IE e não deu pq não veio com o bit de cliente ativado… O novo certificado deve chegar hoje…

Assim que fizer o teste posto aki o resultado…

Abraços!!

F

Bom dia pessoal,

Recebi o certificado correto porém continua tomando o erro 403 no site da Receita.

Ronadol sua aplicação já está funcionando perfeitamente?

F

Outra coisa,

Vocês tiveram que cadastrar o IP da máquina onde ta a aplicação junto a receita?

C

falvesti bom dia

Sim vc tem que sair por um ip cadastrado, aqui nao é o da maq onde esta a aplicaçao mas a chamada é roteada para sair por um ip cadastrado.

obs: aqui tb estou com erro 403 ou unknown certificate

F

Corsai, você se importaria de entrarmos em contato telefônico?

Caso não se importe me envie neste email seu telefone para que eu possa entrar em contato.

[email removido]

Abraço

F

Ae galera… Aki Funcionou… Valeu pela Ajuda!!!

Se houver alguém que ainda não conseguiu estamos ai pra ajudar.

Abraços

R

Pessoal, aqui tb está tudo funcionando!!!
Caso vcs ainda tenham alguma dificuldade entre em contato!

Obridado a todos pela colaboração!!!

Um abraço!

J

Olá pesoal. Aqui tb estamos tendo algumas dificuldades.
Como eu obtenho os certificados da receita?

T

Olá, estou tentando acessar o infoconvWS e tenho uma exceção dizendo que “Não foi possível encontrar seu certificado”.

Eu exportei o certificado da receita pelo Internet Explorer e a partir deste gerei uma keystore JKS que contém esse certificado. Depois disso, setei as propriedades no meu código que invoca o WS.

System.setProperty("javax.net.ssl.trustStore","c:/keystore.jks"); System.setProperty("javax.net.ssl.trustStorePassword","senha"); System.setProperty("javax.net.ssl.keyStore","c:/keystore.jks"); System.setProperty("javax.net.ssl.keyStorePassword","senha");

Ao executar o código, é lançada aquela exceção com a informação de que o certificado não foi encontrado: “SunCertPath BuilderException: unable to find valid certification path”.
Tirando essas linhas de configuração de propriedades, o erro é exatamente igual, ou seja, essas linhas de configuração não estão fazendo diferença nenhuma na execução do código.

Tentei também importar para a keystore todos os certificados do chain de certificados, e o erro não muda.

Por isso acredito que o problema seja na geração da jks, mas não encontro documentação sobre como gerar essas keystores/truststores a partir do certificado da receita.
Se alguém puder postar como gerar essas jks corretamente e/ou enviar algum link sobre como fazer isso, agradeço!!

R

Bom dia,

Os que ja conseguiram fazer funcionar poderiam me dar uma ajuda? Já gerei e assinei a Nota agora eu preciso estabelecer comunicação com o WebService.

Eu tenho a chave da empresa com extensão .pfx (que foi a chave que eu assinei o XML) e baixei também a chave publica do WebService de SP com extensão .p7b, ja gerei as classes .java através do WSDL, e parei por ai agora não sei como fazer mais nada, vi que eu preciso de um arquivo com extensão .jks mas não tenho esse arquivo e nem sei os comandos do keytool para gerar.

Se alguem puder me mandar algum exemplo de como me comunicar com o SEFAZ, eu agradeço muito…

Muito Obrigado

P

corsai:
falvesti bom dia
Sim vc tem que sair por um ip cadastrado, aqui nao é o da maq onde esta a aplicaçao mas a chamada é roteada para sair por um ip cadastrado.
obs: aqui tb estou com erro 403 ou unknown certificate

Ola. Isso pode estar acarretando o 403 Forbidden?
Voce tem certeza que só o ip cadastrado pode acessar os servicos, mesmo em homologacao?

Grato pela informacao.

Alencar

V

Galera,

Estou usando o Token Tipo A3 e estou com o mesmo problema. Fiz os procedimentos que vocês indicaram e ainda continuo com o erro:

com.sun.xml.ws.client.ClientTransportException: HTTP transport error: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:135)
        at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:142)
        at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:88)
        at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
        at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
        at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
        at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
        at com.sun.xml.ws.client.Stub.process(Stub.java:248)
        at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:134)
        at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:244)
        at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:224)
        at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:117)

Parâmetros que estou usando:

System.setProperty("javax.net.ssl.keyStoreType", "PKCS11");
System.setProperty("javax.net.ssl.keyStoreProvider", "SunPKCS11-FeitianPKCS");
System.setProperty("javax.net.ssl.keyStore", "NONE");
System.setProperty("javax.net.ssl.keyStorePassword", "SENHA");

O mais engraçado é que estava funcionando assim, ai do nada, sem mexer em nada começou a dar esse erro diabólico novamente. Ja coloquei os .cer no cacets do JRE.

Alguem sabe o que mais pode estar atrapalhando o acesso via HTTPS?

Atenciosamente

R

Verifique as datas de validade do seu certificado e do certificado público…

Eu tive esse problema e era chave vencida

V

Então,

A validade dos certificados estão ok. A validade do meu certificado é ate 2011.

R

O meu também é vencimento 2011, mas o certificado público de SP de homologação vencia 2011 e o de produção vencia 2008, vc já deu uma olhada no certificado público também

V

rafaelbtz, olhei sim, o trocaram a merda do certificado.

O que vc fez?

R

Comigo aqui em SP foi a mesma coisa trocaram do nada o certificado público.

no site do próprio SEFAZ tinha download do certificado mas ele estava vencido…
ai eu fucei muito na web até que achei um certificado genérico que servia pra vários SEFAZ se não me engano inclusive para o do RS.
eu não me lembro o site mas acho que foi nesse aqui: http://nf-eletronica.com/blog/ da uma olhada lá que eu to muito sem tempo de procurar aqui pra te ajudar…

V

rafaelbtz,

Não consegui achar esse certificado nao. Tem como vc me mandar ele por email?

[email removido]

R

IU

Criado 18 de outubro de 2007
Ultima resposta 14 de jan. de 2009
Respostas 54
Participantes 10