C# 如何用c查询MS证书颁发机构服务器#
我正在尝试用c查询ca# 我需要做两件事:C# 如何用c查询MS证书颁发机构服务器#,c#,certificate,smartcard,x509certificate2,ca,C#,Certificate,Smartcard,X509certificate2,Ca,我正在尝试用c查询ca# 我需要做两件事: 获取已颁发证书的列表并对其进行迭代 获取crl或已吊销证书的列表,并对其进行迭代 我找不到任何api来执行此操作 我尝试通过Active Directory查询certificated,但缺少一些属性 我还尝试通过Microsoft.Clm.Provision Api进行查询,但也没有成功 有什么想法吗 用于通过Active Directory查询的Exmaple DirectoryEntry de = new DirectoryEntry("
DirectoryEntry de = new DirectoryEntry("LDAP://xxxx", "xxxx\\administrator", "yyyyyy");
DirectorySearcher dsearch = new DirectorySearcher(de);
SearchResultCollection rc = dsearch.FindAll();
X509Certificate[] stt = new X509Certificate[rc.Count];
List<X509Certificate2> certificatesList = new List<X509Certificate2> { };
foreach (SearchResult r in rc)
{
if (r.Properties.Contains("userCertificate"))
{
Byte[] b = (Byte[])r.Properties["userCertificate"][0];
cert1 = new X509Certificate2(b);
}
}
DirectoryEntry de=newdirectoryEntry(“LDAP://xxxx”、“xxxx\\administrator”、“yyyyy”);
DirectorySearch dsearch=新的DirectorySearch(de);
SearchResultCollection rc=dsearch.FindAll();
X509Certificate[]stt=新的X509Certificate[rc.Count];
列表证书列表=新列表{};
foreach(rc中的搜索结果r)
{
if(r.Properties.Contains(“用户证书”))
{
字节[]b=(字节[])r.Properties[“用户证书”][0];
cert1=新的X509Certificate2(b);
}
}
你必须使用ICEtVIEW COM接口:我也看到了ICertView,但是所有的例子都是C++的,所以我假设这对C是不可用的,在C语言中找不到它,C也可用。只需创建一个CertAdmin
interop库(将COM定义翻译为CLR)并在项目中引用该库即可。感谢您的回复,对不起,这是我的中文:)