CA和证书以及openssl工具基础
CA和证书
CA(Certificate Authority)签证机构
CA的作用是为网络中通信双方的公钥提供可信任数字签名
CA是被公认的的网络信任结构,CA证书的内容包括:
颁发者
使用者
版本
签名算法
签名哈希算法
使用者
公钥
指纹
指纹算法
证书获取 证书类型: 证书授权机构的证书 服务器 用户证书 获取证书两种方法: • 使用证书授权机构 生成签名请求(csr) 将csr发送给CA 从CA处接收签名 • 自签名的证书 自已签发自己的公钥
安全协议
SSL: Secure Socket Layer,TLS: Transport Layer Security
功能:机密性,认证,完整性,重放保护
两阶段协议,分为握手阶段和应用阶段 握手阶段(协商阶段):客户端和服务器端认证对方身份(依赖于PKI体系,利用数字证书进行身份认证),并协商通信中使用的安全参数、密码套件以及主密钥。后续通信使用的所有密钥都是通过MasterSecret生成。 应用阶段:在握手阶段完成后进入,在应用阶段通信双方使用握手阶段协商好的密钥进行安全通信
OpenSSL OpenSSL:开源项目 三个组件: openssl: 多用途的命令行工具,包openssl libcrypto: 加密算法库,包openssl-libs libssl:加密模块应用库,实现了ssl及tls,包nss openssl命令: 两种运行模式:交互模式和批处理模式 openssl version:程序版本号 标准命令、消息摘要命令、加密命令 标准命令: enc, ca, req, ...
openssl命令
对称加密: 工具:openssl enc, gpg 算法:3des, aes, blowfish, twofish
enc命令: 帮助:man enc
-e 默认为使用-e选项,所以缺省 -des3 使用3DES加密算法 -salt 使用盐,保证同一个文件的加密生成的密文每次不同 -in 需要openssl处理的文件
-out 处理完输出的文件
加密: openssl enc -e -des3 -a -salt -in testfile-out testfile.cipher
解密: openssl enc -d -des3 -a -salt –in testfile.cipher-out testfile
单向加密**
使用 dgst 子命令完成单向加密
dgst命令: 帮助:man dgst openssl dgst -md5 [-hex默认] /PATH/SOMEFILE openssl dgst -md5 testfile md5sum /PATH/TO/SOMEFILE
生成用户密码: passwd命令: 帮助:man sslpasswd openssl passwd -1 -salt SALT(最多8位) openssl passwd -1 –salt centos
生成随机数: 帮助:man sslrand openssl rand -base64|-hex NUM (NUM: 表示字节数;-hex时,每个字符为十六进制,相当于4位二进制,出 现的字符数为NUM*2)