问题标签 [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 投票
1 回答
62 浏览

certificate-store - Azure Web 应用程序的证书位置

我有一个 MVC Web 应用程序,可以在本地计算机上运行时找到证书。一切正常。

尝试在 Azure 上部署是出现问题的地方。

我在 azure 上有一个 webapp,我发布了,所有不需要证书的东西都可以正常工作。

在我的代码中,我有 CertificateStore = "My" 和 CeritifaceteStoreLocation = "LocalMachine"

我确定这是问题所在,但我不知道解决方案。

在 Azure 门户的 Webapp 配置部分下,证书就在那里。

(我正在尝试通过指纹找到它)

有什么想法吗?

TIA

0 投票
1 回答
1419 浏览

c# - 证书存储 Windows 10 C#

我问这个是因为我很绝望,而且我在任何地方都找不到任何谈论这个问题的帖子。

在我的 WinForms C# 应用程序中,我使用以下代码检索 Windows 证书:

从 Windows XP 到 Windows 8.1,这在每个 Windows 版本上都非常有效。在 Windows 10 中,它可以在第一次尝试时运行。如果我再做一次,它会卡住等待。

我试图实现一个 60 秒的“超时计时器”:提供的一段代码只是超时了。

如果用户从 PC 中取出包含证书的 USB 密钥(或智能卡)并重新插入,问题就解决了。

有没有人对此行为有解决方案?我很绝望,我升级到 Windows 10 的客户对我很生气,我不知道该怎么办。

0 投票
2 回答
752 浏览

django - 拒绝访问 django 应用程序中的 Windows 证书存储

我到处搜索,但似乎这只是我的问题,或者其他所有人都在使用我不想要的旁路。所以我被拒绝访问 Windows 证书存储。当我从 python cmd 访问时,一切正常。我在 IIS 中的站点设置为管理员凭据,并且应用程序目录也具有管理员权限。堆栈上有类似的问题,我已经调查过了,但我的情况似乎不同,出于明显的原因,我不想使用未经验证的上下文。

我被卡住了,不明白发生了什么。有什么帮助吗?

(Windows 服务器 2012 r2、django 1.8、python 2.7.9、IIS 8.5)

0 投票
2 回答
156 浏览

java - 可以使用 SunMSCAPI 访问 MY 商店中的 LocalMachine 证书吗?

是否有 Oracle 参考明确指出您无法使用 SunMSCAPI 提供程序访问 MY 商店中的 LocalMachine 证书?

谢谢,伯特

0 投票
4 回答
23611 浏览

java - 通过 Java 访问 Windows 证书存储区证书?

我正在寻找可以在 CurrentUser/My 和 LocalMachine/My 中枚举和使用(签名)证书的东西,但我无法找到 Windows 证书存储区的任何东西,只有 Java 自己的秘密存储区。 这个链接看起来很有希望,但我只能使用 Java 附带的内容。

我发现这个问题以前在 SO 上问过,但它是从五年前开始的,这在计算机时代已经很长一段时间了。谢谢!

0 投票
1 回答
8113 浏览

java - 正在使用哪个cacert?

我有一个来自供应商的示例命令行 java 应用程序;它取决于 SSL 身份验证。我有供应商的证书,我可以在我的 java 7 cacerts 文件(windows,c:\program files\java\jdk1.7.0_07\jre\lib\security\cacerts)中看到它们。如果我打开 java 8 cacerts 文件,它们不存在(c:\program files\java\jre1.8.0_66\lib\security\cacerts)

如果我设置一个路径以便首先使用 java 8,则程序可以工作。如果我更改路径以便首先使用 java 7,则程序将失败并出现认证错误:

这与我的预期完全相反——Java 7 文件夹中的 cacerts 文件具有供应商证书链,而 java 8 则没有。然而,在 Java 7 上运行该程序失败并出现认证错误,并且在 8 上运行它成功。

谁能告诉我应该寻找什么来解释这一点?

0 投票
0 回答
2747 浏览

ssl - SSL 连接、Windows 证书存储和 CAPI 引擎

我正在SSL使用 OpenSSL API 创建连接。正如我们所知,在 SSL 握手中,服务器或客户端会发生一系列证书身份验证。现在对于客户端证书身份验证,客户端的证书和相关的私钥存储在Windows Certificate Store.

此证书private key在将它们组合成pfx格式后导入到存储中,然后将该pfx文件导入到 windows 证书存储中。现在,当使用管理单元导入此 pfx 文件mmc时,它会询问我们是否要制作私钥exportable。现在 OpenSSL 出现在图片中,用于建立 SSL 连接。

为此,我们必须创建SSL_CTX加载所有连接相关属性的对象。现在,为了将 Windows 证书存储中的私钥加载到SSL_CTX对象中,我已经标记了exportable我正在使用的导出密钥的私钥Crypto API。但我认为将私钥标记为可导出没有任何意义,这是一种安全漏洞。

由于私钥将始终如此标记Non-Exportable,是否有任何 OpenSSL 的方法或 API 等可以直接从 Windows 证书存储读取私钥并将其加载到 SST_CTX 对象中以进行 SSL 连接。

我知道肯定有某种方法可以使它起作用,但我不明白。我为此搜索了很多,但没有得到所需的东西。

总结性问题:证书存储拥有许多证书和相关的私钥。建立 SSL 连接时如何访问证书和私钥?

编辑:我已经通过了一个名为的 openssl 引擎 API

现在我怎样才能得到这个key_id私钥,而且我认为这个 api 在内部称为加密 api CryptExportKey,如果私钥被标记,这个 api 会失败non-exportable

0 投票
1 回答
234 浏览

c - wincrypt 中弃用的函数

一个功能,特别CryptExportPKCS8是被弃用是什么意思? https://msdn.microsoft.com/en-us/library/windows/desktop/aa379932(v=vs.85).aspx

我知道人们不能将它与较新版本一起使用,wincrypt只是因为它不存在于头文件中,但是基于旧的程序仍然可以wincrypt.hcrypt32.libWindows 10 的证书存储中检索私钥吗?或者如果不使用更新的 API 就不可能访问这些数据?

0 投票
0 回答
598 浏览

cryptoapi - CertFindCertificateInStore 因 Oject 或未找到属性而失败

实际上我正在根据通用名称搜索证书。为此,我们已经做到了:-

// Find the certificate context if (pCertContext = CertFindCertificateInStore(hCertStore, X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 0, CERT_FIND_SUBJECT_ATTR, &certRDN, NULL))

我的商店包含具有给定通用名称的所需证书,但它不是由 api 定位的,它返回 null。

无法找到问题。

0 投票
1 回答
943 浏览

c# - 尝试实例化新的 RSACryptoServiceProvider 时出现“密钥集不存在”

我正在尝试自动部署证书,包括管理私钥的权限。使用这个问题,我拼凑了一些应该更新证书权限的代码:

在读取的行上using (var rsa2 = new RSACryptoServiceProvider(cspParams))(新的加密提供程序被实例化以保持新的访问规则),我得到一个CryptographicException "Keyset does not exist"

我从经验中知道,这通常意味着当前的安全上下文没有访问主键的权限。为了解决这种可能性,我做了以下事情:

  1. System.Security.Principal.WindowsIdentity.GetCurrent()在“立即”窗口中找出当前用户的状态
  2. 确保该用户在 MMC 管理单元中对证书具有完全控制权限(并仔细检查我正在查看它的正确存储)
  3. 授予Everyone用户完全控制权。
  4. 尝试使用和不使用 KeyPassword 创建 CspParameters 对象(您可以在那里看到它的评论)。

我没主意了。该证书是伪造的自签名测试证书,因此与链中的其他证书缺少权限无关。任何帮助,将不胜感激。

更新:

我已经能够通过在此步骤之前修改一些用于安装证书的标志来执行此代码。现在,代码显然成功执行了,但我在 MMC 中看不到任何可见的效果。