吊销证书在C#与ICertAdmin2 :: RevokeCertificate方法(Revokin

2019-09-22 03:21发布

如何导入certadm.dll到管理的项目和使用方法RevokeCertificate? 我试图将其作为参考,但我得到了错误asying它不是集或COM对象。

有任何想法吗?

更新:我已经尝试过REGSVR32 C:\ certadm.dll,我得到以下错误: 调用LoadLibrary(“C:\ certadm.dll”)失败-指定的程序无法找到。

Answer 1:

我知道这是很老的问题,但我不能找到在C#中使用ICertAdmin2 :: RevokeCertificate的任何实例。 我认为它是有用到的exaple写在这里。

1添加certadmin LIB

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);
    }
}


Answer 2:

首先,您需要使用注册COM服务器regsvr32这将是可添加在Visual Studio中引用之前。

例如,

regsvr32 certadm.dll


文章来源: Revoking certificate in c# with ICertAdmin2::RevokeCertificate method