your yet with valid unblock not how have expired disable check application java security

yet - Cómo almacenar y cargar claves utilizando la clase java.security.KeyStore



java.security.accesscontrolexception access denied (2)

Almacenando

KeyStore ks = KeyStore.getInstance("JKS"); ks.setKeyEntry("keyAlias", key, passwordForKeyCharArray, certChain); OutputStream writeStream = new FileOutputStream(filePathToStore); ks.store(writeStream, keystorePasswordCharArray); writeStream.close();

Tenga en cuenta que certChain puede ser nulo, a menos que esté pasando PrivateKey

Cargando:

KeyStore ks = KeyStore.getInstance("JKS"); InputStream readStream = new FileInputStream(filePathToStore); ks.load(readStream, keystorePasswordCharArray); Key key = ks.getKey("keyAlias", passwordForKeyCharArray); readStream.close();

Lee los javadocs

EDITAR:

Tenga en cuenta que si almacena una clave secreta o utiliza alguna parte del proveedor SunJCE (extensión de criptografía de Java), deberá configurar su tipo de almacén de claves en JCEKS.

KeyStore ks = KeyStore.getInstance("JCEKS");

Apreciaría si me explicas ¿Cómo puedo usar esto con mi aplicación ssl / tls (sslserversocketfactory)? Necesito darle la ruta de un certificado de CA

Después de crear las claves secretas, ¿cómo las almaceno usando los métodos de la clase de Keystore y cómo las cargo?


Tuve una situación en la que no sabía el nombre de alias clave, pero sabía que solo había una clave en el almacén de claves. Usé el siguiente código para cargar la clave (después de cargar el almacén de claves como se muestra arriba):

Enumeration<String> aliases = keyStore.aliases(); String alias = aliases.nextElement(); KeyStore.PrivateKeyEntry keyEnt = (KeyStore.PrivateKeyEntry) keyStore.getEntry(alias, new KeyStore.PasswordProtection(keystorePass.toCharArray())); PrivateKey privateKey = keyEnt.getPrivateKey();

He agregado una publicación en mi blog con detalles sobre cómo cargar la clave privada, la clave pública y cómo usarlas.