在使用CentOS自带的OpenSSL制作证书文件时,发现居然不支持一些ECC算法,例如BrainpoolP256r1,分析后发现是由于OpenSSL版本过旧造成的,1.0.2版本及后续版本都已经开始支持BrainpoolP256r1算法了。
如你在使用OpenSSL也遇到算法不支持或者想升级OpenSSL版本,可以参照以下方法:
第一步:查看下当前OpenSSL版本
[root@duoluodeyu]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
第二步:安装必要的软件
yum install gcc gcc-c++ autoconf automake zlib zlib-devel pcre-devel
第三步:下载并解压 OpenSSL(本文以1.0.2版本为例,其他版本请访问https://www.openssl.org/source/获取下载地址)
第四步:编译安装 OpenSSL
cd openssl-1.0.2*
./config
make && make install
第五步:移除旧版本 OpenSSL
mv /usr/bin/openssl /tmp/
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
最后在查看下OpenSSL版本号,确认是否升级成功。
OpenSSL升级到1.0.2版本即可支持BrainpoolP256r1算法。