openssl——自签名根证书、签名客户端和服务器证书

作者&投稿:羽怜 (若有异议请与网页底部的电邮联系)

openssl genrsa -out root.key 2048

也可以是pem文件,也可为了区分这是私钥而改用key后缀名,内容如下:

查看详细解析:包含两个大素数和两个指数和一个系数

openssl rsa -in root.key -text

可通过命令提取公钥:

openssl rsa -pubout -in root.key

openssl req -new -out root-req.csr -key root.key -keyform PEM

-keyform PEM:证书有pem和der格式之分,前者文本,多用于java和windows服务器,后者二进制

CSR是Certificate Signing Request的英文缩写,即证书请求文件

openssl x509 -req -in root-req.csr -out root-cert.cer -signkey root.key -CAcreateserial -days 365

-CAcreateserial ,创建证书序列号,使用此选项,当CA序列号文件不存在时将被创建:它将包含序列号“02”,正在签名的证书将具有1作为其序列号。通常如果指定了-CA选项并且序列号文件不存在,则会出现错误。

-days 据说3650天有时候会意外导致证书验证失败,没遇到过

此处可有pem、crt、cer多种输出格式,其实内容都一样,来试一下:

每次生成的证书都不一样,但是未发现不同后缀名下的证书格式不同。

我的理解:

pem是最基本的编码格式,der也相同。

CRT文件是由第三方证书颁发机构(例如VeriSign或DigiCert)提供和生成的安全文件,ASCII编码格式。

cer是crt的微软形式。

为了统一,全使用cer格式。

可选择将证书和私钥导入密钥库,通常用p12和jks( Java Key Store)格式:

openssl pkcs12 -export -in root-cert.cer -inkey root.key -out root.p12 -name "lab"

需要加密保护, -name 设置别名

然后可选择使用keytool将p12转为jks格式,此处就不做转换了。

步骤基本相同

步骤基本相同

openssl genrsa -out server-key.key 2048

openssl req -new -out server-req.csr -key server-key.key -keyform PEM

openssl x509 -req -in server-req.csr -out server-cert.cer -CA F:\CERT\mycert\ test\openssl\winootoot-cert.cer -CAkey F:\CERT\mycertest\openssl\winootoot.key -CAcreateserial -days 360

openssl pkcs12 -export -in server-cert.cer -inkey server-key.key -out server. p12 -name "lab-server"

运行环境要包含完整证书链。需要将证书链放到系统可信目录下。

为证书绑定ip,只能通过config文件,

文件如下【可将常用参数写入,生成请求文件时直接enter即可】:

使用配置文件时在生成请求文件和签发证书时的参数不同:
生成请求文件:
openssl req -new -out server-req1.csr -key server-key.key -keyform PEM -extensions v3_req -config openssl. cnf

签发证书:

openssl x509 -req -in server-req1.csr -out server-cert1.cer -CA F:\CERT\mycertest\openssl\winootoot- cert.cer -CAkey F:\CERT\mycertest\openssl\winootoot.key -CAcreateserial -days 360 -extensions v3_req -extfile openssl.cnf

默认证书链长度为2,使用中间ca签发时,中间ca的生成需要在配置文件中加修改长度参数:

[ v3_ca ]

basicConstraints = CA:true,pathlen:3

Note:
参考:
OpenSSL主配置文件openssl.cnf
利用OpenSSL创建证书链并应用于IIS7
openssl系列文章: http://www.cnblogs.com/f-ck-need-u/p/7048359.html



~

如何在本地配置openssl
答:就是C:\certreq.txt。这里请牢记输入的信息。三、开始操作openssl (cmd –> d:\openssl-0.9.7\out32dll 下执行下面的操作,注意openssl.cnf文件,后面命令都是用它编译的)1.生成自签名根证书 openssl req -x509 -newkey rsa:1024 -keyout cakey.pem -out cacert.pem -days 3650 -config d...

https证书生成方法,怎么生成https证书?
答:可以使用OpenSSL工具生成自签名https证书,但是这种自己生成的https证书是不受浏览器信任的,浏览器还是会提示“不安全”提示,不介意使用。可以选择正规CA机构颁发的https证书,申请流程如下:第一步 提交CSR文件 选择要申请的SSL证书,提交订单,并将制生成的CSR文件提一起交。第二步 提交订单到证书服务...

如何使用OpenSSL创建证书
答:下面的命令,基于这里给出的建议,演示了如何创建具有10年有效期的自签名key/certificate对。openssl genrsa 1024 >selfsigned.key openssl req -new -x509 -nodes -sha1 -days 3650 -key selfsigned.key >selfsigned.cer 在输入第二个命令后,将提示你输入有关你自己的各种信息,这些信息将被嵌入...

自签名证书是什么意思呢?
答:自签名证书是由颁发证书的同一实体所签名的证书。自签名证书是签署了自己的专用密钥的证书。可以使用“钥匙串访问”中的“证书助理”来创建您自己的自签名证书。苹果生成了一对密钥,公钥安装在每台iOS设备上,私钥保存在苹果后台服务器中,当APP上架到Appstore的时候,苹果后台用私钥对App进行签名(加密)...

怎么破解openssl 生成的证书
答:crt-certCARoot1024.crt-keyfileCARoot1024.key-days1826-policypolicy_anything8、使用CA的公私钥文件给csr文件签名,生成中级证书,有效期5年opensslca-extensionsv3_ca-inapp.csr-outapp.crt-certCARoot1024.crt-keyfileCARoot1024.key-days1826-policypolicy_anything以上是生成根证书与应用证书过程中...

如何在CentOS 7上为Nginx创建自签名的SSL证书
答:这个过程有两个主要的步骤,首先是生成自己的 CA 证书,然后再生成各个服务器的证书并为它们签名。 我是用 OpenSSL 来生成自签名证书的。第一步是制作 CA 的证书:openssl genrsa -des3 -out my-ca.key 2048 openssl req -new -x509 -days 3650 -key my-ca.key -out my-ca.crt 这会生成 ...

数字证书 & CSR & OpenSSL
答:什么是公钥和私钥? Where in the CSR is the public key? openssl、x509、crt、cer、key、csr、ssl、tls 这些都是什么鬼? How to create a .pem file for SSL Certificate Installations OpenSSL生成根证书CA及签发子证书 CSR Certificate Signing Request,证书签名请求,即申请者通过将...

如何生成以及导入x.509证书
答:创建私钥 openssl genrsa -out root/root-key.pem 1024 //创建证书请求 openssl req -new -out root/root-req.csr -key root/root-key.pem //自签署根证书 openssl x509 -req -in root/root-req.csr -out root/root-cert.pem -signkey root/root-key.pem -days 3650 //将根证书导出 ...

为什么“部署自签SSL证书非常不安全”
答:2. 自签证书最容易受到SSL中间人攻击。3. 自签证书支持不安全的SSL通信重新协商机制。4. 自签证书支持非常不安全的SSL V2.0协议。5. 自签证书没有可访问的吊销列表。6. 自签证书使用不安全的1024位非对称密钥对。7. 自签证书证书有效期太长。也许你会问,为何所有Windows受信任的根证书有效期都...

如何安装openssl 生成证书
答:b. req –new –x509 –key private-rsa.key –days 750 –outpublic-rsa.cer 说明:根据private-rsa.key生成证书public-rsa.cer -new 表示新的请求 -509 表示输出的证书结构 750表示证书有效天数 -out public-rsa.cer -out后面表示公钥证书,用于验证数字签名,此公钥证书或者公钥需要提前发送...