如何生成CA证书?

如何生成CA证书?,第1张

创建根证书密钥文件(自己做CA)rootkey:

创建根证书的申请文件rootcsr:

创建一个自当前日期起为期十年的根证书rootcrt:

创建服务器证书密钥serverkey:

创建服务器证书的申请文件servercsr

创建自当前日期起有效期为期两年的服务器证书servercrt

创建客户端证书密钥文件clientkey

创建客户端证书的申请文件clientcsr

创建一个自当前日期起有效期为两年的客户端证书clientcrt

将客户端证书文件clientcrt和客户端证书密钥文件clientkey合并成客户端证书安装包clientpfx

保存生成的文件备用,其中servercrt和serverkey是配置单向SSL时需要使用的证书文件,clientcrt是配置双向SSL时需要使用的证书文件,clientpfx是配置双向SSL时需要客户端安装的证书文件 crt文件和key可以合到一个文件里面,把2个文件合成了一个pem文件(直接拷贝过去就行了)

x509证书一般会用到三类文,key,csr,crt。

Key是私用密钥openssl格,通常是rsa算法。

Csr是证书请求文件,用于申请证书。在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥。

crt是CA认证后的证书文,(windows下面的,其实是crt),签署人用自己的key给你签署的凭证。

1key的生成

opensslgenrsa -des3 -out serverkey 2048

这样是生成rsa私钥,des3算法,openssl格式,2048位强度。serverkey是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。可以通过以下方法生成没有密码的key:

opensslrsa -in serverkey -out serverkey

serverkey就是没有密码的版本了。

2生成CA的crt

opensslreq -new -x509 -key serverkey -out cacrt -days3650

生成的cacrt文件是用来签署下面的servercsr文件。

3csr的生成方法

opensslreq -new -key serverkey -outservercsr

需要依次输入国家,地区,组织,email。最重要的是有一个common name,可以写你的名字或者域名。如果为了>

4crt生成方法

CSR文件必须有CA的签名才可形成证书,可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢。

opensslx509 -req -days 3650 -in servercsr -CA cacrt -CAkey serverkey-CAcreateserial -out servercrt

输入key的密钥后,完成证书生成。-CA选项指明用于被签名的csr证书,-CAkey选项指明用于签名的密钥,-CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成。

最后生成了私用密钥:serverkey和自己认证的SSL证书:servercrt

证书合并:

catserverkey servercrt > serverpem

可DES是动态加密密钥保存下来传给客户端如果被截取了等于不加密又较麻烦
就像你说的,可以动态生成密钥再传送
但是只用 DES 无法实现加密效果的
至少要有个非对称加密算法 保证密钥传送的安全 如 RSA
简单的说下过程吧
服务器 先给客户端发送 RSA公钥,客户端用 RSA公钥加密 DES Key 发送回服务器,服务器用私钥解密 DES Key
这样服务器就有了 客户端的动态密钥了
之后通信就用 RSA 加密


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10932817.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-12
下一篇2023-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存