1、git clone https://github.com/openssl/openssl.git
或取到的3.3.3-dev 【2024-03-05】
2、设定Openssl 安装,( --prefix )参数为欲安装之目录,也就是安装后的档案会出现在该目录下
./config --prefix=/usr/local/openssl
3、执行命令
./config -t
4、执行make、make install,编译Openssl
make & make install
5、切换openssl版本,centos默认安装了1.0.2k
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
注意:不能直接删除软链接
如需使用新版本开发,则需替换原来的软链接指向,即替换原动态库,进行版本升级。
替换/lib64和/usr/lib64和/usr/local/lib64存在的相应动态库:
ln -sf /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so
ln -sf /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so
6、 简单的sm2.c
gcc sm2.c -o sm2 -I/opt/openssl/include -lssl -lcrypto
运行ok