NFe - Certificado A1 do serasa em ambiente diferente de Windows XP ou Vista  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
Rafael Rossignol
Java Ninja
[Avatar]

Membro desde: 17/02/2004 09:26:58
Mensagens: 282
Offline

Fala ai pessoal, juntando códigos daqui e dali pegos aqui mesmo no GUJ.
Utilizei um certificado A1 comprado no Serasa (arquivo PFX) e assinei e chamei um webservice de status do serviço do SEFAZ.

Então criei um jar que faz esse teste utilizando o certificado e executei em maquinas windows XP e vista, todos funcionaram numa boa.
Porém quando executo no linux ou no windows 2008 (server) retorna erro 403.17 (O certificado do cliente não se encontra no período de validade.)

Alguém já teve esse problema? sabe por que que não funciona nesses ambiantes?

No site do serasa diz que só funciona em ambiente windows XP, mas como quem lê o PFX é o próprio java, e não tem nenhum certificado instalado no SO, imagino que todos deveriam funcionar da mesma forma.

Agradeço qualquer informação de antemão.

Obrigado.

"A Imaginação é mais importante que o Conhecimento"
Albert Einstein
[Email] [ICQ]
deyver
HelloWorld
[Avatar]

Membro desde: 25/09/2008 13:00:14
Mensagens: 14
Offline

BOm dia, gente!

Também estou com o mesmo problema!

Alguém tem idéia do que possa ser isso ?

Obs: Então Bé, se você realmente tem certeza de que o certificado não é instalado no S.O e que o S.O. não interfere no processo, convenhamos que o problema está no Java ou no Browser certo?

Ajudem!

This message was edited 1 time. Last update was at 02/03/2010 09:16:39

Rafael Rossignol
Java Ninja
[Avatar]

Membro desde: 17/02/2004 09:26:58
Mensagens: 282
Offline

Achei que podia ser algo com o formato do arquivo, então utilizei a tecnica descrita nesse site:
http://www.jguru.com/faq/view.jsp?EID=532461

mais precisamente:
1. (If you already have a pkcs12 pem file, skip #1)
openssl pkcs12 -in mypfxfile.pfx -out mypemfile.pem

2.
openssl pkcs12 -export -in mypemfile.pem -out mykeystore.p12 -name "My Certificate"

3. (To verify that the keystore exists)
keytool -v -list -keystore mykeystore.p12 -storetype pkcs12

depois de ter o arquivo .12 testei no windows vista
funcionou numa boa

ai empolgado fui testar no 2008 e no linux e nada!

"A Imaginação é mais importante que o Conhecimento"
Albert Einstein
[Email] [ICQ]
deyver
HelloWorld
[Avatar]

Membro desde: 25/09/2008 13:00:14
Mensagens: 14
Offline

Então, mas... voce tem certeza de que o S.O. nao interfere nesse processo ?

Eu também estou muito curioso com esse caso. Trabalho ha 2 anos com suporte a configuracao e instalacao de certificado digital e nunca testei no SVR 2008 e Linux.

Bom, de repente voce poderia verificar pq com o certificado HSM em server funciona e com o seu A1(browser) nao.

www.arcomprova.com.br
Rafael Rossignol
Java Ninja
[Avatar]

Membro desde: 17/02/2004 09:26:58
Mensagens: 282
Offline

Olha, acredito que o certificado A1 seja apenas um arquivo contendo dados que podem ser validados pelo servidor, fazendo com que este tenha certeza da origem da requisição.
O que talvez aconteça é que o servidor tenha capacidade de detectar qual o SO que gerou a requisição e só aceita esse tipo de certificado quando for um Windows que não é Server, quando ele detecta server ele da aquela mensagem que não tem nada a ver.

O motivo pra isso?
Talvez o fato de obrigar quem usa o server comprar um HSM e gastar mais com isso.

Talvez eu esteja falando groselha.
Mas na minha opinião não tem nenhum impedimento técnico para esse certificado não funcionar no win2008 ou linux, já que a maquina virtual é a mesma, java não é write once run anywhere?
não acredito que o problema seja com o java
apenas se for um bug (o que acho improvável)

"A Imaginação é mais importante que o Conhecimento"
Albert Einstein
[Email] [ICQ]
deyver
HelloWorld
[Avatar]

Membro desde: 25/09/2008 13:00:14
Mensagens: 14
Offline

Então Bé....

Falei com uma pessoa entendida no assunto lá no Serasa. Ele me informou que para que o seu certificado A1 funcione no SVR 2008 ou 2003, será necessário gerar o par de chaves no Windows XP ou Vista e exportar o certificado + cadeias do certificado. Com o arquivo exportado você conseguirá importá-lo para o Browser no SVR 2008. Mamão com açúcar!

Para exportar segue o link:
http://loja.certificadodigital.com.br/Serasa/UPLOAD/Downloads/368.pdf

Como importar o certificado no browser:
http://loja.certificadodigital.com.br/Serasa/UPLOAD/Downloads/369.pdf

Ele me explicou que o HSM só pode ser instalado em servidores por conta da plataforma de Hardware. O HSM é fabricado para arquiterura de servidores. A IBM vende esse tipo de serviço. O certificado A1 funciona em qualquer sistema operacional que trabalhe com Browsers, o que você precisa é apenas gerar o arquivo nos sistemas operacionais indicados e depois importá-los para onde vocÊ quiser!

Aquele abraço!
Rafael Rossignol
Java Ninja
[Avatar]

Membro desde: 17/02/2004 09:26:58
Mensagens: 282
Offline

@Deyver
você fez esse teste?

o que acho estranho é que da maneira como configuramos o certificado para o java utilizar, independe do browser, segue um trecho de código:


Se eu tenho que especificar qual o arquivo do tipo PFX para o java, qual a necessidade de instalar no browser?
e ainda sim
ele reconhece o PFX exportado pelo IE (esse PFX que tenho foi exportado numa maquina windows XP) porém o servidor recusa a requisição pois fala q a data expirou.

Outro detalhe, a minha maquina (onde fiz o teste e funcionou) é um windows vista que o certificado NÃO está instalado no browser, ou seja, eu acesso o PFX diretamente pelo java e o servidor aceita a requisição numa boa e responde com o status da maneira correta.

"A Imaginação é mais importante que o Conhecimento"
Albert Einstein
[Email] [ICQ]
deyver
HelloWorld
[Avatar]

Membro desde: 25/09/2008 13:00:14
Mensagens: 14
Offline

Você instalou as cadeias de certificado (Raiz Completa) no SVR 2008 ? "Geralmente" essa mensagem de data aparece quando o S.O. não tem as cadeias de certificados instalados no micro.
Rafael Rossignol
Java Ninja
[Avatar]

Membro desde: 17/02/2004 09:26:58
Mensagens: 282
Offline

Estou providenciando um servidor de testes!
Quando eu instalar eu dou meu parecer!

Obrigado pela ajuda, de antemão!

"A Imaginação é mais importante que o Conhecimento"
Albert Einstein
[Email] [ICQ]
deyver
HelloWorld
[Avatar]

Membro desde: 25/09/2008 13:00:14
Mensagens: 14
Offline

Então Bé. Fiz um atendimento hoje para a exportação(backup) de um certificado A1 e importação no IE de um Mac da Apple.

Deu certo!

Use os links que eu mandei pra você nos posts aí em cima. Vai dar certo, é só gerar o par de chaves no Windows XP e exportá-lo para o seu pen drive. Em seguida, abra o navegador e importe! Funciona que é uma beleza!

PS: Ainda não testei no SVR 2008.

PS2: NÃO GERE O PAR DE CHAVES NO WINDOWS VISTA POIS NESSE SISTEMA OPERACIONAL NÃO TEM COMO VOCÊ FAZER O BACKUP DO CERTIFICADO.

Abraço!
Rafael Rossignol
Java Ninja
[Avatar]

Membro desde: 17/02/2004 09:26:58
Mensagens: 282
Offline

Ainda não tive como testar Deyver
mas uma dúvida

você importa no SO que vai usar, mas utiliza como?
o código java que você usa pra carregar o certificado é igual a esse ai q mandei ai em cima?

"A Imaginação é mais importante que o Conhecimento"
Albert Einstein
[Email] [ICQ]
deyver
HelloWorld
[Avatar]

Membro desde: 25/09/2008 13:00:14
Mensagens: 14
Offline

Então Bé, não sou desenvolvedor e não me entendo muito com código hehehehe....

Na verdade estou no fórum como um curioso mesmo(apesar de fazer ciência da computação).

Eu exportei um certificado e-CPF do tipo A1 para assinatura digital. Depois de importar no IE8 do cliente, realizamos um teste de assinatura com sucesso usando o site www.certificadodigital.com.br/suporte.

O NF-e A1 funciona da mesma maneira. Não sei como você vai integrar o certificado digital com o seu programa de emissão de nota fiscal, mas sei que ao menos você poderá realizar um teste de assinatura digital para verificar se o mesmo já está funcionando. Isso já ajuda bastante acredito ...

Abraço!
Rafael Rossignol
Java Ninja
[Avatar]

Membro desde: 17/02/2004 09:26:58
Mensagens: 282
Offline

então
esse é o problema que estou citando desde o inicio!

num software em java, ele carrega o pfx diretamente, ele não olha as cadeias do sistema operacional, pelo menos é o que parece.
Na minha maquina eu NÃO tenho o certificado instalado (ela é windows vista) e meu código funciona, pois carrego o pfx diretamente.

Já no 2008 não funciona.

Eu vou fazer o teste de instalar, mas acredito que vai continuar sem funcionar

"A Imaginação é mais importante que o Conhecimento"
Albert Einstein
[Email] [ICQ]
deyver
HelloWorld
[Avatar]

Membro desde: 25/09/2008 13:00:14
Mensagens: 14
Offline

Então Bé, acho que você deveria solicitar ajuda para alguma empresa de certificação digital pois aqui no fórum acredito que ninguém podrá te ajudar. Essa pergunta é muito específica ....

Tente falar com alguém na Serasa, Certisign, Gemalto ou Imprensa Oficial. Acho que é a melhor opção no seu caso.
rodolfofioda
Smalltalk

Membro desde: 24/05/2009 14:59:33
Mensagens: 1
Offline

Utilizei esta dica no Delphi 7 mas utilizando o Acbr e o Certificado A3. creio eu que seja aplicavel ao java.

" No windows na opção "Prevenção de Execução de Dados" adicionado o executavel da aplicação como confiavel.

Passos:

1º Meu Computador > Propriedades > Avançado > Desempenho > Botão Configurações > Aba Prevenção de Execução de Dados > Adicione o .exe da aplicação.


2º Também instalei novamente o capicom baixando do link https://wwws.prodemge.gov.br/images/stories/exe/capicom.exe

a 2º opção não sei dizer se influencia pois tinha feito ela antes de fazer a 1º.

Fonte:
http://acbr.sourceforge.net/mantis/view.php?id=164

Rodolfo Goulart
http://heavenwarriors.blogspot.com/

This message was edited 1 time. Last update was at 23/09/2010 15:10:51

 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team