0,安装fips版本,据说比单纯的openssl快五倍
./config fips --with-fipsdir=/usr/local/related/openssl-fips-2.0.16 --prefix=/usr/local/related/openssl-1.0.2o --openssldir=/usr/local/related/openssl-1.0.2o/ssl
make depend
make install
安装第二次生成动态链接库
./config shared fips --with-fipsdir=/usr/local/related/openssl-fips-2.0.16 --prefix=/usr/local/related/openssl-1.0.2o --openssldir=/usr/local/related/openssl-1.0.2o/ssl
make clean
make depend
make install
如果报库文件找不到可以 :--with-fipslibdir=/usr/local/related/openssl-fips-2.0.16/lib 指定fips的lib库位置
然后软链 :
ln -s /usr/local/related/openssl-1.0.2o/bin/openssl /usr/bin/openssl
其实到这一步已经能看到系统中的openssl已经更新了
openssl version -a 查看下
但是建议仍然把步骤进行完,虽然我也不知道不进行完会产生什么后果。
1,
安装新版
prefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库。
tar -zxf openssl-1.1.0f
cd openssl-1.1.0f/
./config --prefix=/usr/local/related/openssl --openssldir=/usr/local/related/openssl/ssl
make && make install
./config shared --prefix=/usr/local/related/openssl --openssldir=/usr/local/related/openssl/ssl
make clean
make && make install
2,
进行配置
备份原来的openssl命令
mv /usr/bin/openssl /usr/bin/openssl.bak
备份原来的openssl目录 (一些环境下本地include下面没有旧的openssl目录,这里我的环境是liunx7,centos6.8)
mv /usr/include/openssl /usr/include/openssl.bak
将安装好的bin目录中的openssl文件软连到/usr/bin/openssl
ln -s /usr/local/related/openssl/bin/openssl /usr/bin/openssl
将安装好的openssl 的openssl目录软连到/usr/include/openssl
ln -s /usr/local/related/openssl/include/openssl /usr/include/openssl
修改系统自带的openssl库文件,如/usr/local/lib64/libssl.so(根据机器环境而定) 软链到升级后的libssl.so
ln -s /usr/local/related/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so ----注意时usr/local下的lib64不是/usr/lib64,两个目录下有同名目录,有可能在/usr/local/lib64/并不存在文件
在/etc/ld.so.conf文件中写入openssl库文件的搜索路径
echo "/usr/local/related/openssl/lib" >> /etc/ld.so.conf
使修改后的/etc/ld.so.conf生效
ldconfig -v
最好查看下openssl版本号,看是否已经更新成最新的,
openssl version -a
3,
使用头文件目录:
/usr/local/related/openssl/include
gcc编译的时候加-lssl,同时指定libssl.so。
4,如果需要加入fips模块:
最近在弄openssl,发现openssl-fips-2.0.6.tar.gz其实是编译出来一个fips的模块,编译出来的东西指定安装在/usr/local/ssl/fips-2.0/目录,然后编译openssl-1.0.1h.tar.gz时config时指定OPENSSL_FIPS,就可以把fips模块编进来,如果报头文件错误可以把/usr/local/ssl/fips-2.0/include/openssl替换系统的/usr/include/openssl,如果找不到相关库可以用--with-fipslibdir=/usr/local/ssl/fips-2.0/lib指定,我测试龙芯的机器加入fips模块后比直接编译openssl-1.0.1h.tar.gz,openssl speed rsa512测试能提高20倍