使用约书亚·戴维斯(Joshua Davies)撰写的“使用密码学和PKI实施SSL / TLS实现”来实现TLS服务器/客户端

时间:2018-12-03 05:26:27

标签: c ssl https md5 sha

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

1 个答案:

答案 0 :(得分:1)

出版商为这本书保留了两个资源包:GCCVS

从{before,after} /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 )