如何将certadm.dll导入托管项目并使用RevokeCertificate方法?我尝试将其添加为参考,但出现错误,因为它不是程序集或COM对象。
有任何想法吗?
更新:我已经尝试过regsvr32 c:\ certadm.dll,但出现以下错误:
LoadLibrary(“ c:\ certadm.dll”)失败-找不到指定的过程。
最佳答案
我知道这是一个非常老的问题,但是我找不到在C#中使用ICertAdmin2 :: RevokeCertificate的任何示例。我认为在这里写实例是有用的。
1添加certadmin库
2使用此代码
public static void RevokeCert(string connection,string serial)
{
//connection= "192.168.71.128\\My-CA"
//serial = "614870cd000000000014"
const int CRL_REASON_UNSPECIFIED = 0;
CERTADMINLib.CCertAdmin _admin = null;
try
{
_admin = new CCertAdmin();
_admin.RevokeCertificate(connection, serial, CRL_REASON_UNSPECIFIED, DateTime.Now);
}
finally
{
if (_admin != null)
Marshal.FinalReleaseComObject(_admin);
}
}