openssl -- RSA秘钥格式 PEM/PKCS#8

1.PEM私钥格式文件

-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----

2. PKCS8私钥格式格式

-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----

2. PEM公钥格式文件

-----BEGIN PUBLIC KEY-----
-----END PUBLIC KEY-----

3. PEM RSAPublicKey公钥格式文件

-----BEGIN RSA PUBLIC KEY-----
-----END RSA PUBLIC KEY-----

指令执行过程:

生成PEM格式私钥

$ openssl genrsa -out id_rsa_private 1024    #  -out 指定生成文件,此文件包含公钥和私钥两部分,所以即可以加密,也可以解密。 1024 生成密钥的长度

生成私钥(把RSA私钥转换成PKCS8格式)

$ openssl pkcs8 -topk8 -inform PEM -in id_rsa_private -outform pem -nocrypt -out id_rsa_private_pkcs

提取公钥

$ openssl rsa -in id_rsa_private -pubout -out id_rsa_public.pub   # -in 指定输入的密钥文件 -out 指定提取生成公钥的文件(PEM公钥格式)

提取PEM RSAPublicKey格式公钥

$ openssl rsa -in id_rsa_private -RSAPublicKey_out -out id_rsa_public  # -in 指定输入的密钥文件  -out 指定提取生成公钥的文件(PEM RSAPublicKey格式)

生成的秘钥文件:

$ cat id_rsa_private

$ cat id_rsa_private_pkcs

$ cat  id_rsa_public.pub

$ cat id_rsa_public

pkcs#8 参数参考链接:https://www.cnblogs.com/aixiaoxiaoyu/articles/8856312.html

原文地址:https://www.cnblogs.com/ruigelwang/p/12693320.html

时间: 2024-11-08 10:55:53

openssl -- RSA秘钥格式 PEM/PKCS#8的相关文章

一台电脑存放多个git账户的多个rsa秘钥(转)

如何在一个电脑上存储多个git账户生成的多份rsa秘钥,实现多个账户同时使用配置的情况?今天,不幸又再次遇到这个问题. 问题描述 公司最近在开发一款开源产品,项目被托管在github上,但是公司内部一直使用的是gitlab,而且早就配了gitlab的rsa秘钥.之前的做法是重新生成一个github秘钥,覆盖掉之前的gitlab秘钥.每次切换过程就意味每次需要重新生成一份秘钥.只有两个账户的情况还能勉强接受下,某一天再想搞个小号刷副本时,这酸爽真的没法形容. 解决办法 今天总算想了一个办法,解决方

APICloud集成支付宝--RSA秘钥生成详解

RSA 和 OpenSSL 介绍 记得大学里有门课叫<电子支付与安全>,这里面就讲了双重秘钥加密,主要内容如下: RSA 是一种非对称的签名算法,即签名密钥(私钥)与验签密钥(公钥)是不一样的, 私钥用于签名,公钥用于验签.在与支付宝交易中,会有 2 对公私钥,即商户公私钥,支付宝公私钥.使用这种算法可以起到防止数据被篡改的功能,保证支付订单和支付结果不可抵赖(商户私钥只有商户知道). OpenSSL 是基于众多的密码算法.公钥基础设施标准以及 SSL 协议安全开 发包.通过 OpenSSL

openssl生成秘钥对

openssl genrsa -out pri.pem 1024 openssl rsa -in pri.pem -out pub.pem -pubout 这样就生成秘钥对了,其中pri.pem是私钥,pub.pem是公钥 比如当前目录有一个文件叫test.txt 加密test.txt openssl rsautl -encrypt -in test.txt -inkey pub.key -pubin -out en-test.exe 解密文件 openssl rsautl -decrypt -

windows 下OPENSSL 生成秘钥和公钥的方法

1. 生成原始 RSA私钥文件 private_key.pem openssl genrsa -out private_key.pem 1024 2. 将原始 RSA私钥转换为 pkcs8格式 openssl pkcs8 -topk8 -inform PEM -in private_key.pem -outform PEM -nocrypt -out rsa_private_key.pem 3. 生成 RSA公钥 rsa_public_key.pem openssl rsa -in privat

自己实现简单的RSA秘钥生成与加解密(Java )

最近在学习PKI,顺便接触了一些加密算法.对RSA着重研究了一下,自己也写了一个简单的实现RSA算法的Demo,包括公.私钥生成,加解密的实现.虽然比较简单,但是也大概囊括了RSA加解密的核心思想与流程.这里写下来与大家分享一下. RSA概述: RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准. RSA的数学基础是大整数因子分解问题,其说明如下: 给定两个素数p.q,计算乘积pq=n很容易 给定整数n,求n的素因数p.q使得n=p

WSL、Git on Windows 、Putty等的创建的rsa秘钥与连接linux的使用。

1. 在windows 上面可以使用多种方式创建公钥和私钥 这里从一开始说: 1.1 windows subsystem linux 的方式最简单了 cmd 命令行 下 进入 WSL 输入命令 bash 然后 输入 ssh-keygen 创建私钥创建一个 证书存放位置. 然后就可以生成了 如上就是简单生成的 私钥 (这个秘钥对我来说没用.) 其实可以看一下 ssh-copy-id 的默认文件总是去找 /root/.ssh 目录下面的 其实 我这个证书秘钥文件 是当时我学习git 时 用git创建

用Java实现RSA加解密及签名和验签(1)——.pem文件格式秘钥

一.***.pem文件格式的秘钥(获取秘钥:可通过文件读取内容或者直接打开文件复制内容),我这里是打开文件复制秘钥直接使用 1.准备秘钥对,通过openssl生成秘钥对,生成秘钥可参考:https://www.cnblogs.com/ouyanxia/p/12427955.html A_RSA_PRIVATE_KEY=-----BEGIN PRIVATE KEY-----MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDnPzYKf20JIza

利用OpenSSH实现基于秘钥的认证

利用OpenSSH实现基于秘钥的认证 SSH协议介绍:     SSH是Secure Shell的缩写,意思是安全的shell          目前版本有 ssh v1和ssh  v2:在目前工作中大多都使用ssh v2版,ssh  v1已经不安全,尽量不使用              ssh v1:基于CRC-----32做MAC(Message Authentication Code),不安全              ssh v2:基于双方主机的协商最安全的MAC的方式:基于DH算法做秘

linux7-docker私有仓库nginx秘钥验证搭

这是一个企业使用的docker私有仓库搭建方法通过nginx CA密钥对验证提高安全性.保证数据不丢失,提供仓库容器外部存储 首先安装docker和nginx的支持包,ssl秘钥验证等 docker用yum安装即可 nginx 支持吧 秘钥等也用yum相关包是 yum -y install pcre-devel zlib-devel openssl openssl-devel秘钥对需要解析域名验证所以需要做DNS懒得做直接修改hosts文件vim /etc/hosts192.168.1.0