CA和證書

A與B雙方通信,需要通過簽證機構CA頒發證書,才可以互相信任,從而安全的進行數據傳輸。想要獲取證書,除了付費購買認證機構的證書,還可以自簽名獲取證書。

openssl命令可以搭建CA,實現自簽名證書。下面以三臺主機為例,模擬根CA、子CA的搭建,以及客戶端申請證書的過程。

一、搭建根CA

/etc/pki/tls/openssl.cnf文件是openssl的配置文件,其中規定了CA證書的存放目錄、工作目錄、證書編號、策略等信息,搭建CA需要以配置文件為參考。

配置文件

配置文件默認策略

1.創建文件:

a.生成證書索引數據庫文件

touch /etc/pki/CA/index.txt

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

echo 01> /etc/pki/CA/serial

2.CA自簽證書(第一個CA自己為自己簽名)

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

由于私鑰文件很重要,需要設置權限,使其他人無法查看,genrsa代表RSA算法,CA的私鑰存放目錄是配置文件中規定的,2048代表指定私鑰位數。

3.生成自簽名證書:

openssl req -new -x509 -key?/etc/pki/CA/private/cakey.pem -days 3650 ?-out /etc/pki/CA/cacer.pem

其中,new表示新證書簽署請求;x509表示生成自簽名證書;key表示用到的私鑰文件;days表示證書有效期;out后面跟證書的保存路徑。運行命令行之后,會交互式填寫信息,由于配置文件中默認的策略是policy_match,所以CA與客戶端申請時填寫的國家,省,公司名必須匹配,其他信息像通用名可以不一樣,但必須填寫。

創建文件

生成私鑰1

生成自簽名證書

 

二、搭建子CA

1.創建文件:

a.生成證書索引數據庫文件

touch /etc/pki/CA/index.txt

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

echo 02> /etc/pki/CA/serial

2.生成私鑰:

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

3.生成證書申請文件:

openssl req -new -key?/etc/pki/CA/private/cakey.pem ?-out ?subca.csr

根據默認策略,所填寫的國家,省,公司必須與根CA一致

4.將文件復制到根CA中:

scp ?subca.csr ?192.168.25.129 :/etc/pki/CA (以?192.168.25.129主機為根CA)

5.頒發證書:

openssl ca -in subca.csr -out /etc/pki/CA/certs/subca.crt ?-days ?300

6.將文件傳給申請者:

scp certs/subca.crt 192.168.25.6 : /etc/pki/CA/cacert.pem (以192.168.25.6主機為子CA)

這樣,子CA就搭建成功了。

子ca

子ca2

三、客戶端申請證書

1.生成私鑰:

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

2.生成證書申請文件:

openssl req -new -key?/etc/pki/tls/private/app.key ?-out ?/etc/pki/tls/app.csr

交互式填寫國家,州,公司要與子CA信息一致。

3. 將文件復制到子CA中:

scp ?app.csr ?192.168.25.6 : /etc/pki/CA

4.頒發證書:

openssl ca -in app.csr -out /etc/pki/CA/certs/app.crt ?-days ?100

5.將證書文件傳送給申請者:

scp certs/app.crt 192.168.25.6 : /etc/pki/tls/certs (以192.168.25.6主機為客戶端)

生成私鑰客戶端

生成證書申請文件客戶端

證書申請文件傳送給ca 客戶端

頒發證書客戶端

將文件傳給申請者

最后,還可以查看證書信息:

openssl x509 -in app.crt -noout -text|issuer|subject|dates

其中,text代表全部信息,issuer代表頒發者,subject代表主題,dates代表有效期

在同一客戶端可以為其他程序申請證書,無需再生成私鑰,只要重新申請證書即可。默認一個證書申請文件不能頒發兩個證書,這與index.txt.attr文件有關,只需將文件中unique_subject的值由yes改為no即可。

查看證書信息

index.attr

index.attr2

當證書過期或者不受信任時,可以吊銷證書:

openssl ca -revoke /etc/pki/CA/newcerts/02.pem (以02編號證書為例)

指定第一個吊銷證書的編號:

echo 01 > /etc/pki/CA/crlnumber

更新證書吊銷列表:

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

吊銷證書

吊銷證書2

文件 /etc/pki/CA/crlnumber中存放的則是下一個吊銷證書的編號。

至此,CA的搭建以及證書的申請過程就結束了。

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/86826

(1)
xiamuxiamu
上一篇 2017-09-10 18:47
下一篇 2017-09-10 20:16

相關推薦

  • awk用法指北

    awk用法指北 awk是對Linux系統中文本三劍客之一。其功能強大,支持條件判斷、數組、循環,并且內置大量函數,近乎于一門獨立的編程語言。 awk基本語法awk [option] ‘program’ FILE 最常用選項 -F “” 指定字段分隔符 //分隔符為PATTERN-v VAR=value 指定變量…

    Linux干貨 2017-05-21
  • 馬哥教育網絡班21期+第7周課程練習

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; [root@localhost ~]#mke2fs -t ext4 -b 2048 -m 2 -L &qu…

    Linux干貨 2016-08-15
  • 系統管理和內核管理(二)之grub使用、編譯安裝內核

    系統管理和內核管理(二)之grub使用、編譯安裝內核   回顧CentOS 6啟動流程: POST –> Boot Sequence(BIOS) –> Boot Loader –> Kernel(ramdisk) –> rootfs–> switchroot&…

    Linux干貨 2016-09-15
  • 學習宣言

    讓學習溶入生活,做一個優秀的專業人才。

    Linux干貨 2016-10-30
  • 05linux用戶和組的權限總結

    1、文件的權限分類 文件的權限對象分三類:屬主(u)、屬組(g)、其他(o),每個對象都有rwx,讀寫執行三類權限。 對于文件 r:可查看文件內容 w:可修改其類容 x:可把此文件提請內核啟動為一個進程 對于目錄 r:可使用ls查看此目錄中文件列表 w:可在此目錄中創建和刪除文件 x:可使用ls查看目錄中文件列表,可以cd進入此目錄 X:只給目錄x權限,不給…

    Linux干貨 2016-11-27
  • 第十周

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) 1.開啟電源后,POST自檢:檢查硬件設備,通過后交給BIOS 2.BIOS加載可選擇的啟動設備,尋找可引導的啟動設備的記錄:MBR 3.MBR:硬盤的主引導記錄,存在于0磁道0扇區,共512字節.其中Bootloader占用446字節,分區表占用64字節,magic nu…

    Linux干貨 2016-10-17
欧美性久久久久