如何创建自签名证书来签署 MimeKit 消息?
How to create a self-sign certificate to sign a MimeKit Message?
如何为开发创建适合签署 MimeKit 消息的自签名证书?
MimeKit 有自己的 CmsSigner。当我尝试将证书加载到 MimeKit CmsSigner 中时:
X509Certificate2 cert = new X509Certificate2(@"cert.pfx", "xpto", X509KeyStorageFlags.Exportable);
var signer = new MimeKit.Cryptography.CmsSigner(cert);
它抛出:
'The certificate cannot be used for signing.'
问题是 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);
如何为开发创建适合签署 MimeKit 消息的自签名证书?
MimeKit 有自己的 CmsSigner。当我尝试将证书加载到 MimeKit CmsSigner 中时:
X509Certificate2 cert = new X509Certificate2(@"cert.pfx", "xpto", X509KeyStorageFlags.Exportable);
var signer = new MimeKit.Cryptography.CmsSigner(cert);
它抛出:
'The certificate cannot be used for signing.'
问题是 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);