Модуль дополнительной проверки сертификатов
Модуль для дополнительной проверки сертификатов должен представлять собой сборку .NET.
Сборка должна содержать публичный класс, реализующий интерфейс ISVSCertificateVerifier.
Интерфейс ISVSCertificateVerifier описан в сборке CryptoPro.DSS.Common.dll
.
public interface ISVSCertificateVerifier: IDSSPlugin
{
string PluginDefaultDescription { get; set; }
int ID { get; set; }
CertificateVerificationPluginResult Verify(byte[] certificate, VerifyCertificateArgs args);
}
Интерфейс IDSSPlugin предоставляет метод Initialize, который должен инициализировать подключаемый модуль по параметрам, передаваемым на вход данного метода в виде словаря.
public interface IDSSPlugin
{
void Initialize(IDictionary<string, string> parameters);
}
Список дополнительных параметров задается при регистрации плагина c помощью командлета Add-VsCertificateVerifierPlugin.
Метод Verify принимает следующие параметры:
certificate
– сертификат для проверки в виде массива байт;args
– объект, в который будут записаны дополнительные параметры.
При успешном завершении работы метод возвращает результат проверки сертификата.
Класс VerifyCertificateArgs описан в сборке CryptoPro.DSS.Common.dll
.
public class VerifyCertificateArgs
{
public IDictionary<string, string> Parameters;
}
При завершении работы метода Verify необходимо заполнить возвращаемое значение CertificateVerificationPluginResult:
public class CertificateVerificationPluginResult
{
[DataMember]
public bool bResult;
[DataMember]
public List<string> ErrorsList;
}
bResult
— содержит результат проверки сертификата;ErrorsList
— содержит сообщения об ошибках при проверке сертификата, если они есть.