es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo leer el contenido del certlm.msc de Windows en un Keystore en Java?

En Windows 10/11, puedo importar un certificado tanto a certmgr.msc como a certlm.msc. Si entiendo correctamente, certmgr.msc almacena los certificados y claves del usuario local, mientras que certlm.msc almacena los certificados y claves de la máquina local.

Puedo leer los certificados que se importaron a certmgr.msc con una aplicación Java como esta:

KeyStore keyStore;
keyStore = KeyStore.getInstance("Windows-MY");
keyStore.load(null, null);

KeyStore trustStore;
trustStore = KeyStore.getInstance("Windows-ROOT");
trustStore.load(null, null);

Sin embargo, este fragmento de código no lee los certificados y claves que importé a certlm.msc. ¿Cómo puedo hacer eso?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para leer certificados y claves importados a certlm.msc en una aplicación Java, debes especificar la propiedad del sistema “javax.net.ssl.trustStoreType” con el valor “Windows-ROOT” y “javax.net.ssl.trustStore” con la ruta del archivo del almacén de certificados para la máquina local.

    Aquí tienes un ejemplo de código:

    System.setProperty("javax.net.ssl.trustStoreType", "Windows-ROOT");
    System.setProperty("javax.net.ssl.trustStore", "C:/ProgramData/Oracle/Java/javapath/cacerts");
    
    KeyStore trustStore;
    trustStore = KeyStore.getInstance("Windows-ROOT");
    trustStore.load(null, null);
    

    Ten en cuenta que la ruta del archivo puede variar dependiendo de tu instalación de Java y la versión que estés utilizando. Puedes encontrar la ruta correcta del archivo ejecutando el comando “keytool -list -v -keystore C:\ProgramData\Oracle\Java\javapath\cacerts” en una ventana de comandos.

Comments are closed.