Mimekit을 사용하여 MIME 메시지가 암호화되거나 서명되었는지 확인하고 싶습니다.Mimekit을 사용하여 MIME 메시지가 암호화되거나 서명되었는지 확인하는 방법은 무엇입니까?
암호를 해독하거나 서명을 확인하고 싶지 않습니다. 암호화되었거나 서명되었는지 알고 싶습니다.
IsSigned() & MimeMessage 클래스에서 IsEncrypted()하지만 이러한 함수가 존재하지 않습니다!
감사합니다.
Mimekit을 사용하여 MIME 메시지가 암호화되거나 서명되었는지 확인하고 싶습니다.Mimekit을 사용하여 MIME 메시지가 암호화되거나 서명되었는지 확인하는 방법은 무엇입니까?
암호를 해독하거나 서명을 확인하고 싶지 않습니다. 암호화되었거나 서명되었는지 알고 싶습니다.
IsSigned() & MimeMessage 클래스에서 IsEncrypted()하지만 이러한 함수가 존재하지 않습니다!
감사합니다.
MimeMessage
자체는 서명되거나 암호화 될 수 없으므로 이러한 방법은 존재하지 않으므로 메시지의 Body
(또는 본문의 하위 집합) 만 서명하거나 암호화 할 수 있기 때문에 이러한 방법은 존재하지 않습니다.
var pkcs7 = message.Body as ApplicationPkcs7Mime;
bool signed = (message.Body is MultipartSigned) ||
(pkcs7 != null && pkcs7.SecureMimeType == SecureMimeType.SignedData);
bool encrypted = (message.Body is MultipartEncrypted) ||
(pkcs7 != null && pkcs7.SecureMimeType == SecureMimeType.EnvelopedData);
참고 : 당신은 S/MIME에 대해 신경 그래서 만약 MultipartEncrypted
만, PGP (하지 S/MIME)와 함께 사용, 당신은 할 필요가 없습니다
아주 간단한 해결책이 작업을 수행하는 것입니다 MultipartEncrypted
을 확인하십시오.
마찬가지로 ApplicationPkcs7Mime
은 S/MIME에만 사용되므로 PGP 만 신경 쓰면 ApplicationPkcs7Mime
을 확인할 필요가 없습니다.
PGP와 S/MIME (모두)은 MultipartSigned
을 사용하기 때문에 두 경우 모두 확인해야합니다.
내가 사용하거나 메일을받은 모든 클라이언트는 메시지의 최상위 수준 인 Body
만을 서명하고/암호화하므로 위의 확인은 아마도 필요한 것일 수 있습니다. 그러나 은 MIME 호환 클라이언트가 Body
의 하위 부분을 서명 및/또는 암호화하기 때문에 MIME 트리를 탐색하고 100 % 준수하려는 경우 각 노드를 확인해야합니다.
감사합니다.이 모든 것이 내가 필요한 것이라고 생각합니다. –