¿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?
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:
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.