SSL证书经过在客户端浏览器和Web服务器之间创建一条SSL安全通道(Secure socketlayer(SSL),SSL安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。html
x509证书通常会用到三类文件,key,csr,crt。算法
首先要有一个CA根证书,而后用CA根证书来签发用户证书。用户进行证书申请:通常先生成一个私钥,而后用私钥生成证书请求(证书请求里应含有公钥信息),再利用证书服务器的CA根证书来签发证书。windows
生成CA私钥(.key)-->生成CA证书请求(.csr)-->自签名获得根证书(.crt)(CA给自已颁发的证书)。浏览器
# Generate CA private key openssl genrsa -out ca.key 2048 # Generate CSR openssl req -new -key ca.key -out ca.csr # Generate Self Signed certificate(CA 根证书) openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
生成私钥(.key)-->生成证书请求(.csr)-->用CA根证书签名获得证书(.crt)安全
# private key $openssl genrsa -des3 -out server.key 1024 # generate csr $openssl req -new -key server.key -out server.csr # generate certificate $openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
$openssl genrsa -des3 -out client.key 1024 $openssl req -new -key client.key -out client.csr $openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key