我想使用 Mac KeyChain 为我的 Java Swing 应用程序存储一些用户名/密码组合,以用于代表用户连接到外部服务。
我发现了一些资料表明您可以通过以下方式访问 java.security.KeyStore 对象:
KeyStore keyStore = KeyStore.getInstance("KeychainStore", "Apple");
keyStore.load(null, null);
但是,我找不到任何示例说明您如何使用生成的 KeyStore 实际存储/检索用户名和密码。
如有任何帮助,我们将不胜感激。
谢谢!
最佳答案
你不能从这里“Java KeyStore”得到“Apple Keychain passwords”
keystore 抽象仅将证书包装在钥匙串(keychain)中。
查看keychain原生 View 的区别(bash cmd):
安全转储 ~/Library/Keychains/login.keychain
与 Java 的钥匙串(keychain) View (bash cmd):
keytool -list -storetype KeychainStore -keystore ~/Library/Keychains/login.keychain
请注意,仅包含证书并且列表较短。
您需要为钥匙串(keychain)使用不同的包装器,以访问其所有功能。
建议:
- github.com/conormcd/osx-keychain-java
- 使用swig制作 JNI 包装器
另请阅读 native 文档:Keychain Services Concepts -- OS X Keychain Services Tasks (见图1-3)
关于java - 如何使用 Java 在 Mac Keychain 中存储用户名/密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6854487/