OpenVerifier(Name: String; Data: IIOStream): ICertVerifier;
Name. Наименование контролера.
Data. Поток, связанный с сертификатом.
Метод OpenVerifier возвращает контролер, осуществляющий проверку цифровой подписи с помощью сертификата, который передается в указанном потоке.
Для выполнения примера в базе репозитория должен быть сохранен сертификат безопасности с идентификатором «sp».
Function SampleVerifier(Code: String; Signature: String): Boolean;
Var
MB: IMetabase;
Cert: ICertificate;
Package: ISecurityPackage;
Provider: ICertProvider;
MStream: IMemoryStream;
Verifier: ICertVerifier;
Result: Boolean;
Begin
MB := MetabaseClass.Active;
//Получение сертификата
Cert := MB.Security.Policy.Certificates.FindById("sp");
MStream := New MemoryStream.Create;
//Загрузка данных сертификата в поток
Cert.GetData(MStream);
MStream.Position := 0;
//Получение контролера
Package := New StandardSecurityPackage.Create;
Provider := Package.CertProvider;
Verifier := Provider.OpenVerifier("sp", MStream);
//Проверка цифровой подписи
Result := Verifier.Verify(Code, Signature);
Return Result;
End Function SampleVerifier;
Указанная функция предназначена для проверки цифровой подписи у блока данных. Случайный блок данных и блок, подписанный цифровой подписью, передаются в качестве входных параметров. Сертификат для проверки будет получен из базы репозитория и передан через поток. Результатом функции является логическое значение, указывающее соответствует ли цифровая подпись переданному случайному блоку данных.
См. также: