ssl协议,openssl及私有CA
PKI:Public KeyInfrastructure
CA:Certificate Authority
证书格式:x509,pkcs12
x509:
公钥及有效期限
证书的合法拥有者
证书该如何被使用
CA的信息
CA签名的校验码
PKI:TLS/SSL:x509
PKI:OpenGPG:pki的另一种实现
对称加密:
DES:DataEncrption Standard, 56bit
3DES:三次加密des
AES:Advanced
AES192,AES256,AES512
Blowfish
单向加密:
MD4
MD5
SHA1
SHA192,SHA256,SHA384
CRC-32
公钥加密:
身份认证(数字签名)
数据加密
**交换
RSA:加密,签名
DSA:签名
ElGamal
Openssl:ssl的开源实现
libcrypto:加密库
libssl:TLS/SSL的实现
基于会话的,实现了身份认证,数据机密性和会话完整性的TLS/SSL库
openssl:多用途命令行工具
实现私有证书颁发机构
子命令:openssl ?
解密:
openssl enc -des3 -d -salt -a -ininittab.des3 -out inittab
cat inittab
md5sum inittab 计算inittab文件md5的校验码
sha1sum inittab
openssl rand -base64 100 生成随机数
openssl实现私有CA:
1.生成一对**
openssl genrsa
2.生成自签署证书
openssl genrsa 2048 > server.key
(umask 077;openssl genrsa -outserver1024.key 1024) 在子shell中执行
从私钥中提取公钥:
openssl rsa -in server1024.key -pubout
openssl req -new -x509 -key server1024.key-out server.crt -days 365
openssl x509 -text -in server.crt 以文本形式输出
mkdir /etc/httpd
cd /etc/httpd/
mkdir ssl
cd ssl/
(umask 077;openssl genrsa -out httpd.key)
cat httpd.key
openssl ca -in httpd.csr -out httpd.crt-days 365
cd /etc/pki/CA
cat index.txt
cat serial
cd /etc/pki/tls/
make httpd.pem 测试证书,不能在生产环境使用