使用 Joshua Davies 的书 "Implementing SSL / TLS Using Cryptography and PKI" 实现 TLS server/client

Implementing TLS server/client using book "Implementing SSL / TLS Using Cryptography and PKI" by Joshua Davies

我使用 Joshua Davies 的书 "Implementing SSL / TLS Using Cryptography and PKI" 实现了一个 HTTPS client/server 示例,仅用于学习目的。它包含一个带有 C 源代码的示例实现。我只是尝试使用该源代码构建一个 HTTPS 客户端。但是,在 tls.c 文件中,它使用了两个宏 MD5_BYTE_SIZESHA1_BYTE_SIZE,我在那本书中看不到为这些宏定义的任何值。我尝试对两个宏进行 16、24、32 的排列,但在 SSL 握手中失败,并且更大的值会导致分段错误。希望有熟悉这本书的朋友能帮帮我

出版商为这本书保留了两个源包:GCC and VS

来自{之前,之后}/ch04/sha.h:

#define SHA1_RESULT_SIZE 5
#define SHA1_BYTE_SIZE SHA1_RESULT_SIZE * sizeof( int )

来自{之前,之后}/ch04/md5.h:

#define MD5_RESULT_SIZE 4
#define MD5_BYTE_SIZE MD5_RESULT_SIZE * sizeof( int )