Linux学习之路Linux我用 Linux

浅谈数据加密和证书生成

2019-01-08  本文已影响2人  FilesFan

原理

在说具体操作之前,我们先研究下数据加密的原理。首先就要理解一些概念

生成证书

秘钥文件可以通过openssl命令来生成,这章节来介绍下如何生成证书。
在要生成证书的目录下建立几个文件和文件夹,因为使用的是/usr/lib/ssl/openssl.cnf配置文件,我们就是用默认的配置,创建demoCA文件夹。然后我们在myca建立几个文件和文件夹。newcerts目录用来保存我们的CA颁发的所有的证书。serial文件用来跟踪最后一次颁发的证书的序列号,初始化为01。index.txt文件是一个排序数据库,用来跟踪已经颁发的证书,文件内容为空。

root@8f3e03c2db43:~/demoCA# tree
.
├── index.txt
├── newcerts
└── serial

1.生成X509格式的CA自签名证书
#openssl req -new -x509 -keyout ca.key -out ca.crt

2.生成服务端的私钥(key文件)及csr文件
#openssl genrsa -des3 -out server.key 1024
#openssl req -new -key server.key -out server.csr

3.生成客户端的私钥(key文件)及csr文件
#openssl genrsa -des3 -out client.key 1024
#openssl req -new -key client.key -out client.csr

4.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名
#openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
#openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key

5.生成p12格式证书
#openssl pkcs12 -export -inkey client.key -in client.crt -out client.pfx
#openssl pkcs12 -export -inkey server.key -in server.crt -out server.pfx

6.生成pem格式证书
有时需要用到pem格式的证书,可以用以下方式合并证书文件(crt)和私钥文件(key)来生成
#cat client.crt client.key> client.pem
#cat server.crt server.key > server.pem

7.PFX文件转换为X509证书文件和RSA密钥文件
#openssl pkcs12 -in server.pfx -nodes -out server.pem
#openssl rsa -in server.pem -out server2.key
#openssl x509 -in server.pem -out server2.crt

这样生成服务端证书:ca.crt, server.key, server.crt, server.pem, server.pfx,客户端证书:ca.crt, client.key, client.crt, client.pem, client.pfx

上一篇 下一篇

猜你喜欢

热点阅读