文档章节

RSA公私钥快速生成和RSA证书快速创建"利器"

钟声已经敲响
 钟声已经敲响
发布于 2017/07/27 22:26
字数 523
阅读 1555
收藏 115
点赞 3
评论 5

一.创建pkcs8格式的RSA私钥和和公钥

步骤如下:

1.生成 RSA 私钥
openssl genRSA -out RSAprivatekey.pem 1024

2.生成对应的公钥
openssl RSA -in RSAprivatekey.pem -pubout -out RSApublickey.pem

3.将 RSA 私钥转换成 PKCS8 格式,
openssl pkcs8 -topk8 -inform PEM -in RSAprivatekey.pem -outform PEM -nocrypt -out RSAprivatepkcs8.pem
 
4.生成的RSAprivatepkcs8.pem/RSApublickey.pem 需要提取key文件部分并且将key合并成一行生成新的公钥和私钥, 这对密钥就可以用了.即生成了后缀名为pem格式的Rsa密钥.

$ cat merge.py
import sys
fname = sys.argv[1]
f=open(fname)
total=''
for l in f.readlines():
    if l.startswith('----'):
            continue
    total = total + l.strip()
print(total)

 

二.创建pkcs12格式的RSA证书

        今天生成pkcs12格式的RSA密钥老出问题,在把公钥和私钥合并生成.p12证书的时候,一直出错提示

unable to load certificates, 后来重新找生成2048 bit的就没有问题了,之前生成的都是1024 bit的.生成过程很

简单.

具体步骤如下:

1.运行以下OpenSSL命令生成私钥和公钥证书(运行以下OpenSSL命令生成私钥和公共证书)

(certificate.pem为公钥,key.pem为私钥)

openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem

2.查看自己创建的公钥证书

openssl x509 -text -noout -in certificate.pem

3.合并公钥和私钥生成PKCS 12证书:

openssl pkcs12 -inkey key.pem -in certificate.pem -export -out certificate.p12

4.校验PKCS 12证书密码

openssl pkcs12 -in certificate.p12 -noout -info

 

到此PKCS 12证书文件就生成好了,直接在windows下双击输入密码进行导入后,就可以在爱IE浏览器下的证书下面看见了.例如:

 

 

 

三.从pkcs12RSA证书获取RSA私钥和和公钥

1.获取pem后缀公钥:

    openssl pkcs12 -in yourP12File  -clcerts -nokeys -out publicCert.pem

2.先把p12证书安装导入到IE浏览器下,再从IE中导出公钥.支持的格式有CER,P7B格式.

 

3.获取pem后缀私钥:

openssl pkcs12 -in yourP12File  -nocerts -out privateKey.pem

 

查阅:

https://www.ibm.com/support/knowledgecenter/en/SSWHYP_4.0.0/com.ibm.apimgmt.cmc.doc/task_apionprem_gernerate_self_signed_openSSL.html

© 著作权归作者所有

共有 人打赏支持
钟声已经敲响
粉丝 11
博文 35
码字总数 32332
作品 0
海淀
程序员
加载中

评论(5)

钟声已经敲响
钟声已经敲响

引用来自“CasparLi”的评论

.... 所以利器就是指的 openssl咯?
比较它已经支持得很好了,简易,粗暴,我的格言是能简单处理就绝不复杂化:grin:
CasparLi
CasparLi
.... 所以利器就是指的 openssl咯?
OSC_ZJqUVa
OSC_ZJqUVa

引用来自“Roninworld”的评论

引用来自“OSC_ZJqUVa”的评论

阿德
:disappointed_relieved:阿德是啥

乱写的,刚下下来应用,试试��[唉],点击[ http://pinyin.cn/e54371 ]查看表情
Roninworld
Roninworld

引用来自“OSC_ZJqUVa”的评论

阿德
:disappointed_relieved:阿德是啥
OSC_ZJqUVa
OSC_ZJqUVa
阿德
浅析RSA公钥密码以及使用Java自带API实现RSA的密钥生成和加解密

RSA是目前最流行的非对称密码,目前广泛应用在数字签名,数字证书上。 那么什么是非对称密码呢?就是给明文加密的密钥和给密文解密的密钥是不一样的。其中,对外暴露的是公钥,自己保留的是私...

Lunqi
2015/07/15
0
1
C# 中使用 RSA加解密算法

一、什么是RSA   RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。      在公开...

唐僧他大叔
2017/04/12
0
0
mac下生成公私钥

在应用中为了数据安全,在采用RSA加密时就要用到公私钥,那么在mac下怎么生成公私钥呢?网上资料一大堆,在这里也只是记录一下,备忘,以方便查阅。 很方便的是,mac自带openssl,一切的操作...

hungryBoy
2016/03/23
176
0
centos7下git服务器端搭建和验证

一服务器端 1、检查git which git 安装 yum install git 2、创建git用户,密码git,运行git服务 useradd gitpasswd gitsu - gitcd ~mkdir .ssh 3、创建证书登录: 收集所有需要登录的用户的公...

liyghting
2016/03/21
771
0
JAVA-RSA-OpenSSL

openssl生成公私钥对 生成私钥 openssl genrsa -out rsaprivatekey.pem 1024 导出公钥 openssl rsa -in rsaprivatekey.pem -out rsapublickey.pem -pubout 私钥转PKCS#8编码 openssl pkcs8 ......

fabself
2014/11/01
0
0
Java--使用公私钥对加解密

Java-使用公私钥对加解密 一,问题描述 当你在某些安全行业,比如说金融,在与外部对接接口时,常常会用到加解密,今天我们 主要来简单记录下有关如何使用 Java 去实现加解密 本博客适用于使...

fajor
2016/09/13
56
0
OpenSSL 转换证书格式

OpenSSL 转换证书格式 原创 2016-08-30 景峯 Netkiller 工作中我相信你一定会遇到处理数字证书的时候。各种平台,各种语言,它们采用的证书格式与标准都不相同,多多少少存在一些差异。实际上...

neo-chen
2016/09/08
67
0
ssl握手协议中的CipherSuite

下面是一个ssl握手的过程,没有进行客户端验证: 1.C-S:ClientHello---cipher-suit-list 2.S-C:ServerHello---selected-cipher-suit 3.S-C:ServerKeyExchange 4.S-C:ServerHelloDone 5.C......

晨曦之光
2012/04/10
5.8K
2
Apache Hadoop集群安装记录-基于CentOS虚拟机(2主4从)

一、平台环境 1、VMware虚拟机 6台虚拟机,每台分配2CPU(线程)、4GB内存、50GB磁盘空间 2、CentOS 6.8系统 内核版本:2.6.32-642.el6.x86_64 3、集群网络配置 主机名 固定IP(Host-only 内...

Goopand
2016/08/26
31
0
php 的rsa加密与解密

系统:centos6.5 linux系统生成公私钥对方法: openssl genrsa -out rsaprivatekey.pem 1024 openssl pkcs8 -topk8 -inform PEM -in rsaprivatekey.pem -outform PEM -nocrypt -out private......

蛋定龙
2015/09/29
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前端基础

1. get请求传参长度的误区 误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的。 实际上HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对get请求参数的限制是...

wenxingjun
今天
0
0
Android 复制和粘贴功能

做了一回搬运工,原文地址:https://blog.csdn.net/kennethyo/article/details/76602765 Android 复制和粘贴功能,需要调用系统服务ClipboardManager来实现。 ClipboardManager mClipboardM...

她叫我小渝
今天
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
今天
6
0
jQuery零基础入门——(六)修改DOM结构

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 在《零基础入门JavaScript》的时...

JandenMa
今天
0
0
linux mint 1.9 qq 安装

转: https://www.jianshu.com/p/cdc3d03c144d 1. 下载 qq 轻聊版,可在百度搜索后下载 QQ7.9Light.exe 2. 去wine的官网(https://wiki.winehq.org/Ubuntu) 安装 wine . 提醒网页可以切换成中...

Canaan_
今天
0
0
PHP后台运行命令并管理运行程序

php后台运行命令并管理后台运行程序 class ProcessModel{ private $pid; private $command; private $resultToFile = ''; public function __construct($cl=false){......

colin_86
今天
1
0
数据结构与算法4

在此程序中,HighArray类中的find()方法用数据项的值作为参数传递,它的返回值决定是否找到此数据项。 insert()方法向数组下一个空位置放置一个新的数据项。一个名为nElems的字段跟踪记录着...

沉迷于编程的小菜菜
今天
1
1
fiddler安装和基本使用以及代理设置

项目需求 由于开发过程中客户端和服务器数据交互非常频繁,有时候服务端需要知道客户端调用接口传了哪些参数过来,这个时候就需要一个工具可以监听这些接口请求参数,已经接口的响应的数据,这种...

银装素裹
今天
0
0
Python分析《我不是药神》豆瓣评论

读取 Mongo 中的短评数据,进行中文分词 对分词结果取 Top50 生成词云 生成词云效果 看来网上关于 我不是药神 vs 达拉斯 的争论很热啊。关于词频统计就这些,代码中也会完成一些其它的分析任...

猫咪编程
今天
0
0
虚拟机怎么安装vmware tools

https://blog.csdn.net/tjcwt2011/article/details/72638977

AndyZhouX
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部