利用openssl建立私有CA
Posted dissipate
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用openssl建立私有CA相关的知识,希望对你有一定的参考价值。
本次利用openssl建立私有CA,实现https加密通信.
openssl由三部分组成:
- libencrypto库
- libssl库
- openssl多用途命令行工具
加密算法和协议:
- 对称加密算法和协议:
公钥体系:分为公钥和私钥- DES: Data Encryption Standard(IBM研发)
- 3DES: Triple DES
- AES: Advanced Encryption Standard
- 特性:加密,解密使用同一密钥
- 缺陷:密钥过多,密钥分发困难
公钥:从私钥中提取,公开给所有人,pubkey
私钥:通过工具创建,自己保存,secret key
特点:公钥加密数据,只能使用私钥解密,反之亦然.
用途:
-
-
- 数字签名:接受方确认发送方身份
- 密钥交换:发送方利用对方公钥加密一个对称密钥,发送给对方,双方此后利用此对称密钥加密数据
- 数据加密
-
算法: RSA DSA
3. 单向加密:提取数据指纹,只能加密,不能解密
特性:定长输出,雪崩效应
功能:完整性
算法:
-
-
- md5: Message Digest 5,128bits
- sha1: Secure Hash Algorithm 1
- sha224
- sha256
- sha384
- sha512
-
4. 密钥交换: IKE (Internet Key Exchange)
DH算法
5. PKI: Public Key Infrastructure
公钥基础设施
-
-
- 签证机构CA
- 注册机构RA
- 证书吊销列表CRL
- 证书存取库
- 现行证书格式为x509 V3
-
openssl的配置文件位于/etc/pki/tls/openssl.conf
选定一台主机,在其上生成CA自签证书
1.生成私钥
(umask 0066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
2.生成自签证书
openssl rsa -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 4000
-new生成新的证书签署请求
-x509生成自签格式证书,用于创建私有CA
-key生成请求时用的私钥文件路径
-out生成的请求文件路径,自签操作将直接生成签署过的证书,用于CA自签
-days证书有效时长
3.为CA提供所需文件和目录
CA目录位于/etc/pki/CA
上面为系统刚创建时生成的四个文件夹,我们还需创建几个文件
cd /etc/pki/CA
touch {serial,index.txt}
echo 01 > serial
crl certification revoke list证书吊销列表,我们极少涉及
newcerts新生成的证书存放位置
private存放CA私钥cakey.pem
certs存放证书目录
上图为签署过证书后目录的结构
4.需求利用证书进行安全通信的主机,向CA请求签署证书
步骤:(i.g. httpd)
- 生成私钥
- mkdir -pv /etc/htttpd/ssl
- cd /etc/httpd/ssl
- (umask 0066;openssl genrsa -out httpd.key 2048)
- 生成证书签署请求发送httpd.csr于CA主机
- openssl req -new -key httpd.key -out httpd.csr
- CA主机签署证书
openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365 - 查看证书信息:
openssl x509 -in /etc/pki/CA/certs/httpd.crt -text
以上是关于利用openssl建立私有CA的主要内容,如果未能解决你的问题,请参考以下文章