創建CA和申請證書

·

在實驗開始之前先了解一下一下內容:

  • x509證書 :一般會用到三類文,key,csr,crt。
  • CA :簽證機構(Certificate Authority)
  • CRL:證書吊銷列表
  • key: 是私用密鑰openssl格,通常是rsa算法。
  • csr :是證書請求文件,用于申請證書。在制作csr文件的時,必須使用自己的私 鑰來簽署申,還可以設定一個密鑰。
  • crt:是CA認證后的證書文,(windows下面的,其實是crt),簽署人用自己的key給你簽署的憑證。

此實驗可以先設一個場景,假設centos6是web服務器,需要對外提供https服務。若要搭建網絡站點:https://www.magedu.com,此時centos6需要有證書。把centos7當做CA,centos6向centos7申請證書,centos7為其頒發證書。在頒發證書的過程中,centos6是客戶端,centos7是服務器端

下面我們來創建CA并申請證書

一:在centos7上創建私有CA

1:創建所需要的文件

生成證書索引數據庫文件

 touch /etc/pki/CA/index.txt

指定第一個頒發證書的序列號

echo 01 > /etc/pki/CA/serial

2:CA 自簽證書

生成私鑰 cd /etc/pki/CA/

 (umask 066; openssl genrsa -out/etc/pki/CA/private/cakey.pem 2048)


3:生成自簽名證書

 openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 3560 -out 
  /etc/pki/CA/cacert.pem
  • -new: 生成新證書簽署請求
  • -x509: 專用于CA 生成自簽證書
  • -key: 生成請求時用到的私鑰文件
  • -days n :證書的有效期限
  • -out / PATH/TO/SOMECERTFILE : 證書的保存路徑
    在填寫信息是根據/etc/pki/tls/openssl.cnf 中的配置要求,這三項必須匹配、一致

查看一下剛剛輸入的信息

 openssl x509 -in /etc/pki/CA/cacert.pem -noout -text


查看一下/etc/pki/CA/目錄結構
Alt text

現在也可以把證書傳到Windows上看一下 sz /etc/pki/CA/cacert.pem
在Windows上接收并更改后綴名為 .cer

Alt text

二:在centos6上頒發證書

1:在需要使用證書的主機生成證書請求。

給web服務器生成私鑰

 (umask 066; openssl genrsa -out /etc/pki/tls/private/service.key 2048)

生成證書申請文件

 openssl req -new -key /etc/pki/tls/private/service.key -days 365 -out 
  /etc/pki/tls/service.csr

2:將證書請求文件傳輸給CA

scp /etc/pki/tls/service.csr 172.16.251.13:/etc/pki/CA/
  • 172.16.251.13:centos7 的IP
    -/etc/pki/tls/:指定路徑

3:在centos7上為CA 簽署證書,并將證書頒發給請求者(centos6)

openssl ca -in /etc/pki/tls/service.csr –out /etc/pki/CA/certs/service.crt -days
   365

注意:默認國家,省,公司名稱三項必須和CA一致

4:在centos7中 查看 證書中的信息:

openssl x509 -in /etc/pki/CA/certs/service.crt -noout -text

查看 指定 編號的證書狀態

openssl ca -status serial

此時的目錄結構為


三:吊銷證書

1:獲取要吊銷的證書的serial(centos7)

   openssl x509 -in / PATH/FROM/CERT_FILE -noout -serial -subject

2:吊銷證書(centos7)

openssl ca -revoke /etc/pki/CA/newcerts/ SERIAL .pem

在CA 上,根據客戶提交的serial 與subject 信息,對比檢驗是否與index.txt 文件中的信息一致


3:定第一個吊銷 證書的編號
注意:第一次更新證書吊銷列表前,才需要 執行

 echo 01 > /etc/pki/CA/crlnumber

4:更新證書吊銷列表

  openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem

查看crl 文件:

   openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text

步驟梳理:

查看/etc/pki/tls/openssl.cnf配置文件查看的對應目錄


1 、創建所需要的文件

  touch /etc/pki/CA/index.txt
     生成證書索引數據庫文件

  echo 01 > /etc/pki/CA/serial
     指定第一個頒發證書的序列號

2、 CA 自簽證書

  生成私鑰
cd /etc/pki/CA/(umask 066; openssl genrsa -out/etc/pki/CA/private/cakey.pem 2048)

  生成自簽名證書
openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out 
/etc/pki/CA/cacert.pem
      
  -new: 生成新證書簽署請求
  -x509: 專用于CA 生成自簽證書
  -key: 生成請求時用到的私鑰文件
  -days n :證書的有效期限
  -out / PATH/TO/SOMECERTFILE : 證書的保存路徑

3 、 頒發證書

? A 在需要使用證書的主機生成證書請求給web 服務器
    生成私鑰
    (umask 066; openssl genrsa -out /etc/pki/tls/private/test.key 2048)
    生成證書申請文件
    openssl req -new -key /etc/pki/tls/private/test.key-days 365 -out 
    /etc/pki/tls/test.csr

? B 將證書請求文件傳輸給CA

? C CA 簽署證書,并將證書頒發給請求者
     openssl ca -in /tmp/test.csr –out/etc/pki/CA/certs/test.crt -days 365
    注意:默認國家,省,公司名稱三項必須和CA一致

? D 查看 證書中的信息:
    openssl x509 -in /PATH/FROM/CERT_FILE -noout -text|issuer|subject|serial|dates
    openssl ca -status SERIAL 查看指定編號的證書狀態

4 、吊銷證書

 ? A 在客戶端獲取要吊銷的證書的serial
    openssl x509 -in / PATH/FROM/CERT_FILE -noout -serial -subject

? B 在CA 上,根據客戶提交的serial 與subject 信息,對比檢驗是否與index.txt 文件中的信息一致
    吊銷證書:
    openssl ca -revoke /etc/pki/CA/newcerts/ SERIAL .pem

? C 指定第一個吊銷 證書的編號
    注意:第一次更新證書吊銷列表前,才 需要執行
    echo 01 > /etc/pki/CA/crlnumber

 ? D 更新證書吊銷列表
    openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
    查看crl 文件:
    openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1 概述 本文之所以稱之為半自動化,是因為證書的申請并非日常工作,只是一段時間才需要申請,同時,在創建證書和辦法證...
    ghbsunny閱讀 2,212評論 0 1
  • 在如今互聯網時代,越來越多的人注重信息安全,及對重要信息加密。加密即我們將文字轉換成不能直接閱讀的形式(即密文)的...
    jie0112閱讀 5,466評論 0 3
  • OpenSSL的配置文件etc/pki/tls/openssl.cnf,下面有一些重要的配置,里面的一下目錄和文件...
    不知歲月惜閱讀 4,429評論 1 1
  • CA和證書安全協議(SSL/TLS)OpenSSH 一、CA和證書 (一) PKI(Public Key Infr...
    哈嘍別樣閱讀 1,420評論 0 0
  • 某個時候我想不管不顧 倒頭就睡 某個時候,四下靜寂無聲 心里驚濤拍浪翻江倒海 矛盾 常存在于我身上 我想光著腳在雨...
    沈輕舟一閱讀 224評論 0 1