[英]Accessing keystore certificates in Java
我正在开发一个Java小程序,用于在Web浏览器中唱歌PDF文档。 该小程序必须能够与Windows和Mac OS一起使用。 小程序将在用户的计算机上显示已安装证书的列表,并允许用户选择其中一个进行签名。
example working with certificates in Java for Mac OS. 我发现的例子如何读取使用的“Windows-MY”标识从Windows密钥库证书,但我找不到例子在Java证书用于Mac OS工作。 如何在Mac上的密钥库中读取证书列表?
我是Java编程的新手(主要是.NET Web开发人员),也许我错过了一些东西。 感谢您的任何帮助。
在此处进行记录: Java密码体系结构JDK 8的Oracle提供程序文档
您应该阅读整个页面,但问题的相关部分在底部:
Apple提供程序实现了java.security.KeyStore,它提供了对Mac OS X钥匙串的访问。 Apple提供程序中提供了以下算法:
引擎:密钥库
算法名称:KeychainStore
因此,换句话说:通过使用名称“ KeychainStore ”获得Mac OS X钥匙串的KeyStore对象:
KeyStore ks = KeyStore.getInstance("KeychainStore");
之后,它与其他所有密钥库类型基本相同。 例如,列出所有证书及其别名:
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());
}
顺便说一句,浏览器供应商和甲骨文正在逐步淘汰小应用程序的浏览器插件。 Java Web Start可能是替代方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.