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