Nachdem ich geheime Schlüssel erstellt habe, wie speichere ich sie mithilfe der Methoden der Keystore-Klasse und wie lade ich die Schlüssel?Wie speichere und lade ich Schlüssel mithilfe der Klasse java.security.KeyStore
Antwort
Speichern:
KeyStore ks = KeyStore.getInstance("JKS");
ks.setKeyEntry("keyAlias", key, passwordForKeyCharArray, certChain);
OutputStream writeStream = new FileOutputStream(filePathToStore);
ks.store(writeStream, keystorePasswordCharArray);
writeStream.close();
Hinweis Thet certChain könnte null sein, es sei denn, Sie PrivateKey
Laden sind vorbei:
KeyStore ks = KeyStore.getInstance("JKS");
InputStream readStream = new FileInputStream(filePathToStore);
ks.load(readStream, keystorePasswordCharArray);
Key key = ks.getKey("keyAlias", passwordForKeyCharArray);
readStream.close();
Lesen Sie die javadocs
EDIT:
Beachten Sie, dass Sie, wenn Sie einen SecretKey speichern oder einen Teil des SunJCE-Providers (Java Cryptography Extension) verwenden, Ihren KeyStore-Typ auf JCEKS einstellen müssen.
KeyStore ks = KeyStore.getInstance("JCEKS");
Ich würde schätzen, wenn Sie erklären, wie ich das mit meiner ssl/tls Anwendung verwenden können (sslserversocketfactory) i sie den Weg eines CA-Zertifikat geben müssen
Ich hatte eine Situation, wo ich didn Ich kenne den Schlüsselaliasnamen nicht, aber ich wusste, dass nur ein Schlüssel im Schlüsselspeicher vorhanden war. Ich habe den folgenden Code den Schlüssel zu laden (nach dem Schlüsselspeicher geladen, wie oben dargestellt):
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();
Ich habe eine post on my blog mit Details, wie hinzugefügt, um den privaten Schlüssel, den öffentlichen Schlüssel zu laden und wie sie verwendet werden.
- 1. Wie speichere und lade ich numpy.array() Daten richtig?
- 2. Wie lade ich die Proxy-Klasse aus der Proxy-Klasse?
- 3. Wie speichere ich Daten in der Benutzerklasse?
- 4. Wie speichere ich Schlüssel für APIs in Rails?
- 5. Wie speichere ich die aktuelle Cursorposition und lade sie später in Vimscript?
- 6. Wie lade ich mehrere Bilder in Django mit Dropzone hoch und speichere den Pfad dynamisch?
- 7. Wie lade ich ein Bild von einer URL herunter und speichere es auf meinem Computer?
- 8. Wie speichere ich Bestellungen?
- 9. Wie speichere ich das JPG-Bild in der Datenbank und lade es dann in Delphi mit FIBplus und TImage?
- 10. Wie speichere ich Eingabefelder der zugehörigen Checkboxen?
- 11. Wie klasse ich die Klasse in Java und speichere die Schnittstelle?
- 12. Wie speichere ich Optionen?
- 13. Wie speichere ich eine benutzerdefinierte NSObject-Klasse in einer Datei?
- 14. Wie speichere ich eine Instanz einer benutzerdefinierten Klasse in onSaveInstanceState?
- 15. Wie lade ich einen AppGroup-Container mithilfe von XCode 6.4 herunter und ersetzt ihn?
- 16. Wie erstelle ich einen neuen Ordner und speichere Dateien darauf?
- 17. Wie kann ich speichere diese Protokolldaten in der Datenbank
- 18. Wie speichere ich eine variable Anzahl von Argumenten mithilfe variadischer Vorlagenargumente?
- 19. Wie lade ich eine Java-Klasse dynamisch auf Android/Dalvik?
- 20. Wie speichere ich mit ASIHTTPDownloadCache?
- 21. Wie lade ich den Inhalt einer Datei mithilfe der jquery load Methode in eine Variable?
- 22. Wie speichere ich eine Textansicht?
- 23. Yii2 - Wie lade ich eine benutzerdefinierte Klasse AutoLoad?
- 24. Wie speichere ich GVIM-Einstellungen?
- 25. Wie speichere ich OFN.lpstrFile richtig?
- 26. Wie lade ich diese LINQ-Ergebnisse in meine ViewModel-Klasse?
- 27. Wo speichere ich Hashtabellen- oder Dictionary-Schlüsselnamen?
- 28. Wie lade ich unsanitisiertes XML?
- 29. Wie speichere ich die Sortierreihenfolge?
- 30. Wie speichere ich jedes Zertifikat in der Cert-Kette