-
Notifications
You must be signed in to change notification settings - Fork 44
Description
КриптопроCSP установдлен
Сертификат корректный (но privateKey свойство у него недоступно почему-то), но при попытке подписать сообщение ниже приведенным кодом возникает ошибка:
GostCryptoConfig.ProviderType = GostCryptography.Base.ProviderType.CryptoPro_2012_512;
//Создание объекта для подписи сообщения
var signedCms = new GostSignedCms(new ContentInfo(message),true);
// Создание объект с информацией о подписчике
var signer = new CmsSigner(certificate);
var tt = certificate.GetHashAlgorithm();
//signer.DigestAlgorithm = Oid.FromOidValue("1.2.643.7.1.1.2.2", OidGroup.HashAlgorithm); //GostCryptography.Asn1.Gost.Gost_R3410_2012_256.Gost_R3410_2012_256_Constants.HashAlgorithm.ToOid();
// Включение информации только о конечном сертификате (только для теста)
signer.IncludeOption = X509IncludeOption.EndCertOnly;
// Создание подписи для сообщения CMS/PKCS#7
signedCms.ComputeSignature(signer);
Ошибка:
'1.2.643.7.1.1.2.2' is not a known hash algorithm.
trace:
at Internal.Cryptography.PkcsHelpers.GetDigestAlgorithm(String oidValue, Boolean forVerification)
at System.Security.Cryptography.Pkcs.CmsSigner.Sign(ReadOnlyMemory`1 data, String contentTypeOid, Boolean silent, X509Certificate2Collection& chainCerts)
at System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(CmsSigner signer, Boolean silent)
at GostCryptography.Pkcs.GostSignedCms.ComputeSignature(CmsSigner signer, Boolean silent)
at GostCryptography.Pkcs.GostSignedCms.ComputeSignature(CmsSigner signer)
Что я делаю неверно?