| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/08/2006 14:52:35
|
TiagoFoil
JavaGuru
![[Avatar]](/images/avatar/bdcc41211aa62a8f10f26d1a2d1727bf.jpg)
Membro desde: 22/02/2005 19:46:49
Mensagens: 205
Offline
|
Minha dúvida é a seguinte, Como faço pra fazer cast entre esses dois formatos de Certificados digitais?
"java.security.cert.X509Certificate" para "org.mozilla.jss.crypto.X509Certificate"
O processo inverso já consigo fazer. Porém do da sun pro do mozilla nao ta dando nem por reza braba.
Desde já agradeço à atenção de todos.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/08/2006 14:58:09
|
danieldestro
Moderador
![[Avatar]](/images/avatar/a5bfc9e07964f8dddeb95fc584cd965d.png)
Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline
|
Não sei se ajuda: http://www.mozilla.org/projects/security/pki/jss/faq.html#convertX509
Mas acho que org.mozilla.jss.crypto.X509Certificate deve implementar/estender java.security.cert.X509Certificate, correto?
Portanto o backward cast nem sempre é possível.
|
gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/08/2006 15:00:28
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Você não pode fazer cast entre objetos não-relacionados. Ambos podem implementar ou estender (não sei exatamente se X509Certificate é uma classe ou interface) a mesma coisa, mas não são relacionados.
O que você pode fazer é obter a forma codificada (byte[]) usando getEncoded(), e criar um certificado com o tipo desejado a partir desses bytes (provavelmente você tem de encapsular esse byte[] em um ByteArrayInputStream.)
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/08/2006 15:10:34
|
TiagoFoil
JavaGuru
![[Avatar]](/images/avatar/bdcc41211aa62a8f10f26d1a2d1727bf.jpg)
Membro desde: 22/02/2005 19:46:49
Mensagens: 205
Offline
|
Obrigado Daniel, mas, já até encontrei esse link e testei. Só q eu consigo, no máximo fazer quest de "org.mozilla.jss.crypto.X509Certificate" para
"org.mozilla.jss.pkix.cert.Certificate". Isso é possível fazendo
Existe tbm a forma de fazer usando o tal Cryptomanager.importCertPackage(). Porém esse método gera uma excessao muito esquizita.
De qualquer forma obrigado. Vou continuar pesquisando e fazendo testes.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/08/2006 15:23:12
|
TiagoFoil
JavaGuru
![[Avatar]](/images/avatar/bdcc41211aa62a8f10f26d1a2d1727bf.jpg)
Membro desde: 22/02/2005 19:46:49
Mensagens: 205
Offline
|
thingol wrote:Você não pode fazer cast entre objetos não-relacionados. Ambos podem implementar ou estender (não sei exatamente se X509Certificate é uma classe ou interface) a mesma coisa, mas não são relacionados.
O que você pode fazer é obter a forma codificada (byte[]) usando getEncoded(), e criar um certificado com o tipo desejado a partir desses bytes (provavelmente você tem de encapsular esse byte[] em um ByteArrayInputStream.)
E ae thingol?!
Seguinte, eu até consegui fazer o cast do Certificado Mozilla para o Certificado da Sun, pois eu consigo, através de uma fábrica gerar um Certificado da Sun por meio de um Array de Bytes.
Já esse infiliz do Certificado do Mozilla num tem nenhuma fábrica ou template. O máximo q tem é esse método Cryptomanager.importCertPackage(). Mas q nao sei porque nao funciona nem q a vaca tussa!
Desculpem os termos "vulgares" e obrigado pelas dicas!
Vou continuar tentando.
|
|
|
 |
|
|