Assinar XML com um certificado [RESOLVIDO]

5 respostas
D

Pessoal,

pesquisei e não encontrei aqui, mas alguém tem algum código ou componente que permita a assinatura de XMLs utilizando um certificado digital?

5 Respostas

F

Cara, você pode fazer isso setando algumas propriedades do sistema.

java.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol
javax.net.ssl.keyStoreType=PKCS12
javax.net.ssl.keyStore=C:\\assinatura.pfx
javax.net.ssl.keyStorePassword=senha

Você pode criar um arquivo properties e depois utilizá-lo para setar as propriedades:

Properties securityProperties; // carrega o arquivo properties
		
for (Object key : securityProperties.keySet()) {
   System.setProperty(key.toString(), securityProperties.getProperty(key.toString()));
}

As configurações do arquivo dependem do tipo de assinatura.

Falou.

D

Beleza, mas

System.setProperty(key.toString(), securityProperties.getProperty(key.toString()));

Isso assina um XML? Sei que existe uma API no java 6 própria para isso, mas não encontrei exemplos concretos, somente trechos de códigos mal explicados…

F

DexterDF:
Beleza, mas

System.setProperty(key.toString(), securityProperties.getProperty(key.toString()));

Isso assina um XML? Sei que existe uma API no java 6 própria para isso, mas não encontrei exemplos concretos, somente trechos de códigos mal explicados…

Isso vai configurar todas as propriedades que estão no arquivo de propriedades como propriedades do sistema.

Em uma das propriedades vc informa o caminho do seu arquivo de assinatura:

javax.net.ssl.keyStore=C:\\assinatura.pfx

Essa é uma forma, mas vc pode encontrar mais informações aqui:

http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/2.0/tutorial/doc/

D

vou ver o link! Valeu meu brother!

D

Perfeito, resolvi o problema com o seguinte código anexo!

Criado 10 de janeiro de 2011
Ultima resposta 12 de jan. de 2011
Respostas 5
Participantes 2