- 证书的创建依赖加密算法,请看http://yunweigou.blog.51cto.com/6299641/1637108
- 前言,随着网络的发展,由于使用http协议通信的双方数据是明码格式的,故容易被其他网络主机盗取或偷换数据,无法对数据的安全提供保障。为保证数据的保密性及完整性,SSL问世
- SSL:Secure Sockets Layer 安全套接字层
- 可理解为传输层和应用层之间的半层,对数据进行加密和解密
- 是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密。
- 更多详细信息,请查看http://fr.wikipedia.org/wiki/SSL
- OPENSSL:开源界SSL
-
libcrypto# 加密、解密所使用的库文件 libssl#ssl协议的一种实现 openssl#多用途命令行工具,每种功能都能使用专用的子命令完成
- Standard commands #标准命令
- asn1parse ca ciphers cms
- crl crl2pkcs7 dgst dh
- dhparam dsa dsaparam ec
- ecparam enc engine errstr
- gendh gendsa genpkey genrsa
- nseq ocsp passwd pkcs12
- pkcs7 pkcs8 pkey pkeyparam
- pkeyutl prime rand req
- rsa rsautl s_client s_server
- s_time sess_id smime speed
- spkac ts verify version
- x509
- Message Digest commands (see the `dgst‘ command for more details)#消息摘要命令:单向加密算法
- md2 md4 md5 rmd160
- sha sha1
- Cipher commands (see the `enc‘ command for more details) #加密解密相关的命令
- aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb
- aes-256-cbc aes-256-ecb base64 bf
- bf-cbc bf-cfb bf-ecb bf-ofb
- camellia-128-cbc camellia-128-ecb camellia-192-cbc camellia-192-ecb
- camellia-256-cbc camellia-256-ecb cast cast-cbc
- cast5-cbc cast5-cfb cast5-ecb cast5-ofb
- des des-cbc des-cfb des-ecb
- des-ede des-ede-cbc des-ede-cfb des-ede-ofb
- des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb
- des-ofb des3 desx idea
- idea-cbc idea-cfb idea-ecb idea-ofb
- rc2 rc2-40-cbc rc2-64-cbc rc2-cbc
- rc2-cfb rc2-ecb rc2-ofb rc4
- rc4-40 seed seed-cbc seed-cfb
- seed-ecb seed-ofb zlib
- 组成部分:
-
-
-
[[email protected] pki]# tree CA CA ├── certs 证书文件存放的位置 ├── crl 证书吊销列表存放的位置 ├── newcerts 新创建的证书的存放位置 └── private CA私钥存放
- 生成私钥:
- 括号不可省略,相当于打开子shell进程运行的
-
# openssl genrsa -out testkey 2048
- 私钥一般只为自己可读可写须改其权限
-
# chmod 600 testkey
- 可改为:
-
# (umask 077;openssl genrsa -out testkey 2048)
-
openssl enc -e -des3 -a -salt -in fstab -out fstab.des3 #对文件加密(对称加密) openssl enc -d -des3 -a -salt -in fstab.des3 -out fstab.new #对文件解密(加解密同一密钥)
- 例如:
- 生成密钥对儿操作过程:
- 证书目录:/etc/pki/CA
-
使用openssl创建私有CA:
- 生成私钥
- 私钥用于签发证书时,向证书添加数字签名使用
发起证书签署请求并自签证书
- 每个通信方都导入此证书至“受信任的证书颁发机构”
-new:生成新的证书签署请求
-key:私钥文件路径,用于提取公钥
-days #:证书有效期,单位为天
-out:输出文件(证书)保存位置
-x509:直接输出自签署的证书,通常只有构建CA时用
至此CA构建完成。各通信方就可向该CA请求证书了
更多详情参考/etc/pki/tls/openssl.conf文件(须新建辅助文件,如下步骤)
提供必要的辅助文件
- 向节点发证书
- 验证请求者信息
- 直接签署证书
- 生成私钥:
- 生成证书签署请求
- 把请求crt文件通过某方式发送给CA
- 节点发起证书申请
- CA签发证书
注:这里给大家示范错误例子,签名没问题,问题在于请求者与被请求者区域不一致
从生成证书签署请求那里错误就开始了,正确如下
至此,证书签署完毕!看着界面好舒服,有没有~
将会看到辅助文件的变化,如下:
- 将签署好的证书发还给请求者
- 证书的吊销:
- 获得吊销证书的序列号
- 实现证书的吊销
- openssl crl -gencrl -out THISCA.crl
- openssl x509 -in /etc/httpd/ssl/httpd.crt -noout -serial -subject
- openssl ca -revoke /etc/httpd/ssl/httpd.crt
- echo 01 > /etc/pki/CA/crlnum
- 更新证书吊销列表
- 吊销证书
- 生成吊销证书的编号
至此完毕。
时间: 2024-10-26 21:21:32