草庐IT

CA证书

全部标签

c# - 如何验证证书是由特定证书颁发机构创建的?

我有一个Windows证书颁发机构,我正在使用它通过.net/c#颁发客户端身份验证证书。通过COM调用证书颁发机构的API,我已经能够成功地让它以编程方式颁发证书。我在设置客户端时颁发新证书。在运行时,这些客户端将证书附加到对我的服务器的请求中。如何以编程方式验证X509Certificate2是否由我的证书颁发机构的根证书签署(并拒绝任何其他来源签署的证书)? 最佳答案 我已经做了很多。这里有一些您可以使用的简单代码。if(!isChainValid)block中的部分是生成一条漂亮的错误消息。如果你不想,你不必使用它,但如果无

c# - 在读卡器当前的智能卡上找到证书

我正在使用VisualStudio2013(C#)使用来自智能卡的证书对文档进行数字签名。我无法识别当前插入读卡器中的证书:(Windows从读卡器中插入的所有卡中复制证书并将其保存在商店中。我现在只想在读卡器中使用卡片。我使用的代码是publicstaticbyte[]Sign(StreaminData,stringcertSubject){//AccessPersonal(MY)certificatestoreofcurrentuserX509Storemy=newX509Store(StoreName.My,StoreLocation.CurrentUser);my.Open(O

C#/.NET - 如何在我的应用程序中允许 HTTPS 的 "custom"Root-CA(仅)?

好的,这是我需要做的:我的应用程序是用C#(.NETFramework4.5)编写的,需要通过HTTPS与我们的服务器通信。我们的服务器使用我们自己的Root-CA颁发的TLS/SSL证书。该Root-CA虽然完全受我的应用程序信任,但未安装在系统的“受信任的根”证书库中。因此,如果没有进一步的工作,C#将拒绝联系服务器,因为无法验证服务器的证书-正如预期的那样。注意:我们不能使用系统中已经安装的Root-CA。我该怎么做才能让我的应用程序(安全地)联系我们的服务器?我知道C#提供了将我们的Root-CA证书作为“受信任的根”安装到系统证书库中的类。这不是我们想要做的!那是因为(a)它

c# - 如何从商店中干净地删除证书

您可以使用certmgr.msc中的向导将证书安装到证书存储中(右键单击安装)?有谁知道如何使用向导/代码(首选)/脚本“干净地”删除所有证书?我希望能够从LocalMachine和/或CurrentUserStore中删除所有内容(我之前安装的)而不留下任何残留物。谢谢 最佳答案 您可以尝试使用X509Store和.NetFramework中的相关类从证书存储中删除证书。以下代码示例从当前用户的我的商店中删除证书://Useotherstorelocationsifyourcertificateisnotinthecurrentu

c# - "Bad key"带有可导出私钥的证书异常

我正在尝试使用非对称加密对文件进行加密和解密。我已经使用makecert创建了一个测试证书并将其安装到我的个人本地机器商店中。将来我必须在多台服务器上安装此证书,这就是我使用“-pe”标志创建它的原因,即使用可导出的私钥。证书已成功创建和安装,我在mmc中看到“您有一个与此证书相对应的私钥”提示。现在我正尝试在.NET3.5中使用RSACryptoServiceProvider加密数据。它成功了。但是当我试图解密它时,出现“Badkey”异常。如果我创建的证书没有“-pe”选项,则相同的代码可以很好地解密。这是代码:RSArsaKey=(RSA)myCertificate.Privat

c# - 以编程方式将证书导入 IIS?

我有SSL的.pem证书,我想将它与我的Web应用程序一起分发到MSI中(必须在客户端的计算机上运行)。然后我需要将其导入(导入某些凭据存储区?)并告诉我的站点绑定(bind)使用它。但是我怎样才能在代码中做到这一点呢?我发现了Microsoft.Web.Administration,但不确定从那里去哪里......顺便说一句,这是在IIS7中。编辑:这里的目标是拥有一个客户可以在其内部网上运行的Web应用程序。它主要充当iPhone应用程序的API。(也许这不是最好的设计,但我们现在已经确定了。)所以客户安装了MSI,瞧,他们有一个Web服务。现在需要在iPhone和web服务之间进

c# - 从方法返回一次性对象时出现 CA2000

我有一个工厂方法可以构建实现IDisposable的对象。最终是调用者管理所创建对象的生命周期。这个设计触发了一堆CA2000errors.我的设计中是否存在根本性错误,是否需要重构,或者只是对静态代码分析警告过于兴奋?工厂方法publicstaticDisposableTypeBuildTheDisposableType(stringparam1,intparam2){vartheDisposable=newDisposableType();//DosomeworktosetuptheDisposablereturntheDisposable}来电者using(vardt=Facto

c# - HttpClient 的多个证书

我正在构建一个WindowsPhone8.1应用程序,它允许Azure用户使用Azure服务管理API查看他们的订阅/服务。身份验证是使用管理证书完成的,证书附加到对API的所有请求。它适用于单个用户。但是当我尝试包含多个订阅的功能时,问题就出现了。我能够在证书存储中安装证书并检索它。但是当我向API发送请求时,问题就出现了。即使我附加了正确的证书,我也会收到403forbidden错误。这是我使用的代码。publicasyncTaskGetCertificate(){awaitCertificateEnrollmentManager.ImportPfxDataAsync(Certif

c# - CA2213 代码分析规则和自动实现的属性

我在我们的项目中使用静态代码分析来检查代码违规情况。广泛使用的规则之一是CA2213,它检查一次性字段的正确处理。我注意到CA2213不检查自动实现属性的处理。此外,如果类继承自实现IDisposable的类且未重写Dispose方法,则CA2213既不检查字段也不检查自动实现的属性的处置。实例:publicsealedclassGood:IDisposable{privateFontfont;publicFontFont{get{returnfont;}set{font=value;}}publicGood(){font=newFont("Arial",9);}publicvoidD

c# - 当 SMTP 服务器具有有效证书时获取 "The remote certificate is invalid according to the validation procedure"

这似乎是一个常见错误,但虽然我找到了解决方法(见下文),但我无法确定我首先遇到它的原因。我正在将SMTP功能写入我们的应用程序,并且我正在尝试将SSL功能添加到我们已有的工作SMTP中。我正在使用我们公司的MSExchange服务器进行测试,特别是在该服务器上启用的网络邮件选项。通过不验证我的连接并匿名发送,我可以通过我的代码在内部发送电子邮件,但是由于我们公司的政策,这些电子邮件不会转发到外部电子邮件地址。除此之外,我正在为我们的客户编程,他们并不都允许开放中继和/或匿名连接。我相信Exchange服务器正在使用显式SSL/TLS。我已经尝试在端口25上通过telnet连接到服务器的