CryptoPro / libcore

44 stars 0 forks source link

Поддержка проверки подписи S/MIME в MimeKit #31

Closed Bykiev closed 1 year ago

Bykiev commented 1 year ago

Здравствуйте, подскажите пожалуйста, возможно ли заставить работать проверку подписи в библиотеке MimeKit? При проверке ЭП выдает ошибку: "Failed to verify digital signature: Unknown algorithm '1.2.643.7.1.1.1.1'. ". Я попробовал посмотреть код и разобраться самостоятельно, но ничего подозрительного не нашел, в классе WindowsSecureMimeDigitalSignature в методе Verify вызывается SignerInfo.CheckSignature, но почему выпадает исключение - понять не могу....

https://github.com/jstedfast/MimeKit/blob/018fdc944b5331deb4fb2c267feb66362def75f1/MimeKit/Cryptography/WindowsSecureMimeDigitalSignature.cs#L201

LibCore инициализируется следующим образом: Initializer.Initialize(Initializer.DetouredAssembly.Xml | Initializer.DetouredAssembly.Pkcs);

Fasjeit commented 1 year ago

Добрый день.

Если сделаете проект-пример, на котором можно будет комплектно воспроизвести - можем посмотреть.

Bykiev commented 1 year ago

Спасибо, постараюсь подготовить!

Bykiev commented 1 year ago

Оказалось, что проблема не в библиотеке, а в том, что инициализация LibCore происходила позже (перед вызовом app.Run()), чем запускалась задача Quartz, поэтому инициализацию надо делать прям первым вызовом. Спасибо!