1,如何编译libcurl支持openssl 0,查看下载的libcurl的文档,F:curl_opensslcurl-7.65.3winbuildBUILD.WINDOWS.txt里面有详细的介绍以及编译方法。(看官方文档参照编译才是最正规的方法,遇到问题再去搜索方法解决) 1,编译时需要配置参数支持openssl,其他zlib,libssh2等同样;文档也提供了很多已经编译好的openssl,zlib等的动态静态文件,可以下载查阅,这真的是省却了很多的麻烦。;地址如下:(根据需要到各个目录下查找) https://windows.php.net/downloads/php-sdk/deps/vc15/x86/ 2,执行命令:(vs2015 x86本机工具命令提示符 ) nmake /f Makefile.vc mode=dll VC=15 WITH_DEVEL=F:libcurl_lib WITH_SSL=static ENABLE_SSPI=no ENABLE_IPV6=no 备注:WITH_DEVEL=F:libcurl_lib(下载的openssl等各个支持包文件的目录) 3,执行完成后: F:curl_opensslcurl-7.65.3uilds 下目录就会生成如下几个文件: libcurl-vc15-x86-release-dll-ssl-static-obj-lib libcurl-vc15-x86-release-dll-ssl-static-obj-curl libcurl-vc15-x86-release-dll-ssl-static libcurl-vc15-x86-release-dll-ssl-static/bin目录下就可以找到生成的dll,exe文件,如果运行出错添加响应的dll文件即可; 参考文献: 1,https://blog.csdn.net/lt623265189/article/details/78616242 2,https://www.cnblogs.com/cposture/p/9029014.html (关于CA证书) 3,https://www.cnblogs.com/yongpan/p/8084854.html (关于CA证书) 4,https://blog.csdn.net/u014421422/article/details/50264383/ 5,https://blog.csdn.net/xiongya8888/article/details/86266129 二,openssl与数字证书使用 在HTTPS的传输过程中,有一个非常关键的角色——数字证书,那什么是数字证书?又有什么作用呢? 所谓数字证书,是一种用于电脑的身份识别机制。由数字证书颁发机构(CA)对使用私钥创建的签名请求文件做的签名(盖章),表示CA结构对证书持有者的认可。数字证书拥有以下几个优点: 使用数字证书能够提高用户的可信度 数字证书中的公钥,能够与服务端的私钥配对使用,实现数据传输过程中的加密和解密 在证认使用者身份期间,使用者的敏感个人数据并不会被传输至证书持有者的网络系统上 X.509证书包含三个文件:key,csr,crt。 key是服务器上的私钥文件,用于对发送给客户端数据的加密,以及对从客户端接收到数据的解密 csr是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名 crt是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息 1,https://blog.csdn.net/qq_37979887/article/details/80491849 2,https://blog.csdn.net/vip97yigang/article/details/78989798 3,https://www.cnblogs.com/chenyangchun/p/6868102.html