介绍
OpenSSL是用于传输层安全性(TLS)和安全套接字层(SSL)的协议,功能强大且齐全的商业级工具包。它也是一个通用加密库。
https://www.openssl.org/
下载 tar.gz 包
https://www.openssl.org/source/
当前最新版本包为 openssl-3.0.0-alpha10.tar.gz
解压编译安装
解压源代码
代码语言:javascript复制tar xzvf openssl-3.0.0-alpha10.tar.gz
进入源代码目录
代码语言:javascript复制cd openssl-3.0.0-alpha10
使用如下命令编译和安装
代码语言:javascript复制./Configure
make
sudo make install
安装结束后,使用 openssl version
命令测试是否安装成功
.../openssl/openssl-3.0.0-alpha10$ openssl version
openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory
如果遇到 “openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory” 的报错问题,使用如下两个命令解决
代码语言:javascript复制sudo ln -s /usr/local/lib/libssl.so.3 /usr/lib/libssl.so.3
sudo ln -s /usr/local/lib/libcrypto.so.3 /usr/lib/libcrypto.so.3
本地效果
代码语言:javascript复制.../openssl/openssl-3.0.0-alpha10$ sudo ln -s /usr/local/lib/libssl.so.3 /usr/lib/libssl.so.3
.../openssl/openssl-3.0.0-alpha10$ sudo ln -s /usr/local/lib/libcrypto.so.3 /usr/lib/libcrypto.so.3
.../openssl/openssl-3.0.0-alpha10$ openssl version
OpenSSL 3.0.0-alpha10 7 Jan 2021 (Library: OpenSSL 3.0.0-alpha10 7 Jan 2021)
使用 openssl version
出现版本号的时候说明安装成功了
OpenSSL 生成密钥
生成私钥
代码语言:javascript复制openssl genrsa -out app_private_key.pem 2048
私钥转为PKCS8格式
代码语言:javascript复制openssl pkcs8 -topk8 -inform PEM -in app_private_key.pem -outform PEM -nocrypt -out app_private_key_pkcs8.pem
生成公钥
代码语言:javascript复制openssl rsa -in app_private_key.pem -pubout -out app_public_key.pem
以上命令执行后在执行目录下会分别生成 app_private_key.pem, app_private_key_pkcs8.pem, app_public_key.pem 三个文件。
接下来就可以想干嘛干嘛了...