Dopo aver creato le chiavi segrete, come posso salvarle utilizzando i metodi della classe Keystore e come caricare le chiavi?Come memorizzare e caricare le chiavi utilizzando la classe java.security.KeyStore
risposta
Conservazione:
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 potrebbe essere nullo, a meno che non si sta passando PrivateKey
Caricamento:
KeyStore ks = KeyStore.getInstance("JKS");
InputStream readStream = new FileInputStream(filePathToStore);
ks.load(readStream, keystorePasswordCharArray);
Key key = ks.getKey("keyAlias", passwordForKeyCharArray);
readStream.close();
Leggi l'EDIT javadocs
:
Si noti che se si memorizza una SecretKey o si utilizza qualsiasi parte del provider SunJCE (Java Cryptography Extension), sarà necessario impostare il tipo di KeyStore su JCEKS.
KeyStore ks = KeyStore.getInstance("JCEKS");
sarei grato se spiegate come posso usare questo con il mio SSL/TLS applicazione (sslserversocketfactory) ho bisogno di dargli il percorso di un certificato CA
Ho avuto una situazione in cui ho didn Conosco il nome dell'alias chiave, ma sapevo che c'era una sola chiave nel keystore. Ho usato il seguente codice per caricare la chiave (dopo aver caricato l'archivio di chiavi come indicato sopra):
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();
Ho aggiunto un post on my blog con dettagli su come caricare la chiave privata, la chiave pubblica e come usarli.
- 1. Procedura consigliata per memorizzare le chiavi associate a una classe
- 2. Dove memorizzare le chiavi segrete DJANGO
- 3. Come dovrei memorizzare le chiavi API in un'app Python?
- 4. Come memorizzare e recuperare le credenziali su Windows utilizzando C#
- 5. Trascinare le immersioni e memorizzare la posizione
- 6. Memorizzare le chiavi API in Android, è sufficiente l'ostruzione?
- 7. Contenitori chiave, abbastanza sicuro per memorizzare le chiavi private?
- 8. Utilizzare una Hashtable per memorizzare solo le chiavi?
- 9. Come caricare e memorizzare un'immagine con google app engine (java)
- 10. Come memorizzare una classe personalizzata usando CoreData
- 11. Codeigniter e RestServer. Come caricare le immagini?
- 12. Come caricare un file JSON con chiavi segrete per Heroku
- 13. Come caricare angular2 utilizzando CDN e SystemJS
- 14. Memorizzare e leggere la password per/da portachiavi utilizzando Monotouch
- 15. Come memorizzare le immagini nel database mysql utilizzando php
- 16. Come memorizzare la password su Android
- 17. Come memorizzare le immagini in Meteor?
- 18. CodeIgniter - impossibile caricare la classe richiesta
- 19. Come memorizzare le immagini sul file system (su internet) e memorizzare i percorsi nel database?
- 20. Differenza tra caricare una classe e istanziarla
- 21. Come memorizzare le password * correttamente *?
- 22. Android Studio Impossibile caricare la classe '' org.codehaus.groovy.runtime.typehandling.ShortTypeHandling
- 23. Impossibile caricare la classe com.android.build.gradle.managed.NdkConfig $ Impl
- 24. Java: come caricare la classe memorizzata come byte [] nella JVM?
- 25. CodeIgniter: "Impossibile caricare la classe richiesta"
- 26. Come rimuovere la classe utilizzando i CSS
- 27. Come caricare e archiviare le variabili globali in Jersey/Glassfish
- 28. Jquery - Come trovare un elemento utilizzando la classe e l'attributo
- 29. Come si memorizzano le chiavi per le API in Rails?
- 30. Come funzionano le chiavi esterne?