2011-02-07 128 views
12

intento crear un nuevo certificado auto archivo de almacén de clavesherramienta de claves de error -genkey: archivo de almacén de claves no exista

El comando que utilizo es:

keytool -genkey -selfcert -dname "cn=My Name, ou=Orga unit" -alias selfcertified -keypass somepass -keystore keystore.jks -storepass anotherpass -validity 365 

pero siempre me sale este error molesto:

keytool error: java.lang.Exception: Keystore file does not exist: keystore.jks 

No entiendo por qué me aparece este error. El comando anterior debería crear un nuevo almacén de claves, entonces, ¿por qué se está quejando de una tienda que no existe?

Respuesta

18

La generación de un par de claves (y un nuevo almacén de claves) tiene que realizarse como una operación separada para crear un certificado autofirmado para esa clave.

decir

keytool -genkey -alias myKey -keystore store.jks 
keytool -selfcert -alias myKey -keystore store.jks 
+1

de la documentación en línea de keytool: se crea un almacén de claves cada vez que utiliza un comando -genkey, -import o -identitydb para agregar datos a un almacén de claves que aún no existe. (http://download.oracle.com/javase/1.4.2/docs/tooldocs/solaris/keytool.html). de acuerdo con esto, el comando keytool debería crear un nuevo almacén de claves en lugar de decir que no existe. ¿podría por favor dar un ejemplo de cómo realizar estos dos pasos que mencionó? –

+0

@Chris Friedl - '-genkey' y' -selfcert' son comandos separados: no puede hacer ambas cosas a la vez. – OrangeDog

+0

gracias! - Dos comandos separados lo hicieron finalmente. lo curioso es que hay varios sitios que ofrecen tutoriales con los dos comandos en una línea, como he escrito anteriormente. –

2

símbolo del sistema Ejecutar como administrador y que se llevará a cabo.

0

-selfcert opción se hizo obsoleta en herramienta de claves para Java 6. Comprobar la última sección de "Changes" aquí: Java 6 Keytool

Así que para Java 6 y en adelante, reemplazar -selfcert con -certreq

Cuestiones relacionadas