文章目录
一. CA证书
证书的作用:让通信双方获得真的公钥
PKI:Public Key Infrastructure
签证机构:CA(Certificate Authority)
注册机构:RA
证书吊销列表:CRL
证书存取库:
证书存取库
建立私有CA:给企业内部颁发证书
OpenCA
openssl
获取证书两种方法:
• 使用证书授权机构
生成证书请求(csr)
将证书请求csr发送给CA
CA签名颁发证书
• 自签名的证书
自已签发自己的公钥
OpenSSL:开源项目
三个组件:
openssl:多用途的命令行工具,包openssl
libcrypto:加密算法库,包openssl-libs
libssl:加密模块应用库,实现了ssl及tls,包nss
补充----base64编码
base64编码
例如:
abc的64编码
a=97=64+32+1
翻译成二进制
01100001
所以就有abc的二进制为
01100001 01100010 01100011
因为base64是2的6次方
所以,将他们分隔成6位的,(如果不足,向后补0,并且最后棉麻得加上=)
011000 010110 001001 100011
24 22 9 35
Y W J j
ab就是不足—最后要补上=
二. openssl
两种运行模式:交互模式和批处理模式
openssl version:程序版本号
标准命令、消息摘要命令、加密命令
标准命令:enc, ca, req
对称加密
工具:openssl enc, gpg
算法:3des, aes, blowfish, twofish
1. enc命令:
帮助:man enc
选项:
-e加密,
-d解密
-des3加密算法
-in对谁加
-a是base64编码
-out生成的文件
-salt(盐)打乱加密结果--避免一样的密码hash值一样
加密:
openssl enc -e -des3 -a -salt -in testfile -out testfile.cipher
解密:
openssl enc -d -des3 -a -salt –in testfile.cipher -out testfile
单向加密 (hash运算):
工具:md5sum, sha1sum, sha224sum,sha256sum…
openssl dgst
2. dgst命令 (hash算法):
帮助:man dgst
openssl dgst -md5 [-hex默认] /PATH/SOMEFILE
openssl dgst -md5 testfile
也可以用 -sha512等
相当于md5sum /PATH/TO/SOMEFILE