2017-03-07 14 views
0

MimeKit을 사용하여 SMIME multipart 서명 된 메시지가 특정 엔터티에 의해 서명되었는지 확인합니다. 이 엔티티에 대한 공용 인증서가 있습니다. 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