在保证数据传输过程中数据的完整性、保密性以及对发送方的身份验证中,最重要的是获得对方的公钥。那么如何确认获得的公钥就是对方的而不是别人的呢!这就要用到CA,CA就是干这个的。
CA—证书颁发机构,可信第三方;
证书的内容:
1、证书的持有者的相关信息
2、CA的相关信息
3、证书的使用方法
4、公钥信息
PKI—public key instruction 公钥基础设施:核心是CA;
#openssl [-des3]
-des3 –指定加密算法为3DES
-salt – 加入随机数
-a – 密文以ASCII码存放
-in FILE –要加密的文件
-out FILE – 指定加密后要保存的文件名
#openssl genrsa 768|1024|2048 – 生成一个私钥
/etc/pki/tls/openssl.cnf – openssl的配置文件;
利用openssl 建立CA服务器:
1. 编辑openssl.cnf 文件:
######
[ CA_default ]
dir = ../../CA # Where everything is kept
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file
定义CA工作目录为dir =/etc/pki/CA
2. 生成CA的私钥,
#(umask 077;openssl genrsa 2048 > /etc/pki/CA/private/cakey.pem)
3. 给CA颁发证书:
#openssl req –new –x509 –key private/cakey.pem –out cacert.pem –days 3560
4. 填写CA服务器相关信息;
5. 建立CA所需的文件夹及文件;
a) #mkdir certs crl newcerts
b) #touch index.txt serial crlnumber
c) #echo 01 > serial
d) #echo 01 > crlnumber
CA服务器建立。
-------------------------------------------------
向CA服务器申请证书:
1) 生成私钥;
#(umask 077;openssl genrsa 1024 > /root/http.key)
2) 提出申请;
#openssl req –new –key httpkey –out http.csr
3) 将申请文件http.csr发送到CA服务器;
4) CA服务器签发证书;
#openssl ca –in http.crt –out http.crt