用 OPENSSL 生成不同格式的密钥

密钥 key 值包括

加密算法: RSA/DSA/ECC

加密位数: 1024/2048/4096

密钥口令:加密方式有很多

在使用 DSA/ECC 加密算法时,首先需要生成算法参数文件 param-file

1. 生成 RSA 加密算法密钥

# openssl genrsa -out rsakey.pem 4096

或者是这个指令

# openssl genpkey -algorithm RSA -out rsakey.pem 4096

2. 生成 DSA 加密算法密钥

# openssl dsaparam -out dsaparam.pem 4096

# openssl gendsa dsaparam.pem -out dsakey.pem

或者是这些指令

# openssl dsaparam -in dsaparam.pem -out dsakey.pem

# openssl genpkey -paramfile dsaparam.pem -out dsakey.pem

##openssl genpkey -genparam -algorithm DSA  -out dsakey.pem

3. ECC 加密算法密钥

OpenSSL内置椭圆曲线的完整列表可以通过以下命令获得:

# openssl ecparam -list_curves

对于 openssl 内置的曲线中,部分曲线不被浏览器支持,常用的曲线有下列几种或者更多

secp384r1

secp521r1

prime256v1

生成 ECC 加密算法密钥

# openssl ecparam -name prime256v1 -out eccparam.pem

# openssl ecparam -genkey -in eccparam.pem -out ecckey.pem

或者是这个指令

# openssl genpkey -paramfile eccparam.pem -out ecckey.pem

4. 生成证书签发申请时同时生成加密私钥

openssl req

 -newkey rsa:bits 生成一个新的指定 'bits' 长度的 RSA 密钥

 -newkey dsa:file 生成一个新的 DSA 密钥,file 即参数文件

 -newkey ec:file  生成一个新的 EC 密钥, file 即参数文件

5. 生成证书签发申请和签发证书

openssl.exe req -utf8 -sha512 -days 10957 -newkey rsa:4096 -keyout rsa.key -out rsacsr.pem

openssl.exe ca -utf8 -md sha512 -days 3650 -in rsacsr.pem -out cert.cer

RSA 算法的密钥支持 sha512 ,而 /DSA/ECC 算法的密钥貌似只支持 sha256 及256以下

用 OPENSSL 生成不同格式的密钥的更多相关文章

  1. openssl生成RSA格式,并转为pkcs8格式

    原文地址:http://www.thinkingquest.net/articles/391.html?utm_source=tuicool 支付宝接口开发相关:openssl 加密工具 支付宝“手机 ...

  2. openssl生成rsa密钥对和密钥格式转换

    首先要下载安装好openssl,下载地址:https://www.openssl.org/source/,安装完成后可以进到命令行运行以下命令: 1. 生成私钥: openssl genrsa -ou ...

  3. 利用openSSL 生成RSA公钥和密钥

    安装openssl for Windows. 之后开管理员控制台,打开openSSL 我的是 C:\OpenSSL-Win32\bin\openssl.exe 生成1024位的私钥,不指定的话默认20 ...

  4. openssl生成RSA格式的公私钥,并转为pkcs8格式

    第一步:生成私钥,这里我们指定私钥的长度为2048 openssl genrsa -out rsa_private_key.pem 2048 第二步:根据私钥生成对应的公钥: openssl rsa ...

  5. Mac OpenSSL 生成支付宝 2048位密钥

    安装OpenSSL: brew install openssl 然后: OpenSSL> genrsa -out rsa_private_key.pem 2048 #生成私钥 OpenSSL&g ...

  6. 如何利用OpenSSL生成证书

    此文已由作者赵斌授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.前言 最近为了测试内容分发网络(Content Delivery Network,简称 CDN)添加的新功 ...

  7. openssl生成RSA密钥证书

    1.openssl的安装 2.RSA密钥证书的生成 3.openssl的常用命令 1.openssl的安装 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用.健壮.功能完备的工具套 ...

  8. .NET使用OpenSSL生成的pem密钥文件

    NET要使用OpenSSL生成的pem密钥文件,网上资料很少(http://www.faqs.org/rfcs/rfc1421.html,RFC1421文件又老长老长),仅有的资料还是有错误的,所以今 ...

  9. PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解

    一.公钥加密假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这个文 ...

随机推荐

  1. ECNUOJ 2856 仰望星空

    仰望星空 Time Limit:1000MS Memory Limit:65536KBTotal Submit:373 Accepted:145 Description  我仰望星空, 它是那样辽阔而 ...

  2. 手动创建DataTable并添加数据

    DataTable dt=new DataTable(); DataColumn dc=dt.Columns.Add("OBJECTID",Type.GetType("S ...

  3. ArcGIS api for javascript——地图配置-定制缩放动画,定制缩放框

    描述 本例展示了当用户放大或缩小地图时如何定义地图的动画.zoomDuration和zoomRate是Dojo动画属性,他们确定了动画的duration和帧刷新的rate .这些属性单位是毫秒,zoo ...

  4. [Recompose] Pass a React Prop to a Stream in RxJS

    When you declare your Component and Props in JSX, you can pass those props along to your RxJS stream ...

  5. PHP 做图片锐化处理

    <?php //读取图像的类型 //1=GIF,2=JPG,3=PNG,4=SWF,5=PSD,6=BMP,7=TIFF(intelbyteorder),8=TIFF(motorolabyteo ...

  6. Java 开源博客 —— Solo 0.6.8 正式版发布了!

    Java 开源博客 -- Solo 0.6.8 正式版发布了,欢迎大家下载.另外,欢迎观摩我们的另一个产品,在线 Golang IDE--Wide! 特性 基于标签的文章分类 博客/标签 Atom/R ...

  7. LINQ的基本语法包含如下的8个上下文关键字,这些关键字和具体的说明如下

    出于工作需要,准备把LINQ的相关知识梳理一遍,希望能填补下之前学习漏掉的或是没有注意的地方,也为未来减轻压力~ LINQ查询表达式的基本语法很容易掌握,它使用C#常见的语言构造,从外观上看,和我们常 ...

  8. Cisco交换机IOS配置介绍

    一.模式• 用户模式(>):• 特权模式(#):• 全局配置模式(config#):• 接口配置模式(config-if#):• 线路模式(#config-line): 二.基本IOS命令结构• ...

  9. VBA 字符串操作(基础篇)

    转自:http://blog.csdn.net/jyh_jack/article/details/2315345 mid(字符串,从第几个开始,长度) 在[字符串]中[从第几个开始]取出[长度个字符串 ...

  10. 使用js实现简单放大镜的效果

    实现原理:使用2个div,里面分别放大图片和小图片,在小图片上应该还有一个遮罩层,通过定位遮罩层的位置来定位大图片的相对位置,而且,遮罩层的移动应该和大图片的移动方向相反 关键: 大图片和小图片大小比 ...