我想写一些可以枚举和使用(签名)证书在货币用户/我和LocalMachine/我,但我还没有能够找到任何Windows证书存储,只有Java自己的秘密存储。这个链接看起来很有希望,但我只能使用Java。
我以前在SO上发现过这个问题,但这是五年前的问题,在计算机时代是很长的时间了。谢谢!
KeyStore keyStore = KeyStore.getInstance(getKeyStoreType(), "SunMSCAPI");
keyStore.load(null, null);
try {
Field field = keyStore.getClass().getDeclaredField("keyStoreSpi");
field.setAccessible(true);
KeyStoreSpi keyStoreVeritable = (KeyStoreSpi)field.get(keyStore);
field = keyStoreVeritable.getClass().getEnclosingClass().getDeclaredField("entries");
field.setAccessible(true);
} catch (Exception e) {
LOGGER.log(Level.SEVERE, "Set accessible keyStoreSpi problem", e);
}
Enumeration enumeration = keyStore.aliases();
Java的跨平台特性有其自身的缺点——没有外部库,您无法访问某些(或许多)特定于操作系统的内容。Windows证书存储只能通过CryptoAPI本机函数访问,Java默认安装不支持这些函数。
你可以看看这个线程:从Java调用Win32 API方法
如果可以使用JNA,那么可以在crypt32中使用各种证书和证书存储函数。dll来枚举证书并执行签名操作。
从-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT
开始Java。
看见https://www.oracle.com/technical-resources/articles/javase/security.html了解更多信息。
问题内容: 我找到了一种方法来访问Jenkins中的凭据存储区: 但是现在我想获取我不能做的适当用户的密码… 我总是得到未知的方法等,如果我尝试访问passord等。 这样做的原因是使用此用户/密码来调用git并从存储库中提取信息。 我总是得到这样的东西: 在尝试了更多(以及Jeanne Boyarsky的暗示)之后,我发现我正在考虑编译。以下内容已为我提供了用户密码: 此外,通过使用以下代码片段
我已经尝试了各种方法,通过导入一个基于BouncyCastle的X509Certificate实例和相关的私钥(RsaPrivateCrtKeyParameters)。NET X509Certificate2一个RSACryptServiceProvider实例,并将其保存到证书存储区(NET的X509Store,My/CurrentUser)。 在证书存储MMC管理单元中,似乎有一个与证书相关联
null 有什么想法吗?我一筹莫展...任何帮助都将不胜感激。
如何生成新证书并将其添加到VS?我对Gitlab没有任何经验。
问题内容: 在Linux中是否有固定或已知的位置用于存储证书(例如Windows证书存储区)? 谢谢。 问题答案: 是的,对于系统证书,请使用 和 对于用户SSH密钥,请使用用户的主文件夹,该文件夹位于名为.ssh的隐藏文件夹中。 要么 对于apache之类的网络服务器,您可以覆盖在httpd.conf中找到的证书的默认位置。
目前,我在我的用户目录中的中有以下条目。 这将设置与git服务器交互时使用的证书(我公司的git服务器需要)。 但现在我无法克隆其他存储库(例如GitHub上的公共存储库),因为客户端总是使用配置好的证书,而该证书会被其他服务器拒绝。 我如何规避此认证问题?我可以将Git配置为使用Windows证书存储进行身份验证吗?