Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

10 Страницы«<8910
Опции
К последнему сообщению К первому непрочитанному
Offline LFrolov  
#181 Оставлено : 6 декабря 2021 г. 19:28:51(UTC)
LFrolov

Статус: Новичок

Группы: Участники
Зарегистрирован: 21.08.2020(UTC)
Сообщений: 3
Российская Федерация

Сказал(а) «Спасибо»: 1 раз
Подскажите, пожайлуста, в чем может быть проблема с CMS подписью:

Код:

  public static string SignData(byte[] data, X509Certificate2 certificate)
        {
            ContentInfo contentInfo = new ContentInfo(data);
            SignedCms signedCms = new SignedCms(contentInfo, false);

            CmsSigner cmsSigner = new CmsSigner(certificate);
            cmsSigner.IncludeOption = X509IncludeOption.EndCertOnly;

            signedCms.ComputeSignature(cmsSigner);

            byte[] msgBytes = signedCms.Encode();
            return Convert.ToBase64String(msgBytes, Base64FormattingOptions.InsertLineBreaks);
        }


Выдается исключение:
Код:

Unhandled exception. Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: Keyset does not exist
   at Internal.NativeCrypto.CapiHelper.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer)
   at System.Security.Cryptography.Gost3410_2012_256CryptoServiceProvider.get_SafeProvHandle()
   at System.Security.Cryptography.Gost3410_2012_256CryptoServiceProvider.get_SafeKeyHandle()
   at System.Security.Cryptography.Gost3410_2012_256CryptoServiceProvider.GetKeyPair()
   at System.Security.Cryptography.Gost3410_2012_256CryptoServiceProvider..ctor(CspParameters parameters)
   at Internal.Cryptography.Pal.Windows.PkcsPalWindows.GetPrivateKey[T](X509Certificate2 certificate, Boolean silent, Boolean preferNCrypt) in C:\projects\corefx\src\System.Security.Cryptography.Pkcs\src\Internal\Cryptography\Pal\Windows\PkcsPalWindows.cs:line 285
   at Internal.Cryptography.Pal.Windows.PkcsPalWindows.GetPrivateKeyForSigning[T](X509Certificate2 certificate, Boolean silent) in C:\projects\corefx\src\System.Security.Cryptography.Pkcs\src\Internal\Cryptography\Pal\Windows\PkcsPalWindows.cs:line 181
   at System.Security.Cryptography.Pkcs.CmsSignature.Gost2012_256CmsSignature.Sign(ReadOnlySpan`1 dataHash, HashAlgorithmName hashAlgorithmName, X509Certificate2 certificate, AsymmetricAlgorithm key, Boolean silent, Oid& signatureAlgorithm, Byte[]& signatureValue) in C:\projects\corefx\src\System.Security.Cryptography.Pkcs\src\System\Security\Cryptography\Pkcs\CmsSignature.Gost2012_256.cs:line 71
   at System.Security.Cryptography.Pkcs.CmsSignature.Sign(ReadOnlySpan`1 dataHash, HashAlgorithmName hashAlgorithmName, X509Certificate2 certificate, AsymmetricAlgorithm key, Boolean silent, Oid& oid, ReadOnlyMemory`1& signatureValue) in C:\projects\corefx\src\System.Security.Cryptography.Pkcs\src\System\Security\Cryptography\Pkcs\CmsSignature.cs:line 104
   at System.Security.Cryptography.Pkcs.CmsSigner.Sign(ReadOnlyMemory`1 data, String contentTypeOid, Boolean silent, X509Certificate2Collection& chainCerts) in C:\projects\corefx\src\System.Security.Cryptography.Pkcs\src\System\Security\Cryptography\Pkcs\CmsSigner.cs:line 251
   at System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(CmsSigner signer, Boolean silent) in C:\projects\corefx\src\System.Security.Cryptography.Pkcs\src\System\Security\Cryptography\Pkcs\SignedCms.cs:line 323
   at System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(CmsSigner signer) in C:\projects\corefx\src\System.Security.Cryptography.Pkcs\src\System\Security\Cryptography\Pkcs\SignedCms.cs:line 274
   at DotnetSample.Program.SignData(Byte[] data, X509Certificate2 certificate) in D:\Projects\CryptoPro\DotnetCoreSampleProject\Program.cs:line 300
   at DotnetSample.Program.Main(String[] args) in D:\Projects\CryptoPro\DotnetCoreSampleProject\Program.cs:line 81


Xml подпись работает. Сертификат в хранилище Local Computer. Permission'ы на Private key даны.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
10 Страницы«<8910
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.