如何兼容历史版本OpenSSL-1.0.2分支
OpenSSL的1.1.0版调整了API接口, 与1.0.2版相比, 删除了成员变量o->data
和o->length
。
参考:
- https://www.openssl.org/docs/man1.1.0/crypto/OPENSSL_VERSION_NUMBER.html
- https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes
#if OPENSSL_VERSION_NUMBER < 0x10100000L
#define OBJ_get0_data(o) ((o)->data)
#define OBJ_length(o) ((o)->length)
#endif
注意:
OPENSSL_VERSION_NUMBER 的格式应该是0xM-NNFFPPS
最后一个数字S取值0代表dev开发版, 0x1-0xE代表rc1-rc14, 0xF代表release版
- 1.1.0a dev ==0x10100010
- 1.1.0a release==0x1010001f
- 1.0.2g release&#