Tag: x509certificate

WCF错误:找不到令牌validation器

我需要通过SSL使用WCF服务,而请求需要使用一个证书进行签名,并且响应需要使用另一个证书进行validation。 我在执行代码时遇到此错误: 找不到’System.IdentityModel.Tokens.X509SecurityToken’令牌类型的令牌validation器。 根据当前安全设置,不能接受该类型的令牌。 根据WCF跟踪,它在尝试validation响应签名时失败,因为我可以看到来自服务器的响应。 这是我的WCF服务设置: 正如你所看到的,我尝试了basicHttpBinding和customBinding(使用在线工具http://webservices20.cloudapp.net/default.aspx转换),我试图设置不同的设置组合变体,但仍然会收到此错误。 任何的想法? 取消响应证书签名validation也是一个选项,但我如何设置?

通过代码将X509证书添加到商店

此代码将x509 cer cert文件添加到证书库中(使用System.Security.Cryptography.X509Certificates ): var filename = “Cert.cer”; var cert = new X509Certificate2(filename); var store = new X509Store(StoreName.My, StoreLocation.CurrentUser); store.Open(OpenFlags.ReadWrite); store.Add(cert); 证书的生成地点: makecert -r -pe -sky exchange -n “CN=Blah” Cert.cer -sv Cert.pvk 但是 – 这会将证书添加到当前用户的“个人”证书中 – 如何将证书添加到不同的证书集合中 – 在我的情况下,我想为当前用户添加“受信任的人”证书。 谢谢

从pdf阅读证书

我正在使用ITextSharp从数字签名的pdf文档中读取证书信息。 ITextSharp.Text.Pdf.PdfPKCS7类公开了三个属性: Certificates (列表) SignCertificate (作为单个对象) SignCertificateChain (作为列表) 如何组合这三个属性以获得有关单个证书的所有信息? 我将能够显示所有证书路径(所有嵌套证书)。

如何为多个进程缓存eToken PIN

我有一个.NET(c#)应用程序,它在’my’证书库中使用x509Certificate2,最初来自eToken设备。 当我使用证书(解密数据或将其用作Web请求的clientcert)时,它将要求设备PIN一次。 之后,它被缓存,用户不会每隔xx分钟打扰密码请求。 现在,我有多个进程,都使用证书。 这些过程中的每一个都将请求设备PIN。 (缓存似乎是每个进程)。 这有简单的方法吗? 我可以在某处“缓存”它,以便每个进程都可以访问令牌而无需反复请求PIN吗?

加载X509Certificate结果exceptionCryptographicException“找不到原始签名者”

我试图实例化一个X509Certificate对象,但我继续遇到相同的CryptographicException ,并显示错误消息: “找不到原始签名者”。 我尝试了几种加载证书的方法: // some different things that I have tried var cert = X509Certificate.CreateFromCertFile(certFileName); var cert2 = new X509Certificate(byteArray); var cert3 = new X509Certificate(byteArray, secretString); var cert4 = X509Certificate.CreateFromSignedFile(certFileName); 我已尝试从文件和字节数组加载。 每次我得到同样的错误。 可能是什么导致了这个?

如何创建一个最小的虚拟X509Certificate2?

我是一个.NET应用程序的unit testing; 一些unit testing涉及以编程方式生成X509Certificate2对象。 我不关心实际的签名/私钥/validation的东西,我只想拥有一个在检查其字段时不会抛出exception的对象。 我尝试使用无参数构造函数,但是当访问时,一大堆字段会抛出exception。 如调试器中所示: SubjectName =’(new System.Collections.Generic.Mscorlib_CollectionDebugView(result.Certificates))。Items [0] .SubjectName’抛出类型’System.Security.Cryptography.CryptographicException’的exception 我也尝试在其中传递带有一些随机数的字节数组,但是甚至没有构造(数组是否需要特定的大小?) 那么,问题: 以编程方式生成X509Certificate2对象的最简单(最少代码行)的方法是什么,该对象不会在字段/属性访问时抛出exception?

将X509Certificate2存储在DB中

是否可以将X509Certificate2存储在SQL Server表中而不是从文件系统中提取.p12文件? 我相信你可以,但不知道如何去做。

将X509证书存储在数据库中

为了访问Web服务,我需要一个证书。 我生成了我的证书: openssl genrsa 1024 > private.key openssl req -new -x509 -nodes -sha1 -days 1100 -key private.key > public.cer 然后将这两个合并为一个pfx证书 openssl pkcs12 -in public.cer -inkey private.key -export -out client.pfx 然后将我的pfx文件加载为X509Certificate2 X509Certificate2 clientCert = new X509Certificate2(“cert.pfx”, “password”); 现在,我想在数据库中创建一个包含以下字段的表: PrivateKey NVARCHAR PublicCer NVARCHAR Password NVARCHAR 然后从private.key文件中复制内容,以及—– BEGIN CERTIFICATE —–和—– END CERTIFICATE —–,对于public.cer也是如此,并设置密码。 现在,如何通过从DB读取此数据来获取X509Certificate2的正确实例? 换句话说,如何根据私钥和证书从代码生成pfx文件? 我会尝试更精确: string connectionString; […]

C#中的X509指南/教程

任何人都可以通过C#中的示例向我介绍X509证书的优秀介绍材料。

将证书导出为BASE-64编码的.cer

我试图导出没有私钥的证书,如BASE-64编码文件,与从Windows导出相同。 从Windows导出时,我可以在记事本中打开.cer文件。 当我尝试以下操作并在记事本上打开时,我得到二进制数据……我认为它是……不可读的。 X509Certificate2 cert = new X509Certificate2(“c:\\myCert.pfx”, “test”, X509KeyStorageFlags.Exportable); File.WriteAllBytes(“c:\\testcer.cer”, cert.Export(X509ContentType.Cert)); 我尝试删除’X509KeyStorageFlags.Exportable’,但这不起作用。我错过了什么吗? 编辑 – 我试过了 File.WriteAllText(“c:\\testcer.cer”,Convert.ToBase64String(cert.Export(X509ContentType.Cert))) 然而,这似乎有效,但缺少“—–开始证书—–”和“—–结束证书—–”