ICertProvider.OpenSignerBase64

Синтаксис Fore

OpenSignerBase64(Name: String; Data: String): ICertSigner;

Синтаксис Fore.NET

OpenSignerBase64(Name: String; Data: String): Prognoz.Platform.Interop.Metabase.ICertSigner;

Параметры

Name. Наименование подписчика.

Data. Содержимое закрытого ключа сертификата в формате Base64.

Описание

Метод OpenSignerBase64 возвращает подписчик для сертификата, для которого передается закрытый ключ.

Пример Fore

Function SampleSigner(Code: String; PrivateKey: String): String;
Var
    Package: ISecurityPackage;
    Provider: ICertProvider;
    Signer: ICertSigner;
    Signature: String;
Begin
    Package := New StandardSecurityPackage.Create;
    Provider := Package.CertProvider;
    //Сопоставление случайного значения блоку данных
    Provider.Code(Math.RandBetweenI(Integer.MinValue, Integer.MaxValue).ToString) := Code;
    //Получение подписчика
    Signer := Provider.OpenSignerBase64("sp", PrivateKey);
    //Подпись цифровой подписью
    Signature := Signer.Sign(Code);
    Return Signature;
End Function SampleSigner;

Указанная функция предназначена для подписи блока данных цифровой подписью. Блок данных и закрытый ключ передаются в качестве входных параметров. На выходе функция возвращает блок данных, подписанный цифровой подписью.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.MathFin;
Imports Prognoz.Platform.Interop.Metabase;

Shared Function SampleSigner(Code: String; PrivateKey: String): String;
Var
    Package: ISecurityPackage = New StandardSecurityPackageClass();
    CMath: Prognoz.Platform.Interop.MathFin.MathClass = New Prognoz.Platform.Interop.MathFin.MathClass();
    Provider: ICertProvider;
    Signer: ICertSigner;
    Signature: String;
Begin
    Provider := Package.CertProvider;
    //Сопоставление случайного значения блоку данных
    Provider.Code[CMath.RandBetweenI(Integer.MinValue, Integer.MaxValue).ToString()] := Code;
    //Получение подписчика
    Signer := Provider.OpenSignerBase64("sp", PrivateKey);
    //Подпись цифровой подписью
    Signature := Signer.Sign(Code);
    Return Signature;
End Function;

См. также:

ICertProvider