0

署名に使用される次の電子メールの例の本文部分は何ですか?

------=_NextPart_000_005C_01CD9649.B405A420
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_005D_01CD9649.B405A420"


------=_NextPart_001_005D_01CD9649.B405A420
Content-Type: text/plain;
charset="iso-8859-2"
Content-Transfer-Encoding: 7bit

test


------=_NextPart_001_005D_01CD9649.B405A420
Content-Type: text/html;
charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

<html>
.....
</html>
------=_NextPart_001_005D_01CD9649.B405A420--

------=_NextPart_000_005C_01CD9649.B405A420

マルチパート/代替メールの場合、呼び出し時に「ハッシュ値が正しくありません」というエラーが発生する C# メール ライブラリを使用しています。

Smime.CheckSignature(true)

つまり、電子メール本文の間違った部分のハッシュ値を計算します。

4

1 に答える 1

1

それで、何時間も試した後、これが答えです:

------=_NextPart_000_005C_01CD9649.B405A420
*Content-Type: multipart/alternative;
*boundary="----=_NextPart_001_005D_01CD9649.B405A420"
*
*
*------=_NextPart_001_005D_01CD9649.B405A420
*Content-Type: text/plain;
*charset="iso-8859-2"
*Content-Transfer-Encoding: 7bit
*
*test
*
*
*------=_NextPart_001_005D_01CD9649.B405A420
*Content-Type: text/html;
*charset="iso-8859-2"
*Content-Transfer-Encoding: quoted-printable
*
*<html>
*.....
*</html>
*------=_NextPart_001_005D_01CD9649.B405A420--
*
------=_NextPart_000_005C_01CD9649.B405A420

* で始まる行は、ハッシュされるメッセージ本文 (文字列 toDigest) です。最後に改行も含めて!ここに行きます:

Smime = new SignedCms(new ContentInfo(Encoding.ASCII.GetBytes(toDigest))
于 2012-09-19T11:29:51.833 に答える