2009-06-17 15 views
6

quiero tomar un archivo .cer clave pública generada a partir de java herramienta de claves comando como este:¿Cómo puedo importar mediante programación un archivo .cer de clave pública en un almacén de claves Java usando JSSE?

"herramienta de claves -export -alias PrivateKey -file publickey.cer -keystore privateKeys.store"

y la importación en un nuevo, vacío java almacén de claves de esta manera:

"herramienta de claves -import -alias publiccert -file publickey.cer -keystore publicCerts.store"

excepto que yo quiero hacer la importación mediante programación, utilizando JSSE.

Stack Overlords, trabaja tu magia! ¡Gracias!

+0

JSSE puede no ser el acrónimo correcto. JCE tal vez? ¡Cualquiera que sea la API de Java que se ocupa de los almacenes de claves se llama! :) –

+0

Gracias chicos. Te recomendaría pero aún no tengo suficiente crédito para hacerlo. Siguiendo el consejo de Reginaldo, lo descubrí después de mirar la fuente de KeyTool descompilada. Hice algo similar a esto: Certificado cert = CertificateFactory.getInstance ("X509"). GenerateCertificate (new FileInputStream (certFileLocation)); keyStore.setCertificateEntry ("publickey", cert); –

Respuesta

0

Si usa jad para descompilar las herramientas.jar que vienen con Sun JDK, verá exactamente cómo funciona.

Descomprime tools.jar en una carpeta y usa el siguiente comando para descompilar todas las clases dentro de ese contenedor.

 
for i in $(find . -name "*.class" | perl -ple 's/\.class$//g'); do jad -p $i.class > $i.java; done 

La fuente herramienta de claves se puede ver en sun.security.tools.KeyTool clase

2

vistazo a la clase de KeyStore en Java. Here es una clase que podría darle algunas pistas. Es posible que necesite el proveedor de criptografía BouncyCastle para operar toda su función

Cuestiones relacionadas