Closed Bykiev closed 1 year ago
День добрый. В настоящий момент в работе, дорабатываем/тестируем.
По прогрессу по данному направлению напишу тут.
Здравствуйте, протестировал на Windows и Linux (Astra Linux SE 1.7.3) все работает, спасибо!
Отлично. Issue оставлю пока открытой до релиза.
добрый день! попробовал использовать CpEnvelopedCms, в одну сторону (шифрование + кодирование) работает нормально, а вот в обратную сторону эксепшен на .Decode()
LibCore.Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: I n v a l i d c r y p t o g r a p
at Internal.Cryptography.Pal.Windows.HelpersWindows.GetOriginatorCerts(SafeCryptMsgHandle hCryptMsg)
at Internal.Cryptography.Pal.Windows.DecryptorPalWindows.Decode(Byte[] encodedMessage, Int32& version, ContentInfo& contentInfo, AlgorithmIdentifier& contentEncryptionAlgorithm, X509Certificate2Collection& originatorCerts, CpCryptographicAttributeObjectCollection& unprotectedAttributes)
at Internal.Cryptography.Pal.Windows.PkcsPalWindows.Decode(Byte[] encodedMessage, Int32& version, ContentInfo& contentInfo, AlgorithmIdentifier& contentEncryptionAlgorithm, X509Certificate2Collection& originatorCerts, CpCryptographicAttributeObjectCollection& unprotectedAttributes)
at LibCore.Security.Cryptography.CpEnvelopedCms.Decode(ReadOnlySpan`1 encodedMessage)
at LibCore.Security.Cryptography.CpEnvelopedCms.Decode(Byte[] encodedMessage)
at LibCore.TestApp.Cms.DecryptCms(Byte[] encryptedData, X509Certificate2 gostCert) in /app/LibCore.TestApp/Cms.cs:line 101
at Program.<Main>$(String[] args) in /app/LibCore.TestApp/Program.cs:line 48
Версия LibCore - 2023.5.30.1 Версия csp - 5.0 R2 ОС - debian 11
Сертификат получателя в хранлище my установлен.
@skuzminoff добрый день. Сможете приложить проект с кодом, сертификат с ключом, на котором пробуете расшифровать и сам зашифрованный файл? upd: и уточните пожалуйста конкретную версию CSP
@Fasjeit репозиторий с примером ошибки, которая у меня воспроизводится https://github.com/skuzminoff/enveloped_cms_test
версии deb пакетов 5.0.12000-6 (если не оно, то скажите, где посмотреть)
Пожалуйста, проверьте на ауктуальном релизе CSP (на данный момент это версия 5.0.12600), как указанно в Readme файле.
У себя локально на последнем релизе CSP не воспроизводим на вашем примере.
@Fasjeit после обновления до 5.0.12800 пример стал падать на методе Encrypt() класса EnvelopedCms. Ошибка следующая
LibCore.Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: A S N 1 b a d t a g
at Internal.Cryptography.Pal.Windows.PkcsPalWindows.Encrypt(CmsRecipientCollection recipients, ContentInfo contentInfo, AlgorithmIdentifier contentEncryptionAlgorithm, X509Certificate2Collection originatorCerts, CpCryptographicAttributeObjectCollection unprotectedAttributes)
at LibCore.Security.Cryptography.CpEnvelopedCms.Encrypt(CmsRecipientCollection recipients)
at LibCore.Security.Cryptography.CpEnvelopedCms.Encrypt(CmsRecipient recipient)
at LibCore.TestApp.Cms.EncryptCms(Byte[] dataToEncrypt, X509Certificate2 gostCert) in /app/Cms.cs:line 95
at Program.<Main>$(String[] args) in /app/Program.cs:line 34
однако, прием с указанием ContentType у ContentInfo из вашего комментария (https://github.com/CryptoPro/corefx/issues/63#issuecomment-1366408025) в соседнем репозитории помогает ошибки избежать, последовательности Encrypt->Encode и Decode->Decrypt отработали с ожидаемым результатом.
У 12800 поменялась логика в кодировании в EnvelopedCms, действительно возможны какие то наводки. Как будет время - посмотрим. По результату отпишусь.
@Fasjeit а где взять csp версии 5.0.12600? на сайте у вас доступна только версия 12800.
@Fasjeit а где взять csp версии 5.0.12600? на сайте у вас доступна только версия 12800.
https://cryptopro.ru/sites/default/files/private/csp/50/12600/CSPSetup-5.0.12600.exe
@Fasjeit, здравствуйте, не подскажете по срокам, когда будет решена эта проблема в последней сборке?
Проблему воспроизвели, локализовали, ждём правок в csp.
Как только появится новая сборка которую можно посмотреть - отпишусь тут.
Отдельную под 12800 делать Libcore не хочется, ибо, скорее всего придётся потом откатить изменения с следующим релизом csp.
Проблему воспроизвели, локализовали, ждём правок в csp.
Как только появится новая сборка которую можно посмотреть - отпишусь тут.
Отдельную под 12800 делать Libcore не хочется, ибо, скорее всего придётся потом откатить изменения с следующим релизом csp.
Спасибо, баг ведь влияет только на расшифровку, шифрование работает корректно в любой версии CSP?
С 12800 проблема именно в шифровании, ибо csp не принимает передаваемый asn1 формат данных.
В csp проблему починили, ждём релиза в ближайшие недели.
В csp проблему починили, ждём релиза в ближайшие недели.
Здравствуйте, нет ли более точных сроков?
Стараемся до конца июля
В релизе 12900 всё должно работать корректно.
Здравствуйте, не подскажете хотя бы приблизительные сроки по реализации EnvelopedCms в библиотеке?