我正在使用Joshua Davies撰写的“使用密码学和PKI实现SSL / TLS”一书来实现HTTPS客户端/服务器示例。它包含一个带有C源代码的示例实现。我只是尝试使用该源代码构建HTTPS客户端。但是,在tls.c文件中它使用了两个宏MD5_BYTE_SIZE和SHA1_BYTE_SIZE,我看不到在这本书中为这些宏定义的任何值。我尝试了两个宏的16,24,32的排列,但SSL握手失败,更大的值导致分段错误。我希望任何熟悉本书的人都可以帮助我
MD5_BYTE_SIZE
SHA1_BYTE_SIZE
出版商为这本书保留了两个源包:GCC和VS。
从{before,after} /ch04/sha.h开始:
#define SHA1_RESULT_SIZE 5 #define SHA1_BYTE_SIZE SHA1_RESULT_SIZE * sizeof( int )
从{before,after} /ch04/md5.h开始:
#define MD5_RESULT_SIZE 4 #define MD5_BYTE_SIZE MD5_RESULT_SIZE * sizeof( int )