使用Openssl創建證書

概述

SSL證書通過在客戶端瀏覽器和Web服務器之間建立一條SSL安全通道(Secure socketlayer(SSL),SSL安全協議主要用來提供對用戶和服務器的認證;對傳送的數據進行加密和隱藏;確保數據在傳送中不被改變,即數據的完整性,現已成爲該領域中全球化的標準。


x509證書一般會用到三類文件,key,csr,crt。

  • Key是私用密鑰,openssl格式,通常是rsa算法。
  • csr是證書請求文件,用於申請證書。在製作csr文件的時候,必須使用自己的私鑰來簽署申請,還可以設定一個密鑰。
  • crt是CA認證後的證書文件(windows下面的csr,其實是crt),簽署人用自己的key給你簽署的憑證。

首先要有一個CA根證書,然後用CA根證書來簽發用戶證書。用戶進行證書申請:一般先生成一個私鑰,然後用私鑰生成證書請求(證書請求裏應含有公鑰信息),再利用證書服務器的CA根證書來簽發證書。


生成CA根證書

生成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

參考鏈接

openssl生成SSL證書的流程

OpenSSL生成.key、.crt、.pfx證書(Windows下)

SSL證書格式轉換工具

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章