Ich möchte den Mac KeyChain verwenden, um einige Benutzernamen / Passwort-Kombinationen für meine Java Swing-Anwendung zu speichern, die für die Verbindung mit externen Diensten im Auftrag des Benutzers verwendet werden können.
Ich habe einige Quellen gefunden, die zeigen, dass Sie Zugriff auf ein java.security.KeyStore-Objekt erhalten, indem Sie Folgendes tun:
%Vor%Ich kann jedoch keine Beispiele dafür finden, wie Sie den resultierenden KeyStore zum Speichern / Abrufen von Benutzernamen und Kennwörtern verwenden.
Jede Hilfe würde sehr geschätzt werden.
Danke!
Sie können dort nicht "Apple Keychain Passwörter" von hier "Java KeyStore"
erhaltenDie Keystore-Abstraktion umschließt nur die Zertifikate im Schlüsselbund.
Sieh den Unterschied zwischen der nativen Ansicht des Schlüsselbunds (bash cmd):
security dump ~/Library/Keychains/login.keychain
vs Java-Ansicht des Schlüsselbunds (bash cmd):
keytool -list -storetype KeychainStore -keystore ~/Library/Keychains/login.keychain
Beachten Sie, dass nur Zertifikate enthalten sind und die Liste kürzer ist.
Sie müssen einen anderen Wrapper für Keychain verwenden, der auf alle Funktionen zugreifen kann.
Vorschläge:
Lesen Sie auch die nativen Dokumente: Schlüsselbund-Services-Konzepte - OS X Keychain Services-Aufgaben (siehe Abbildung 1-3)
Sie können das Kommandozeilenwerkzeug security
verwenden, mit dem Sie Kennwörter aus dem Schlüsselbund speichern und abrufen können. Es könnte ein Popup-Fenster erscheinen, in dem Sie den Zugriff erlauben müssen. Dies funktioniert natürlich auch nur unter OSX.
Ein Passwort könnte wie folgt gespeichert werden:
%Vor%Um das Passwort abzurufen, können Sie Folgendes tun:
%Vor%Um die Erfassung der Ausgabe zu erleichtern, können Sie die Bibliothek JProc verwenden, z. so:
%Vor% Die Java-Entwicklungshandbuch für Mac OS X verweist auf die Referenz Dokumentation zu java.security.KeyStore
. Ich bin nicht vertraut mit KeyStore
, aber vielleicht finden Sie, was Sie dort brauchen.