Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EnvelopedCms #17

Closed
Bykiev opened this issue May 15, 2023 · 21 comments
Closed

EnvelopedCms #17

Bykiev opened this issue May 15, 2023 · 21 comments
Assignees
Labels
bug Something isn't working Confirmed enhancement New feature or request

Comments

@Bykiev
Copy link

Bykiev commented May 15, 2023

Здравствуйте, не подскажете хотя бы приблизительные сроки по реализации EnvelopedCms в библиотеке?

@Fasjeit Fasjeit added the enhancement New feature or request label May 15, 2023
@Fasjeit Fasjeit self-assigned this May 15, 2023
@Fasjeit
Copy link
Collaborator

Fasjeit commented May 15, 2023

День добрый. В настоящий момент в работе, дорабатываем/тестируем.

По прогрессу по данному направлению напишу тут.

@Fasjeit
Copy link
Collaborator

Fasjeit commented May 24, 2023

Можно пробовать пререлизную сборку из вложения. Пока не очень стабильна, можно ожидать проблем.
linux
win

Для cms шифрования нужно использовать класс CpEnvelopedCms, имеющий интерфейс исходного EnvelopedCms. Встраивание в исходный EnvelopedCms пока не делали.

@Bykiev
Copy link
Author

Bykiev commented May 24, 2023

Здравствуйте, протестировал на Windows и Linux (Astra Linux SE 1.7.3) все работает, спасибо!

@Fasjeit
Copy link
Collaborator

Fasjeit commented May 24, 2023

Отлично.
Issue оставлю пока открытой до релиза.

@skuzminoff
Copy link

добрый день! попробовал использовать 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 установлен.

@Fasjeit
Copy link
Collaborator

Fasjeit commented May 31, 2023

@skuzminoff добрый день.
Сможете приложить проект с кодом, сертификат с ключом, на котором пробуете расшифровать и сам зашифрованный файл?
upd: и уточните пожалуйста конкретную версию CSP

@skuzminoff
Copy link

skuzminoff commented May 31, 2023

@Fasjeit репозиторий с примером ошибки, которая у меня воспроизводится https://github.com/skuzminoff/enveloped_cms_test

версии deb пакетов 5.0.12000-6 (если не оно, то скажите, где посмотреть)

@Fasjeit
Copy link
Collaborator

Fasjeit commented May 31, 2023

Пожалуйста, проверьте на ауктуальном релизе CSP (на данный момент это версия 5.0.12600), как указанно в Readme файле.

У себя локально на последнем релизе CSP не воспроизводим на вашем примере.

@skuzminoff
Copy link

@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 из вашего комментария (CryptoPro/corefx#63 (comment)) в соседнем репозитории помогает ошибки избежать, последовательности Encrypt->Encode и Decode->Decrypt отработали с ожидаемым результатом.

@Fasjeit
Copy link
Collaborator

Fasjeit commented Jun 1, 2023

У 12800 поменялась логика в кодировании в EnvelopedCms, действительно возможны какие то наводки.
Как будет время - посмотрим. По результату отпишусь.

@skuzminoff
Copy link

@Fasjeit а где взять csp версии 5.0.12600? на сайте у вас доступна только версия 12800.

@Bykiev
Copy link
Author

Bykiev commented Jun 1, 2023

@Fasjeit а где взять csp версии 5.0.12600? на сайте у вас доступна только версия 12800.

https://cryptopro.ru/sites/default/files/private/csp/50/12600/CSPSetup-5.0.12600.exe

@Fasjeit Fasjeit added bug Something isn't working Confirmed labels Jun 5, 2023
@Bykiev
Copy link
Author

Bykiev commented Jun 16, 2023

@Fasjeit, здравствуйте, не подскажете по срокам, когда будет решена эта проблема в последней сборке?

@Fasjeit
Copy link
Collaborator

Fasjeit commented Jun 16, 2023

Проблему воспроизвели, локализовали, ждём правок в csp.

Как только появится новая сборка которую можно посмотреть - отпишусь тут.

Отдельную под 12800 делать Libcore не хочется, ибо, скорее всего придётся потом откатить изменения с следующим релизом csp.

@Bykiev
Copy link
Author

Bykiev commented Jun 19, 2023

Проблему воспроизвели, локализовали, ждём правок в csp.

Как только появится новая сборка которую можно посмотреть - отпишусь тут.

Отдельную под 12800 делать Libcore не хочется, ибо, скорее всего придётся потом откатить изменения с следующим релизом csp.

Спасибо, баг ведь влияет только на расшифровку, шифрование работает корректно в любой версии CSP?

@Fasjeit
Copy link
Collaborator

Fasjeit commented Jun 19, 2023

С 12800 проблема именно в шифровании, ибо csp не принимает передаваемый asn1 формат данных.

@Fasjeit
Copy link
Collaborator

Fasjeit commented Jul 3, 2023

В csp проблему починили, ждём релиза в ближайшие недели.

@Bykiev
Copy link
Author

Bykiev commented Jul 24, 2023

В csp проблему починили, ждём релиза в ближайшие недели.

Здравствуйте, нет ли более точных сроков?

@maxdm
Copy link

maxdm commented Jul 24, 2023

Стараемся до конца июля

@maxdm
Copy link

maxdm commented Jul 29, 2023

Выложили: https://cryptopro.ru/products/csp/downloads#latest_csp50r3

@Fasjeit
Copy link
Collaborator

Fasjeit commented Aug 15, 2023

В релизе 12900 всё должно работать корректно.

@Fasjeit Fasjeit closed this as completed Aug 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Confirmed enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants