自动下载并安装根证书
目前我们手动进入url下载根证书。 但是现在需要将其自动化。我正在寻找如何完成这个C#的例子。我想将url作为参数,然后程序必须在后台接管并打开此URL,下载并安装所需的证书,而无需用户执行任何操作,或知道发生了什么。当您手动执行时,没有提示输入用户名和密码,因此该库应该使我能够进行此类调用。自动下载并安装根证书
请给我一些建议做什么,或一些方便的文章,我可以读取让我去?
由于您提供的信息是相当普遍的你如何能实现这一些一般的指针:
下载可以通过WebClient
和/或HttpWebRequest
来实现。
至于安装,你可以做到这一点通过X509Store
连同StoreName.Root
- 有关详细说明和示例源代码看到http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509store.aspx
与任何你喜欢的HTTP请求方法下载。安装它想:
app.ClientCertificates.Add(
new System.Security.Cryptography.X509Certificates.X509Certificate2(
@"c:\Downloads\testcert.pfx", "password"));
在这里看到更多的信息对管理证书:http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.aspx
我不认为他在谈论客户端证书。 –
这里的例子,如何从证书颁发机构
// address - CA address
public static void InstallRootCert(string address)
{
// getting root cert
ICertRequest2 objRequest = new CCertRequest();
string rootCert = objRequest.GetCACertificate(0, address, 0);
byte[] buffer = Encoding.UTF8.GetBytes(rootCert);
// installing
var store = new X509Store("Root", StoreLocation.CurrentUser);
store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadWrite);
var root = new X509Certificate2(buffer);
store.Add(root);
}
嗨获得根证书,感谢您的回复。使用的URL被输入到Internet Explorer中,然后出现一个弹出窗口,询问您是否要保存,下载或取消证书。我想这是自动的,文件应该保存到一些本地的密钥库,并且也安装了。你提出的技术有可能吗? – Harriet
是的 - 不要将URL输入到Internet Explorer中,而只需将URL与“WebClient”或“HttpWebRequest”类一起使用 - 这些可以保存下载的证书文件,然后使用“X509Store”类将其安装到根存储...只需按照我的答案中的链接... – Yahia
谢谢。我正在阅读您现在提供的链接。 – Harriet