问题标签 [x509certificate2]

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 回答
7564 浏览

c# - 为什么 X509Certificate2 有时无法从 blob 创建?

我有一个 ASP.NET Web 服务,它正在接收一个字节数组,该数组表示.pfx包含 X.509 证书的文件的内容。服务器端代码使用System.Security.Cryptography.X509Certificate2构造函数从字节加载证书:

根据我的服务进程以谁的身份运行,此调用要么成功,要么因“内部错误”异常而失败。异常堆栈上的最后一次调用是 to X509Utils._LoadCertFromBlob,它是mscore.dll.

此代码在使用服务帐户凭据在交互式登录中从控制台应用程序运行时成功。w3wp.exe在使用服务帐户凭据的应用程序池中运行时,它会失败。将应用程序池身份更改为管理员可以解决问题,因此它一定是权限问题,但我不知道为此可能需要什么权限。该代码不涉及文件系统或 Windows 证书存储。

[更新:更多信息]
此错误出现在 Windows 事件日志中:

有任何想法吗?

0 投票
1 回答
16278 浏览

c# - 如何从 C# 中的文件/流中读取 Pkcs#7 证书链?

我有两个保存到磁盘的证书。一个是我导出为 .pfx 文件的带有私钥的证书,另一个是我保存的证书,包括其证书链作为 PKCS#7 文件(“certchain.p7b”)。

在 C# 中,我现在可以加载 .pfx 文件

(myPfxFileStream 是FileStream对 .pfx 文件的打开以供读取),但是在“Der Indexwert ist ungültig”中尝试使用 PKCs#7 证书进行相同操作会失败,CryptoGraphicException这会转换为“无效的索引值”。

我假设我必须以不同的方式解析 PKCS#7(它包含一个链,而不是一个证书!),但是如何?

(哦,顺便说一句:目前我在这些证书上没有密码)

0 投票
7 回答
19001 浏览

pki - 国防部通用访问卡 (CAC) 身份验证

我已经弄清楚了在 Apache 中获得基于 DOD CAC 卡的客户端证书身份验证的所有必要步骤,但现在我正在努力从我收到的证书中为用户提取一个好的 GUID。证书上是否有可用的 GUID 在 CAC 卡更新时不会更改?我正在考虑使用看起来像这样的 SSL_CLIENT_S_DN:

/C=US/O=美国政府/OU=DoD/OU=PKI/OU=CONTRACTOR/CN=LAST_NAME.FIRST_NAME.MIDDLE_NAME.0123456789

但是我听说更新CAC卡时末尾的数字会改变。这是真的?是否有更好的信息可用于 GUID?我还想获取用户的电子邮件地址,但在我从证书收到的信息中看不到它。电子邮件地址是否在我没有看到的某些自定义扩展中可用?

谢谢!

0 投票
2 回答
8778 浏览

ruby - OpenSSL 验证来自自己 CA 的证书

大家好,感谢您花时间阅读本文。

我需要验证我自己的 CA 颁发的证书,我有证书。我怎样才能做相当于openssl的

openssl 验证 -CAfile

在 Ruby 代码中?OpenSSL 的 RDoc 在这方面不是很有帮助。我试过了:

但我得到:

我什至无法在 http://www.ruby-doc.org/stdlib/libdoc/openssl/rdoc/index.html的 OpenSSL Rdoc 中找到“验证” 。

任何帮助表示赞赏。再次感谢!

0 投票
3 回答
1556 浏览

.net - 在 .NET 中为客户端应用程序创建证书

我正在寻找一个服务器应用程序,以使用自签名根为客户端应用程序定期生成证书。.NET 中是否有任何简化的流程以编程方式生成这些证书?

当然,我可以继续生成 makecert 或 openssl,但是当您在输出时获得 X509Certificate 时,我一直在寻找更多程序化的内存方法。

如果有人有代码片段,你能分享一下吗?

0 投票
4 回答
22812 浏览

c# - 从 httprequest C# 读取客户端证书

我正在尝试使用 Request.ClientCertificate 读取 X509 证书,但没有返回任何内容。证书肯定附加到请求中,因为我可以从发送请求的页面获取证书信息。

我曾尝试从几个不同的地方阅读证书,但似乎无法让它发挥作用。

我从这篇知识库文章中的代码开始。在请求的页面中,我尝试打印出有关证书的一些信息,但响应中没有返回任何内容。

这是在 IIS 5.1 上运行的,并且通过 SSL 进行通信。这必须使用 .Net 框架的第 2 版来完成

为什么证书似乎消失了?

0 投票
3 回答
24663 浏览

c# - 导出没有私钥的 X.509 证书

我认为这很简单,但显然不是。我安装了一个证书,该证书具有一个可导出的私钥,并且我想仅使用公钥以编程方式将其导出。换句话说,当通过 certmgr 导出并导出到 .CER 时,我想要一个等同于选择“不导出私钥”的结果。

似乎所有 X509Certificate2.Export 方法都将导出私钥(如果存在),如 PKCS #12,这与我想要的相反。

有什么方法可以使用 C# 来实现这一点,还是我需要开始深入研究 CAPICOM?

0 投票
2 回答
26953 浏览

c# - 如何在 Web 服务中获取客户端发送的 X509Certificate?

显然我在之前的帖子中问了错误的问题。我有一个使用 X.509 证书保护的 Web 服务,作为安全网站 ( https://... ) 运行。我想使用公司根 CA 颁发的客户端机器证书(也是 X.509)向服务器验证客户端机器是否有权使用该服务。为此,我需要检查证书并寻找一些识别特征并将其与存储在数据库中的值(可能是指纹?)相匹配。

这是我用来从本地证书存储区获取证书的代码(直接来自http://msdn.microsoft.com/en-us/magazine/cc163454.aspx):

然后,我将证书附加到出站流中:

我的问题是——我如何“获取”网络服务代码中的证书?我遇到的大多数示例代码片段都涵盖了如何进行自定义验证,其中有一个 GetCertificate() 调用,显然假设这部分很容易每个人都应该知道怎么做?

我的主类继承自 WebService,所以我可以使用 Context.Request.ClientCertificate 来获取证书,但那是 HttpClientCertificate,而不是 X509Certificate2。HttpContext 给了我同样的结果。其他方式都是使用web配置代码调用预定义的验证码,不知道如何调用自定义的C#方法进行验证。

0 投票
1 回答
984 浏览

.net - 如何从任意 HTTPS URL 获取 X509Certificate?

我正在使用HttpWebRequest从任意 HTTPS URL 中提取页面。除了实际的页面结果之外,我还想为X509Certificate2我刚刚与之交谈的远程服务器获取一个实例。我确定公共证书在某处的计算机上,因为它的链必须作为请求的一部分进行验证。我怎样才能访问它?

另外,如何确保 SSL 通道中使用的密码套件不仅仅是空密码套件?我需要确保真正发生了体面的加密。

0 投票
1 回答
18278 浏览

pki - C# 以 pfx 格式导出证书

NET 将证书从证书存储区导出到PFX文件中。我正在尝试使用设置X509certificate2.Export了标志的方法X509ContentType.Pfx,但不确定如何处理返回的字节数组并将其正确输出到文件。

任何帮助表示赞赏。