OpenSignerBase64(Name: String; Data: String): ICertSigner;
OpenSignerBase64(Name: String; Data: String): Prognoz.Platform.Interop.Metabase.ICertSigner;
Name. Наименование подписчика.
Data. Содержимое закрытого ключа сертификата в формате Base64.
Метод OpenSignerBase64 возвращает подписчик для сертификата, для которого передается закрытый ключ.
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.
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;
См. также: