TLS1.0 block-ciphered captured from wireshark doesn't match document RFC2246

帅比萌擦擦* 提交于 2020-02-06 08:02:06

问题


I am researching TLS1.0 recently. I establish a HTTPS server with self-signed certification and using openssl to connects the server. The cipher suite is RSA_AESCBC256_SHA. Then capture the TLS packages by using wireshark. When I capture an application record and then decrypt it. I've got the result like following screenshot.

I analyze the hex dump and categories them into 3, like the image below.

The red part is content, the green part is padding, and the blue part is MAC. The problem is the order is different from RFC2246 6.2.3.2 where MAC is prior to padding.

block-ciphered struct {
    opaque content[TLSCompressed.length];
    opaque MAC[CipherSpec.hash_size];
    uint8 padding[GenericBlockCipher.padding_length];
    uint8 padding_length;
} GenericBlockCipher
I believe OpenSSL is correct, but cannot explain the result is different from the RFC. Can you help? The original capture from wireshark like below.

来源:https://stackoverflow.com/questions/60061051/tls1-0-block-ciphered-captured-from-wireshark-doesnt-match-document-rfc2246

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!