Después de crear claves secretas, ¿cómo las almaceno usando los métodos de la clase Keystore y cómo cargo las claves?Cómo almacenar y cargar claves usando la clase java.security.KeyStore
Respuesta
almacenamiento:
KeyStore ks = KeyStore.getInstance("JKS");
ks.setKeyEntry("keyAlias", key, passwordForKeyCharArray, certChain);
OutputStream writeStream = new FileOutputStream(filePathToStore);
ks.store(writeStream, keystorePasswordCharArray);
writeStream.close();
Nota Thet certChain podría ser nula, a menos que usted está pasando PrivateKey
Carga:
KeyStore ks = KeyStore.getInstance("JKS");
InputStream readStream = new FileInputStream(filePathToStore);
ks.load(readStream, keystorePasswordCharArray);
Key key = ks.getKey("keyAlias", passwordForKeyCharArray);
readStream.close();
Leer el EDITAR javadocs
:
Tenga en cuenta que si está almacenando un SecretKey o está utilizando alguna parte del proveedor de SunJCE (Java Cryptography Extension), deberá configurar el tipo de KeyStore en JCEKS.
KeyStore ks = KeyStore.getInstance("JCEKS");
lo agradecería si se le explica cómo puedo usar esto con mi solicitud SSL/TLS (SSLServerSocketFactory) que necesito para darle la trayectoria de un certificado de CA
tuve una situación en la que yo no No sé el nombre del alias clave, pero sabía que solo había una clave en el almacén de claves. He utilizado el código siguiente 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 añadido una post on my blog con detalles de cómo cargar la clave privada, clave pública y la forma de utilizarlos.
- 1. Cargar y almacenar imágenes
- 2. ¿Cómo usar una Hashtable para almacenar solo las claves?
- 3. Cargar claves RSA desde los archivos
- 4. Cómo almacenar clases personalizadas usando CoreData
- 5. Mejores prácticas para almacenar claves secretas
- 6. ¿Cómo puedo cargar un archivo usando Catalyst?
- 7. GAE: ¿mejores prácticas para almacenar claves secretas?
- 8. ¿Diferencias semánticas entre guardar/escribir/almacenar y leer/cargar?
- 9. ¿Cómo usar el almacén de claves en Java para almacenar claves privadas?
- 10. iPhone: ¿Cómo puedo almacenar UIImage usando NSUserDefaults?
- 11. Cómo cargar CSS usando jquery
- 12. ¿Cómo puedo almacenar y reenviar las ranuras usando boost :: signals2?
- 13. Encontrar claves usando comodines
- 14. Cargar varios archivos usando HTML5 y PHP
- 15. ¿Cuál es la mejor manera de cargar y almacenar imágenes en el sitio?
- 16. ¿Cómo almacenar CLLocation usando Core Data (iPhone)?
- 17. ¿Cómo puedo ejecutar mi código al cargar la clase?
- 18. Error al cargar la clase "org.slf4j.impl.StaticLoggerBinder"
- 19. ¿Cómo cargar dinámicamente la clase en Objective-C?
- 20. Cargar un objeto usando Gson
- 21. Almacenar claves de API en Android, ¿es suficiente obfusticación?
- 22. cómo cargar misma clase de diferentes frascos
- 23. cómo cargar, reproducir y almacenar videos de una mejor manera en mi sitio web
- 24. Cómo almacenar un NSUInteger usando NSCoding?
- 25. cómo almacenar video en la base de datos usando mysql?
- 26. ¿Cómo puedo almacenar datos en la memoria RAM usando PHP?
- 27. Java cifrado asimétrico: mejor forma de almacenar claves públicas/privadas
- 28. Cómo cargar archivos CSS usando Javascript?
- 29. ¿Cómo cargar el archivo usando Mojolicious?
- 30. Cómo cargar y almacenar una imagen con el motor de aplicación de google (java)