Bouncy Castle

Gostaria de saber se é possível trabalhar com certificados (validaçao, CRL, certificate path, etc) sem instalar ou configurar um Provider? Fazendo tudo em código, buscando CRL online, etc…

A pergunta pode parecer meio sem sentido, mas estou começando a mexer com certificados agora e estou cheio de dúvidas.

valeu

http://java.sun.com/javase/6/docs/technotes/guides/security/cert3.html

Valeu pela resposta…
… eu já tinha lido esse material mas para a versão 1.5 (http://java.sun.com/j2se/1.5.0/docs/guide/security/cert3.html)
Pelo o que eu vi mudou poucas coisas.

O que realmente iria me ajudar seria um bom exemplo de implementação e implantação de um sisteminha de manipulação de certificados usando uma API (BouncyCastle ou WSDP). Basicamente ler e validar certificados do tipo X509 ( validando com CRL e a cadeia de confiança).

…valeu

[quote=Danilo Marchiori]Valeu pela resposta…
… eu já tinha lido esse material mas para a versão 1.5 (http://java.sun.com/j2se/1.5.0/docs/guide/security/cert3.html)
Pelo o que eu vi mudou poucas coisas.

O que realmente iria me ajudar seria um bom exemplo de implementação e implantação de um sisteminha de manipulação de certificados usando uma API (BouncyCastle ou WSDP). Basicamente ler e validar certificados do tipo X509 ( validando com CRL e a cadeia de confiança).

…valeu[/quote]

No link que eu mandei tinha um outro link para um PKI Programmer’s Guide. Lá tem alguma coisa sobre como trabalhar com certificados. Dá uma pesquisada por PKI, pois a implementação de uma CA tem que ter a parte de validação de certificado e CRL.

Outra coisa que é interessante é ter um software que permita a você gerar certificados e CRLs “fajutas” para você poder testar.

Por exemplo, o OpenSSL é capaz de fazer isso (e ele vem com 99% das distribuições Linux, assim como o Oracle, por causa do Apache).

Se você usa Windows 2000 Server ou Enterprise ou 2003 Server ou Enterprise, existe o tal “Certification Authority” que vem com o próprio Windows, mas o problema é que é um pouco difícil de customizar algumas coisas - por exemplo, se você quiser adicionar um SubjectAlternativeName com determinados atributos (que é o usado no ICP-Brasil), é necessário criar uma ActiveX DLL (pode ser em VB 6.0 mesmo :stuck_out_tongue: ) e registrá-lo para que a Certification Authority faça isso.

Se você gosta de soluções 100% Java existe o EJBCA, que provavelmente você já ouviu falar.

Boa tarde pessoal, ainda não li todo o material que vocês relacionaram, mas estarei verificando, mas estou iniciando também a trabalhar com isto agora, e estou precisando muito trabalhar com os certificados ICP-BRasil, de E-CPF e E-CNPJ, gostaria de saber se vocês tem algum outro link onde eu possa achar alguns exemplos sobre, como assinar, validar e utilizar isto.

Não há diferença entre trabalhar com certificados que estão sob o ICP-Brasil e outra CA. O ICP-Brasil apenas mantém um certificado root sob domínio do governo do Brasil (questões de soberania). Ou seja a questão é mais poítica que técnica.

Com relação a assinar e validar, o que vai ser assinado e validado?

Provalmente arquivos XML, alguem teria alguma exemplo de implementação, com bouncycastle ou alguma outra api?

Se for XML Digital Signature, veja http://java.sun.com/developer/technicalArticles/xml/dig_signature_api/