2016年9月份的时候苹果公司要求ios app需要使用https安全网络协议,虽然不强制,但是现在人们对于安全越来越重视,所以使用https来做网络数据传输势在必行。
感觉到了时间的紧迫,现在想要自己做一下测试,方便以后项目中使用。
我这里的服务器环境是:操作系统Centos6.5 ;由于linux系统本身已经安装了openssl,但是一般版本会比较低,所以需要升级,下面是openssl(https://www.openssl.org)官网上的一段话:
Note: The latest stable version is the 1.1.0 series of releases. Also available is the 1.0.2 series. This is also our Long Term Support (LTS) version (support will be provided until 31st December 2019). The 0.9.8,1.0.0 and 1.0.1 versions are now out of support and should not be used.
就是说OpenSSL官方已停止对 0.9.8和 1.0.0 和1.0.1三个版本的升级维护,1.0.2版本貌似也只会维护到2019年底。
所以我就在官网上下载了最新的openssl安装包,现在最新的版本是:openssl-1.1.0e.tar.gz
可以查看现在的版本号:openssl version -a
把最新的下载到本地,然后传到服务器上,进行解压、安装。我是参照网上的安装教程,但是过程中遇到了一些问题,这里一一记录。
1、解压下载的openssl压缩包
tar -zxvf openssl-1.0.1g.tar.gz
2、进入解压后的openssl文件夹
cd openssl-1.1.0e
然后执行配置指令:
./config shared zlib
有的地方说是执行:./config shared zlib-dynamic (我执行的是上门那句,不知道执行这句还会不会遇到下面make时候的错误)
然后执行make、make install指令,然后就报了很多错误,我截取其中一部分如下:
/bin/sh: gcc: command not found
make[1]: *** [crypto/aes/aes-x86_64.o] Error 127
make[1]: Leaving directory `/home/softback/openssl-1.1.0e'
make: *** [all] 错误 2
注意到,其中一个错误就是没有安装gcc,我觉得很有可能其它错误也是因为没有安装gcc编译器引起的,所以先安装gcc,看我的另一篇博客:
http://blog.csdn.net/cxm19881208/article/details/61919630
安装成功gcc。
3、执行安装指令:
make
make install
执行到make命令的时候又遇到了错误,其中一段是:
make[1]: *** [crypto/comp/c_zlib.o] Error 1
make[1]: Leaving directory `/home/softback/openssl-1.1.0e'
make: *** [all] 错误 2
网上查了下,大概是不需要zlib的意思,所以首先执行指令:
./config --prefix=/usr/local/sslshared no-zlib
然后再执行
make
make install
4、进行配置
重命名原来的openssl命令
mv /usr/bin/openssl /usr/bin/openssl.bak
重命名原来的openssl目录 (我这里不知道为什么,本地include下面没有旧的openssl目录)
mv /usr/include/openssl /usr/include/openssl.bak
将安装好的openssl 的openssl命令软连到/usr/bin/openssl
ln -s /usr/local/sslshared/bin/openssl /usr/bin/openssl
将安装好的openssl 的openssl目录软连到/usr/include/openssl
ln -s /usr/local/sslshared/include/openssl /usr/include/openssl
修改系统自带的openssl库文件,如/usr/local/lib64/libssl.so(根据机器环境而定) 软链到升级后的libssl.so
ln -s /usr/local/sslshared/lib/libssl.so.1.1 /usr/local/lib64/libssl.so
在/etc/ld.so.conf文件中写入openssl库文件的搜索路径
echo "/usr/local/sslshared/lib" >> /etc/ld.so.conf
使修改后的/etc/ld.so.conf生效
ldconfig -v
最好查看下openssl版本号,看是否已经更新成最新的,
openssl version -a