MimeKit を使用して電子メールに署名する場合、ContentType はapplication/pkcs7-signatureに設定されます。
サードパーティ プロバイダーでは、ContentType をapplication/x-pkcs7-signatureに設定する必要があります。
MimeKitで切り離された署名を使用して電子メールに署名するときに、この ContentType を変更/設定する簡単な方法はありますか?
MimeKit を使用して電子メールに署名する場合、ContentType はapplication/pkcs7-signatureに設定されます。
サードパーティ プロバイダーでは、ContentType をapplication/x-pkcs7-signatureに設定する必要があります。
MimeKitで切り離された署名を使用して電子メールに署名するときに、この ContentType を変更/設定する簡単な方法はありますか?
ContentType オブジェクトは読み取り専用ですが、MediaSubtype プロパティはそうではありません。
したがって、次を使用して、必要なx-プレフィックスを追加できます。
var part = SourceEmail.BodyParts.First(x => x.ContentType.MediaSubtype == "pkcs7-signature");
part.ContentType.MediaSubtype = "x-pkcs7-signature";
メッセージの全体的な Content-Type も更新しました。
var header = SourceEmail.Body.ContentType.Parameters.FirstOrDefault(x => x.Name == "protocol" && x.Value == "application/pkcs7-signature");
header.Value = "application/x-pkcs7-signature";
わかりやすくするために、エラー チェックを省略しました。