Speichern von Schlüssel mittels Keystore
Ich bin mit Schlüsselspeicher schützen private Schlüssel in eine Datei(mit Kennwort für die Datei).Ich Verstand nicht, diesen code
//save my secret key
javax.crypto.SecretKey mySecretKey;
KeyStore.SecretKeyEntry skEntry =
new KeyStore.SecretKeyEntry(mySecretKey);
ks.setEntry("secretKeyAlias", skEntry,
new KeyStore.PasswordProtection(password));
//store away the keystore
java.io.FileOutputStream fos = null;
try {
fos = new java.io.FileOutputStream("newKeyStoreName");
ks.store(fos, password);
} finally {
if (fos != null) {
fos.close();
}
}
Was ist setEntry tun??
Sind wir speichern privaten Schlüssel durch fileoutputstream ??Wenn es wahr ist, wo ist das Passwort für die Datei???
Was ist die Endung der Datei??Ist es .jks??
- Bitte beantworten Sie die Kommentare..ich bin immer nur Antworten auf meine Fragen(geschrieben)nicht auf meine Kommentare, wenn überhaupt...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Java keystore ist ein container für kryptographische Objekte. Es können enthalten symmetrischen Schlüsseln, privaten Schlüsseln und Zertifikaten. Die
setEntry()
Methode fügt einen weiteren Eintrag hinzu, um den keystore. In deinem Fall bringt es einen symmetrischen Schlüssel identifiziert durch "secretKeyAlias" mit durch ein Passwort geschützt, um den Schlüssel zu speichern. Wenn Sie sparen wollten einen privaten Schlüssel, sollten Sie erstellt eineKeyStore.PrivateKeyEntry
statt.Nachdem Sie erstellt haben, eine keystore-Speicher, Sie können speichern auf der Festplatte. Der keystore ist ein
store()
-Methode, die schreibt dem keystore einStream
. In diesem Fall ist eineFileOutputStream
. Ein MAC wird auch Hinzugefügt, um den keystore, die durch ein Kennwort geschützt. In deinem Fall das Passwort ist das gleiche wie der oben, aber das ist nicht notwendig.Den üblichen Erweiterung für einen Java-keystore .jks, aber Ihr code speichert Sie in einer Datei namens "newKeyStoreName".