使用OpenSSL生成私钥 Private Key 以及根据Private Key创建证书

公钥和私钥通常是成对出现的,有了公钥那就存在对应的私钥,通常OpenSSL,公钥是很容易从私钥中得到的,因而我们要创建证书,那我们首先要做的就是创建私钥。

1、使用OpenSSL生成私钥
常用的生成算法有RSA及DSA,RSA生成的私钥可以用来加密以及签名,而DSA生成的私钥只可以用来签名

1.1)、RSA算法生成key的示例
 openssl genrsa -des3 -out privkey.pem 2048
 
genrsa:指定了生成了算法使用RSA
-desc:表示生成的key是有密码保护的(注:如果是将生成的key与server的证书一起使用,最好不需要密码,就是不要这个参数,否则其它人就会在请求的时候每次都要求输入密码)
-out:后面的参数表示生成的key的输入文件
2048:表示的是生成key的大小,单为字节(bits)

1.2)、DSA算法生成key的示例
根据DSA算法生成Key需要两步:

1.2.1)、第一步是生成用于生成Key的参数:
 openssl dsaparam -out dsaparam.pem 2048

1.2.2)、根据生成的参数生成Key:
openssl gendsa -des3 -out privkey.pem dsaparam.pem

详细参见:http://www.openssl.org/docs/HOWTO/keys.txt

2、使用OpenSSL创建证书申请及自签名证书
在第1步中,我们已经创建好了私钥,这个时候我们就可以使用创建好的private.pem来创建证书申请及自签名证书。

2.1) 创建证书申请
openssl req -new -key privkey.pem -out cert.csr
使用上面的命令就会创建一个证书申请,这里我们会要求输入国家、组织、姓名等信息,但是不会要求输入证书有效天数,因为证书有效天数是CA认证中心给我们的;然后我们会把这个生成好的cert.csr(Certificate Signing Request (CSR):证书签名申请)发给CA认证中心。
CA认证中心通过后,会反馈(通常是邮件)回来认证的信息,再导入即可。
关于导出CSR以及导入CA认证信息,可以参看文档:http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/keytool.html

2.2) 创建自签名的证书
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
如果不需要第三方授权,或者是要创建一个用于测试的授权,我们就可以这样操作。后面的参数"-days 1095"表示授权天数为1095天。

详细参见:http://www.openssl.org/docs/HOWTO/certificates.txt

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

原文地址:https://www.cnblogs.com/skiwdhwhssh/p/10295705.html

时间: 2024-10-20 12:21:45

使用OpenSSL生成私钥 Private Key 以及根据Private Key创建证书的相关文章

openssl 生成私钥、申请文件,证书导入jks说明

openssl 生成私钥.申请文件,证书导入说明 1.生成私钥 openssl genrsa -out serverkey.key 1024/2048 这样生成的私钥不带密码(以后生成密钥库后,要将密码改成和密钥库密码相同) openssl genrsa -des3 -out serverkey.key 1024/2048    这样生成的带密码(密码必须和以后生成的密钥库密码相同) 2.生成申请文件 openssl req -new -key serverkey.key -out cert.c

openssl生成私钥和公钥

openssl生成私钥和公钥 by 伍雪颖 私钥: openssl genrsa -out server.key 1024 公钥: openssl rsa -in server.key -pubout -out server.pem 生成证书CSR文件: openssl genrsa -out server.key 1024 openssl req -new -key server.key -out server.csr openssl x509 -req -in server.csr -sig

MAC OS下使用OpenSSL生成私钥和公钥的方法

MAC OS自带了OpenSSL,所以不用去编译那一坨跟SHIT一样的源码.直接在命令行里使用OPENSSL就可以. 打开命令行工具,然后输入 openssl打开openssl,接着只要三句命令就可以搞定.第一句命令生成私钥:第二句命令把RSA私钥转换成PKCS8格式,密码为空就行:第三句命令生成公钥. Last login: Fri Sep 12 00:59:51 on ttys000 stormerdeiMac:~ stormer$ openssl OpenSSL> genrsa -out

iOS开发--使用OpenSSL生成私钥和公钥的方法

最近要在新项目中使用支付宝钱包进行支付,所以要调研对接支付宝的接口,支付宝开放平台采用了RSA安全签名机制,开发者可以通过支付宝   公钥验证消息来源,同时可使用自己的私钥对信息进行加密,所以需要在本机上生成私钥和公钥 ... 由此需要开发者在本地上使用openssl来生成私钥和公钥 由于mac 自带openssl工具,所以不用像windows那样要下载安装openssl工具 生成私钥公钥很简单:只要三句命令就可以搞定 打开openssl : $openssl     =====>>     

使用OpenSSL生成CSR文件,并申请全球通用SSL证书

http://www.openssl.org 上只有OpenSSL的原代码下载,为了方便Windows用户使用OpenSSL,我们特地为您准备了OpenSSL 0.9.8.a for win32的可执行版本(binary版) 下载地址是: http://www.myssl.cn/download/OpenSSL_0.9.8.a_Win32.zip 你也可以使用 OpenSSL CSR在线生成器: http://www.myssl.cn/openssl/createcsr.asp (注意:您必须同

openssl生成csr文件,将crt和key文件转换成tomcat下的jks文件

openssl req -new -newkey rsa:2048 -nodes -keyout 1dottea.com.key -out domain.com.csr 这条命令将会生成2个文件:1个csr文件和1个key文件 domain.com.csr domain.com.key 将csr文件内容复制粘贴到godaddy中,点击申请. 申请成功之后,下载将会得到一个zip压缩包,我选择的时候选择的是其他类型(没有nginx服务器,所以选择的其他). 压缩包里面有2个类似下面的文件 313f

openssl生成私钥公钥的步骤

本文参考http://blog.csdn.net/scape1989/article/details/18959657 在ubuntu上要使用openssl的话需要先进行安装,命令如下: sudo apt-get install openssl 安装完成就可以使用openssl了. 首先需要进入openssl的交互界面,在命令行了输入openssl即可: 1)生成RSA私钥: genrsa -out rsa_private_key.pem 1024 此时我们就可以在当前路径下看到rsa_priv

openssl生成证书及吊销列表

一,先来讲讲基本概念. 证书分类: 按类型可以分为CA证书和用户用户证书,我们我说的root也是特殊的CA证书. 用户证书又可以根据用途分类,放在服务器端的称为服务器证书,放在客户端一般称为客户端证书(这种说法不是很准确,只是一种理解.实际应该是在对客户端认证时才会用到客户端证书且root.ca证书都可以放在客户端),记住,这两种证书都应为用户证书. 一般可以理解为证书由key和证书(没有key的文件也称为证书)组成,谁拥有这两个东西才真正拥有这个证书.好比锁是有钥匙和锁头组成的,你得两都有.你

用Keytool和OpenSSL生成和签发数字证书

一)keytool生成私钥文件(.key)和签名请求文件(.csr),openssl签发数字证书      J2SDK在目录%JAVA_HOME%/bin提供了密钥库管理工具Keytool,用于管理密钥.证书和证书链.Keytool工具的命令在JavaSE6中已经改变,不过以前的命令仍然支持.Keytool也可以用来管理对称加密算法中的密钥. 最简单的命令是生成一个自签名的证书,并把它放到指定的keystore文件中: keytool -genkey -alias tomcat -keyalg