OpenSSL 工具生成RSA密钥对

教程分享 > Linux和Shell教程 (460) 2024-08-13 11:30:19

前言

某些地方要用到RSA非对称加密的公私密钥。记录通过openssl 工具生成RSA公钥和私钥

 

OpenSSL工具安装

这里是openssl的官方开源库 Releases · openssl/openssl · GitHub 可以通过源码编译。我这里就暂时下载Windows用的就行了。所以打开了编译后的资源站 Win32/Win64 OpenSSL Installer for Windows 

OpenSSL 工具生成RSA密钥对_图示-645e6635495648d482d76e901317a987.png
打开网页后往下拉找到上图的地方直接下载MSI或者exe安装包

安装包下载好以后直接双击下一步下一步安装好即可(途中有个添加到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 进行密码输入,否则会提示输入密码;

 

私钥PKCS#1转PKCS#8

生成未加密的私钥

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

相关文章
前言某些地方要用到RSA非对称加密的公私密钥。记录通过openssl 工具生成RSA公钥和私钥 OpenSSL工具安装这里是openssl的官方开源库 Rele
生成SSH公钥和私钥ssh-keygen -t rsa #注意生成时设置密钥的密码,这样在利用证书登录时就会先验证密码导入公钥#导入公钥到服务器用户ssh证书列表 cat ~/.ssh/id...
一  编辑SSH配置文件启用证书登录vim /etc/ssh/sshd_config找到#PubkeyAuthentication yes将前面的#注释删除,后面必须是yes二 重启SSHD服务...
Docker overlay网络_Docker 集群网络overlay网络overlay网络用于连接不同机器上的docker容器,允许不同机器上的容器相互通信,同时支持对消息进行加密,当我们初始...
GrayLog admin账号修改密码(docker版)由于graylog的admin账号不是配置到数据库中,而是配置到配置文件/etc/graylog/server/server.conf里面...
acme.sh脚本docker方式使用获取免费SSL证书环境docker构建version:"3.8"services:acme.sh:image:neilpang/acme.sh:3.0.4c...
Ubuntu 硬盘分区扩容命令进行磁盘操作时请务必备份数据!!! 事情是这样的,服务器系统盘是块 120GB 的 SSD,当时装系统的时候只给了 50GB,还剩下 70GB 的剩余容量,那么现在...
错误描述pve8或ubuntu fail2ban 无法启动 Have not found any log file for sshd jail导致原因没有找到s
Nginx 限流组件limit_req limit_req作用: 限制用户(同一个ip)在给定时间内HTTP请求的数量, 流量限制主要用作安全目的, 可以防止大量请求的...
Docker stack 使用演示案例一环境准备安装好docker swarm(本文以1manager+3worker为例)spring boot demo演示项目通过NFS实现共享目录访问资源...
acme.sh说明acme.sh是一个Let's SSL证书颁发的官方推荐shell脚本开源免费安装acme.shcurl https://get.acme.sh | sh提示:普通用户和 ro...
CentOS 7 安装最新Docker-ce# 配置repo源 默认repo源没有docker-ce安装包,需要新的repo源安装依赖库,yum-utils 提供命令"yum-config-ma...