某些地方要用到RSA非对称加密的公私密钥。记录通过openssl 工具生成RSA公钥和私钥
这里是openssl的官方开源库 Releases · openssl/openssl · GitHub 可以通过源码编译。我这里就暂时下载Windows用的就行了。所以打开了编译后的资源站 Win32/Win64 OpenSSL Installer for Windows
安装包下载好以后直接双击下一步下一步安装好即可(途中有个添加到path记得勾选)
cmd命令生成简单的RSA 2048位密钥
执行下面命令
openssl genrsa -out rsa_private_2048.pem 2048
执行完成后你将在当前目录得到一个私钥文件 rsa_private_2048.pem
根据私钥生成公钥,执行下面命令
openssl rsa -in .\rsa_private_2048.pem -pubout -out rsa_public_2048.pem
执行完毕后你将在当前目录得到一个公钥文件 rsa_public_2048.pem
至此简单的RSA密钥对生成完毕可以拿去用了。
生成RSA私钥(使用aes256加密)
openssl genrsa -aes256 -passout pass:111111 -out rsa_aes_private.key 2048
其中 passout 代替shell 进行密码输入,否则会提示输入密码;
此时若生成公钥,需要提供密码
openssl rsa -in rsa_aes_private.key -passin pass:111111 -pubout -out rsa_public.key
其中 passin 代替shell 进行密码输入,否则会提示输入密码;
生成未加密的私钥
openssl genrsa -out rsa_private_2048.pem 2048
转换位PKCS#8
openssl pkcs8 -topk8 -in .\rsa_private_2048.pem -passout pass:111111 -out pkcs8_private.key
其中-passout指定了密码,输出的pkcs8格式密钥为加密形式,pkcs8默认采用des3 加密算法
使用-nocrypt
参数可以输出无加密的pkcs8密钥
openssl pkcs8 -topk8 -in .\rsa_private_2048.pem -nocrypt -out pkcs8_private_nocrypt.key
https://www.leftso.com/article/2408131104456299.html