Mimekit 在验证时安装证书
Mimekit installing certificates upon verify
我正在使用 MimeKit
验证 SMIME 多部分签名消息是否由特定实体签名。我有这个实体的 public 证书。在 MultipartSigned
对象上调用 Verify(context)
时,证书正在导入到服务器证书列表中。我想要的是,如果找不到证书,则会出现此错误。否则,如果恶意用户签署了一个文件,它将通过,更糟糕的是,我最终会安装他的证书。
我的推理有问题吗?
这是我正在使用的代码。
var signed =(MultipartSigned)MimeEntity.Load(ParserOptions.Default,@"C:\mysignedfile.txt");
using (var context = new WindowsSecureMimeContext(StoreLocation.LocalMachine))
{
foreach (var signature in signed.Verify(context))// This install the certificate!
{
try
{
bool valid = signature.Verify();
}
catch (DigitalSignatureVerifyException)
{
throw;
// There was an error verifying the signature.
}
}
}
证书存储在您的证书库中并不意味着它是可信的,它只意味着它是已知的。
就这些了。
这允许您稍后将其标记为受信任,还允许您的系统检查吊销。
我正在使用 MimeKit
验证 SMIME 多部分签名消息是否由特定实体签名。我有这个实体的 public 证书。在 MultipartSigned
对象上调用 Verify(context)
时,证书正在导入到服务器证书列表中。我想要的是,如果找不到证书,则会出现此错误。否则,如果恶意用户签署了一个文件,它将通过,更糟糕的是,我最终会安装他的证书。
我的推理有问题吗?
这是我正在使用的代码。
var signed =(MultipartSigned)MimeEntity.Load(ParserOptions.Default,@"C:\mysignedfile.txt");
using (var context = new WindowsSecureMimeContext(StoreLocation.LocalMachine))
{
foreach (var signature in signed.Verify(context))// This install the certificate!
{
try
{
bool valid = signature.Verify();
}
catch (DigitalSignatureVerifyException)
{
throw;
// There was an error verifying the signature.
}
}
}
证书存储在您的证书库中并不意味着它是可信的,它只意味着它是已知的。
就这些了。
这允许您稍后将其标记为受信任,还允许您的系统检查吊销。