Как создать самозаверяющий сертификат для подписи сообщения MimeKit? - PullRequest
0 голосов
/ 01 октября 2018

Как создать самозаверяющий сертификат для разработки, подходящий для подписания MimeKit Messages?

MimeKit имеет собственный CmsSigner.Когда я пытаюсь загрузить сертификат в MimeKit CmsSigner:

X509Certificate2 cert = new X509Certificate2(@"cert.pfx", "xpto", X509KeyStorageFlags.Exportable);
var signer = new MimeKit.Cryptography.CmsSigner(cert);

, он выдает:

'Сертификат не может использоваться для подписи.'

1 Ответ

0 голосов
/ 01 октября 2018

Проблема в том, что алгоритм по умолчанию, используемый CmsSign, должен быть тем же алгоритмом, который использовался для создания ключа сертификата, в моем случае, SHA1.

Вот как было загружено для сертификата S / MIME:

X509Certificate2 cert = new X509Certificate2(@"ca.p12", "xpto", X509KeyStorageFlags.Exportable);
var signer = new CmsSigner(cert);
signer.DigestAlgorithm = DigestAlgorithm.Sha1;
MultipartSigned.Create( signer, mimeMessage.Body);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...