Отзыв сертификата в c # с помощью метода ICertAdmin2 :: RevokeCertificate - PullRequest
2 голосов
/ 04 августа 2009

Как импортировать certadm.dll в управляемый проект и использовать метод RevokeCertificate? Я попытался добавить его в качестве ссылки, но я получил ошибку, так как это не сборка или COM-объект.

Есть идеи?

ОБНОВЛЕНИЕ: Я уже пробовал regsvr32 c: \ certadm.dll , и я получаю следующую ошибку: LoadLibrary ("c: \ certadm.dll") не удалось - указанная процедура не найдена.

Ответы [ 2 ]

2 голосов
/ 27 октября 2014

Я знаю, что это очень старый вопрос, но я не могу найти ни одного примера использования ICertAdmin2 :: RevokeCertificate в c #. Я думаю, что здесь полезно написать пример.

1 Добавить certadmin lib

enter image description here

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);
    }
}
0 голосов
/ 04 августа 2009

Сначала необходимо зарегистрировать COM-сервер, используя regsvr32, прежде чем он будет доступен для добавления в качестве ссылки в Visual Studio.

например.,

regsvr32 certadm.dll
...