openssl创建私有ca
1.ssl大概内容
PKI:公钥基础设施结构
CA:证书权威机构,PKI的核心
CRL:证书吊销列表,使用证书之前需要检测证书有效性
证书存储格式常见的X509格式
包含内容
公钥有效期限
证书的合法拥有人
证书该如何使用
CA的信息
CA签名的校验码(签名)
ssl:是在传输层和应用层之间的一个库,通过调用ssl实现加密
目前常用版本:V2 V3版
客户端和服务端通信
客户端请求服务端
客户端和服务端协商使用加密协议,加密算法 SSLv1 SSLv2 TLSv3
服务端发送证书给客户端
客户端生成随机数,通过服务端公钥加密后,传输数据(对称密码)给服务端
服务端将对称密码加密数据给客户端
2.常见的加密算法
对称加密
DES 3DES
AES AES192 AES 256 AES512
单向加密
md4 md5
SHA1 SHA192 SHA256 SHA384
CRC-32
公钥加密
身份认证
数据加密
密钥交换
RSA算法 可以用来加密也可用来签名
DSA算法 只可以用来签名
3.openssl命令
speed 测试本机对各种加密算法的速度
openssl speed rsa 可以接算法表示测试单个算法的速度
enc -des 指定加密算法,对称加密算法
-a 对文件内容进行base64处理
-e 加密 默认选项
-d 解密
-salt 加盐加密
-in 指定要加密的文件
-out 加密后输出文件
dgst -md5 计算文件特征码
genrsa 生成rsa密钥
gendsa 生成dsa密钥
加密 openssl enc -des3 -salt -a -in /etc/fstab -out fstab.des3
解密 openssl enc -des3 -d -salt -a in fstab.des3 -out fstab
4.openssl创建私有CA步骤:
1、生成一对密钥
2、生成自签证书
生成一对密钥:
(umask 077; openssl genrsa -out cakey.pem 1024 )
()中的命令只在子shell中生效,命令执行完之后退出子shell
umask:改变默认创建的文件和目录权限,077为反码
genrsa:生成密钥,权限为600,长度为1024位的私钥
存放在cakey.pem文件中
生成自签证书:
openssl req -new -x509 -key cakey.pem -out cacert.pem -days 365 //生成私有证书
req //生成证书,和申请证书的命令
-new //代表生成一个新的申请
-x509 //生成自签证书
-key //指定密钥文件
-out //指定输出证书文件
-days //指定过期时间
交互式界面:
1、国家代码(CN,JB...)
2、省份 3、市 4、组织
5、部门 6、主机名 7、邮箱地址
在/etc/pki/CA目录下创建必要certs , newcerts,crl目录,和index.txt,serial文件
需要给serial文件一个初始值,一般为01,需要自己编辑
/ect/pki/CA/private/cakey.pem //存放CA自己的密钥文件,命名为cakey.pem
/ect/pki/CA/cacert.pem //自签证书存放位置
5、验证
客户机:
(umask 077; openssl genrsa -out httpd.key 2048)
openssl req -new -key httpd.key -out httpd.csr
服务器:
客户机将httpd.csr上传CA服务器
openssl ca -in httpd.csr -out httpd.crt -days 365
将签署的证书发送改客户机
转载于:https://blog.51cto.com/hongchen99/1910778