问题标签 [certificate-store]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
618 浏览

go - 在 Go 中调用 PFXExportCertStoreEx 不会返回数据

我在 Windows 上使用 Go 1.6 并尝试将证书容器导出到 PFX(这里的最终目标是从证书存储访问可导出的私钥)。

我打开了一个内存存储并将证书插入到存储中:

现在我想生成该商店的 PFX。我已经定义了一个包含数据 blob的结构,并希望使用PFXExportCertStoreEx来获取存储的 PFX:

一半有效。

DataSize填充了看起来合适的值(即,如果我向商店添加更多证书,它会变得更大),Data总是. <nil>

看到它应该用指针填充,我尝试将它声明为*uintptrand uint32(只是看看是否填充了任何东西),但什么也没有。该值始终保持不变(如果我手动将垃圾数据放在那里,垃圾数据会在系统调用执行后保留)。

我是否错误地定义了结构?在 Go 中完成这项工作的示例很少,但从我从众多 C 示例中可以看出,这应该是可行的。

0 投票
1 回答
1624 浏览

python - 如何使用 Python 在 Windows 机器上远程获取安装的证书?

我希望远程查询一些 Windows 机器,并获取它们的证书存储详细信息(安装的证书名称、到期时间和指纹)。我正在使用 Python 2.7。

如何才能做到这一点?pywin32我对orwmi包没有任何运气。

0 投票
1 回答
1673 浏览

python - 如何使用 Python 读取服务器上的所有证书

我在 Python 中有一个证书解析器,它只使用 pyasn1 读取 PEM 格式。但是,我该如何 1. 列出给定 IP 地址的服务器上的所有证书

以便我的解析器可以一一读取它们中的每一个以提取字段?

0 投票
1 回答
1299 浏览

java - Java 客户端证书冲突

我有一个连接到许多外部服务的工作应用程序。我正在添加一个需要客户端身份验证的新 SOAP 客户端。我能够让它工作,但不能不破坏应用程序中的其他东西,所以我真的很困惑发生了什么。一些快速背景:

  1. 我们使用默认的 cacerts 文件,并在那里导入了许多受信任的证书。
  2. 我们创建了一个私钥,从中生成了一个证书请求,取回了一个证书,并创建了一个 p12 文件,其中包含用于客户端身份验证的证书和私钥。
  3. 如果我们将该 p12 文件指定为应用程序的密钥库,那么 SOAP 客户端可以工作:

-Djavax.net.ssl.keyStore="keystore.p12" -Djavax.net.ssl.keyStorePassword="password" -Djavax.net.ssl.keyStoreType="pkcs12"

  1. 如果我们不执行上述操作,而是将其导入 cacerts 文件,则执行以下操作:

keytool -importkeystore -srckeystore keystore.p12 -destkeystore cacerts -srcstoretype pkcs12

这没用!如果我们这样做并在步骤 3 中将 cacerts 指定为密钥库(不包括最后一个 arg,因为它是不同的存储类型,对吗?),它也不起作用

因此,通过第 1-3 步,我们的新集成工作正常,但问题是应用程序中的其他内容现在坏了!之前没有指定其他密钥库(我的理解是它默认为 cacerts 无论如何)。我们现在遇到错误,例如 AWS 的 SES(电子邮件)服务抛出异常,例如:

  • java.lang.RuntimeException:无法实例化 com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient 类的实例
  • com.amazonaws.AmazonClientException:无法访问默认 SSL 上下文
  • java.security.NoSuchAlgorithmException:构造实现时出错(算法:默认,提供者:SunJSSE,类:sun.security.ssl.SSLContextImpl$DefaultSSLContext)
  • java.security.UnrecoverableKeyException:无法恢复密钥

有人可以向我解释造成这种冲突的原因以及如何解决它吗?非常感谢您的帮助!

杰夫

0 投票
1 回答
960 浏览

java - SSL:如何使用连接到同一端口的单独密钥处理多个客户端?

这里的另一个遗留支持问题!
我们有一个服务器多客户端网络,其中每个组件都有一个自签名证书,并被添加到服务器/客户端的信任库中。我们在这里没有使用证书颁发机构。
现在我们的问题是我们需要升级所有证书以获得更好的安全性。新的客户端将带有更新的证书,甚至服务器也将拥有新的证书。
我们的问题是如何处理老客户。升级老客户的密钥库是最后的手段。

不起作用的事情:

  1. 在服务器信任库中添加新旧证书:即使客户端正在对服务器进行身份验证,服务器证书也不会出现在客户端信任库中。

  2. 为新客户端使用新端口:我们考虑为新客户端使用新端口并为旧客户端继续使用旧端口,但问题是有多个应用程序面临这个问题,因此我们必须搜索多个新端口不被其他产品使用。

FWIW:服务器使用 Java,客户端使用 C++

在 EJP 的回答之后编辑
我可能在这里问了一个非常愚蠢的问题,但只是想确定一下。绑定后,绝对无法编辑套接字的 SSL 上下文。正确的?
另外,我们可以选择握手期间使用的服务器证书吗?我知道chooseClientAlias()chooseServerAlias()方法,但是在发送客户端 Hello 消息之前,我们不知道要使用哪个证书。

0 投票
3 回答
3585 浏览

c# - 为 RSACryptoServiceProvider 使用来自商店的证书

我对商店的证书有疑问。在我的应用程序中,用户可以使用文件中的证书或商店中的证书。加载证书后,我将证书用于签名数据。

使用文件中的证书是可以的,但我不能使用商店中的等效证书。

标志代码:

从文件中读取证书的代码:

从商店读取证书的代码。从商店加载证书后,我无法签署数据:

我没有使用证书的经验。但我需要等效于从商店获取证书以进行签名。

在 ExportParameters(true) 上引发 System.Security.Cryptography.CryptographicException。异常的附加信息:密钥在指定状态下无效。

谢谢。

0 投票
0 回答
249 浏览

c# - 无法使用 C# 代码访问构建服务器上已安装的证书

无法使用C#代码访问证书。证书已安装在构建服务器上。我正在使用以下代码访问证书,这在我的情况下不起作用:

col 计数返回为 0。当X509Certificate2Collection我在构建服务器上调试代码时,我能够检索证书。但无法从本地机器中检索相同的内容。

StackTrace@ col.Count:

谢谢

0 投票
0 回答
47 浏览

windows - 如何更改应用程序从 Windows 上的证书存储中检索证书的方式?

我的任务是开发一种方法来改变应用程序检索证书的方式。

更准确地说:为浏览器提供替代方法来检索证书以用作 SLL 连接上的客户端证书,而不是让它们从证书存储中读取。

我在 windows API 上找到了 Crypto 工具,以及它提供的允许应用程序读取证书存储的工具。我目前的猜测是,这将不得不涉及更改系统的 DLL,并且没有简化的方法来实现我的目标。

0 投票
0 回答
1518 浏览

c# - X509Store Certificates.Find() 间歇性找不到证书

我有一个使用私有证书调用另一个服务的 MVC Web 应用程序的问题。

该证书位于我的个人密钥库中,针对当前计算机 - 我曾经winhttpcertcfg将证书权限授予我的 Web 应用程序的应用程序池标识。通过以下方法加载密钥;

这段代码每次都有效,直到几周前(4 月 12 日),在 17:05,我注意到 ELMAH 中第一个实例抛出了“无法找到证书”异常。检查应用程序日志,系统仍在处理几乎所有请求,但在某些请求上每小时仅出现几次此错误。

我已经阅读了类似的问题,这些问题建议实现类似于我已经使用的代码(查询多个商店)的代码。Windows 证书存储是否存在某种已知问题?也许是锁定问题?有没有另一种方法来解决这个问题或者我在这里做错了什么?

您可以提供的任何帮助将不胜感激,因为我已经没有什么可以尝试了!

0 投票
1 回答
5412 浏览

rest - 使用 Windows 商店证书的 Powershell Invoke-RestMethod 调用(基本授权?)

我想从托管远程证书的 Windows 服务器调用远程 Rest Web 服务。我已从远程服务器导出证书并将其添加到 Windwos 商店。(/个人/myCert)

我想在 Invoke-RestMethod PowerShell 命令上使用它。下面是我尝试过的代码

带有命令的三行Invoke-RestMethod分别失败:

  • 错误的标题(这是意料之中的,但我试了一下)
  • 授权为空或方案不是基本的
  • 找不到证书指纹

我已经接听了其余的电话,@{"AUTHORIZATION"="Basic Base64Encode(user:pass)"}所以我可以告诉服务正在应答,但我不想在我的脚本中使用 user:pass。

我想使用已添加到 Windows 应用商店的证书。我想知道两件事:

  • “基本”授权方案是否适合与证书一起使用?
  • 在 powershell 中,如何使用运行 Invoke-RestMethod 命令的本地 Windows 商店的证书?

谢谢您的帮助