2017-03-07 15 views
0

MimeKitを使用して、SMIMEマルチパート署名済みメッセージが特定のエンティティによって署名されていることを確認しています。私はこのエンティティの公開証明書を持っています。 MultipartSignedオブジェクトでVerify(context)を呼び出すと、証明書がサーバー証明書リストにインポートされています。私が望むのは、証明書が見つからない場合にこのエラーが発生するということです。そうでない場合、悪意のあるユーザーがファイルに署名すると、そのファイルが通過し、さらに悪いことに、彼の証明書がインストールされた状態になります。Mimekitが証明書を検証時にインストールする

ここに私の推論に欠陥がありますか?

これは私が使用しているコードです。あなたの証明書ストアに証明書を持つ

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. 
     }      
    } 
} 

答えて

0

は、それが信頼されていることを意味するものではありません、それはちょうどそれが知られていることを意味しています。

それだけです。

これを後で信頼するものとしてマークすることができます。また、システムで取り消しを確認することもできます。

+0

合意。私は証明書が信頼されているかどうかをチェックするコードを追加しました。ありがとう。 – Klaws86

関連する問題