使用 ICertAdmin2::RevokeCertificate 方法撤销 C# 中的证书

发布于 2024-07-29 21:13:34 字数 261 浏览 7 评论 0原文

如何将 certadm.dll 导入托管项目并使用 RevokeCertificate 方法? 我尝试将其添加为引用,但出现错误,因为它不是程序集或 COM 对象。

有任何想法吗?

更新:我已经尝试过regsvr32 c:\certadm.dll并且收到以下错误: LoadLibrary("c:\certadm.dll") 失败 - 找不到指定的过程。

How to import certadm.dll into managed project and use RevokeCertificate method? I tried adding it as reference but I got error asying it's not assembly or COM object.

Any ideas?

UPDATE: I already tried regsvr32 c:\certadm.dll and I get following error:
LoadLibrary("c:\certadm.dll") failed - the specified procedure could not be found.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

九局 2024-08-05 21:13:34

我知道这是一个非常老的问题,但我找不到任何在 c# 中使用 ICertAdmin2::RevokeCertificate 的示例。 我认为在这里写示例很有用。

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

I know this is very old question, but i cannot find any example of using ICertAdmin2::RevokeCertificate in c#. I think it is usefull to write exaple here.

1 Add certadmin lib

enter image description here

2 Use this code

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);
    }
}
失退 2024-08-05 21:13:34

您首先需要使用 regsvr32 注册 COM 服务器,然后才能将其添加为 Visual Studio 中的引用。

例如,

regsvr32 certadm.dll

You first need to register the COM server using regsvr32 before it will be available to be added as a reference in Visual Studio.

e.g.,

regsvr32 certadm.dll
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文