Fazendo Cast entre Tipos de Certificados  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
TiagoFoil
JavaGuru
[Avatar]

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.
[MSN] [ICQ]
danieldestro
Moderador
[Avatar]

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
[WWW]
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.)
[WWW]
TiagoFoil
JavaGuru
[Avatar]

Membro desde: 22/02/2005 19:46:49
Mensagens: 205
Offline

danieldestro wrote: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.


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.
[MSN] [ICQ]
TiagoFoil
JavaGuru
[Avatar]

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.
[MSN] [ICQ]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team