forked from dotnet/corefx
-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested
Description
Здравствуйте!
Возможно ли на линуксе создать подпись типа CAdES BES и дополнить до типа CAdES X Long Type 1 на .net core?
Ниже приведен код на винде, где используются com-интерфейсы cadescom и capicom для создания подписи CAdES BES и
CAdES X Long Type 1. На python(pycades) увидел что есть аналог реализации подписи CAdES BES. Как ниже приведенный код переписать под линукс заменив com-интерфейсы, или заставить работать com-интерфейсы на линуксе(думаю это невозможно)? Спасибо:)
//Создание УКЭП
public string SignWithAdvancedEDS(byte[] fileBytes, X509Certificate2 certificate)
{
string signature = "";
try
{
string tspServerAddress = @"http://qs.cryptopro.ru/tsp/tsp.srf";
CPSigner cps = new CPSigner();
cps.Certificate = GetCAPICOMCertificate(certificate.Thumbprint);
cps.Options = CAPICOM_CERTIFICATE_INCLUDE_OPTION.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN;
cps.TSAAddress = tspServerAddress;
CadesSignedData csd = new CadesSignedData();
csd.ContentEncoding = CADESCOM_CONTENT_ENCODING_TYPE.CADESCOM_BASE64_TO_BINARY;
csd.Content = Convert.ToBase64String(fileBytes);
//Создание и проверка подписи CAdES BES
signature = csd.SignCades(cps, CADESCOM_CADES_TYPE.CADESCOM_CADES_BES, true,
CAdESCOM.CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);
//csd.VerifyCades(signature, CADESCOM_CADES_TYPE.CADESCOM_CADES_BES, true);
//Дополнение и проверка подписи CAdES BES до подписи CAdES X Long Type 1
//(вторая подпись остается без изменения, так как она уже CAdES X Long Type 1)
//signature = csd.EnhanceCades(CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, tspServerAddress,
// CAdESCOM.CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);
//csd.VerifyCades(signature, CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, true);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return signature;
}
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested