Mar*_*cik 1 java applet sign keystore
我正在开发一个 Java 小程序,用于在 Web 浏览器中播放 PDF 文档。小程序需要能够与 Windows 和 Mac OS 一起使用。小程序将显示用户计算机上已安装证书的列表,并让用户选择其中一个进行签名。
我找到了如何使用“Windows-MY”标识符从 Windows 密钥库读取证书的示例,但我找不到任何使用 Java for Mac OS 证书的示例。如何从 Mac 上的密钥库读取证书列表?
我是 Java 编程的新手(主要是 .NET Web 开发人员),也许我错过了一些东西。感谢您的任何帮助。
这在此处记录:Java Cryptography Architecture Oracle Providers Documentation for JDK 8
您应该阅读整个页面,但与您的问题相关的部分在底部:
Apple 提供程序实现了一个 java.security.KeyStore,它提供了对 Mac OS X Keychain 的访问。Apple 供应商提供以下算法:
引擎:KeyStore
算法名称:KeychainStore
因此,换句话说:您通过使用名称“ KeychainStore ”获得 Mac OS X 钥匙串的 KeyStore 对象:
KeyStore ks = KeyStore.getInstance("KeychainStore");
Run Code Online (Sandbox Code Playgroud)
之后,它与其他所有密钥库类型基本相同。例如,列出所有证书及其别名:
ks.load(null, null);
Enumeration<String> en = ks.aliases();
while (en.hasMoreElements()) {
String aliasKey = en.nextElement();
X509Certificate c = (X509Certificate) ks.getCertificate(aliasKey);
System.out.println("alias: " + aliasKey);
System.out.println("cert:" + c.getSubjectX500Principal().toString());
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,浏览器供应商和 Oracle 正在逐步淘汰小程序的浏览器插件。Java Web Start 可能是另一种选择。
| 归档时间: |
|
| 查看次数: |
1747 次 |
| 最近记录: |