Wie speichern Sie einen Benutzernamen / ein Passwort im Mac Keychain mit Java?

9

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!

    
John Watson 28.07.2011, 05:31
quelle

3 Antworten

0

Sie können dort nicht "Apple Keychain Passwörter" von hier "Java KeyStore"

erhalten

Die 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:

  • github.com/conormcd/osx-keychain-java
  • Verwenden Sie swig , um den JNI-Wrapper zu erstellen

Lesen Sie auch die nativen Dokumente: Schlüsselbund-Services-Konzepte - OS X Keychain Services-Aufgaben (siehe Abbildung 1-3)

    
Frobbit 07.04.2015 19:45
quelle
0

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%     
Felix Leipold 17.12.2017 21:33
quelle
-1

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.

    
Mike Christianson 28.07.2011 06:39
quelle

Tags und Links