如何在linux上使用java读取浏览器证书?通过使用keyStore.getInstance(“xyz”)
我正在尝试使用代码读取已安装的证书如何在linux上使用java读取浏览器证书?通过使用keyStore.getInstance(“xyz”),java,Java,我正在尝试使用代码读取已安装的证书 KeyStore ks = KeyStore.getInstance("Windows-MY") ks.load(null, null) Enumeration<String> enumeration = ks.aliases() while (enumeration.hasMoreElements()) { String string = (String) enumeration.nextElement() Sys
KeyStore ks = KeyStore.getInstance("Windows-MY")
ks.load(null, null)
Enumeration<String> enumeration = ks.aliases()
while (enumeration.hasMoreElements()) {
String string = (String) enumeration.nextElement()
System.out.println(string)
}
KeyStore ks=KeyStore.getInstance(“Windows MY”)
ks.load(null,null)
枚举=ks.aliases()
while(枚举.hasMoreElements()){
String=(String)枚举.nextElement()
System.out.println(字符串)
}
这段代码列出了windows上安装的证书,但linux上没有?还尝试更改密钥库提供程序 我不知道你说的“阅读浏览器证书”是什么意思。
您正在尝试从默认Java密钥库读取证书吗?你的目标是什么 getInstance(..)实例化具有特定类型(例如JKS)的密钥库。当您想要读取特定密钥库时,需要指定密钥库的路径并使密钥库实例加载该文件 有关示例和更多详细信息,请参见 编辑:澄清问题后更新答案 有关在Linux中读取浏览器密钥库的更多信息,请访问:
尝试使用NSS的
libsoftokn3.so
见我的答案,“方法1”
关键是找到libsoftokn3.so的位置,并将其用作libfile来构造配置文件,然后是密钥库。您可以获得默认类型。 请尝试下面的代码
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
您试图在命令行/服务器应用程序或小程序中读取证书吗?在小程序中。谢谢@Bert Jan Schrijveralright,你的用例是什么?为什么您需要访问已安装的证书?用于数字签名登录身份验证。对于我的应用程序。你找到解决方案了吗?我的问题是,我想列出用户在linux系统上安装的证书。没有具体的证书详细信息。我已经编辑了我的帖子,请检查一下。谢谢@bert jan