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

相關推薦

  • 第二周作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 目錄管理類的命令: mkdir, rmdir mkdir:make directories mkdir [OPTION]… DIRECTORY… -p: 自動按需創建父目錄; -v: verbose,顯示詳細過程; -m MODE:直接給定權限; 注意:路徑…

    Linux干貨 2018-01-17
  • lvs–各類型的原理及實現—(原理篇)

    前言:    LVS即是linux虛擬服務器,是一個虛擬的服務器集群系統,目的是使用集群技術和linux操作系統實現一個高性能、高可用的服務器。采用IP負載均衡技術和基于內容請求分發技術,將請求負載均衡地轉移到不同的服務器上執行,從而將一組服務器構成一個高性能、高可用的虛擬服務器。此篇的內容只包含兩種較為常用的LVS技術,分別是LVS-N…

    Linux干貨 2016-10-27
  • rpm軟件包管理

    一:二進制應用程序組成部分 二進制文件(which command)、庫文件(ldd `which command`)、配置文件(.conf)、幫助文件(.README)等 二:rpm包文件的組成 rpm文件、rpm元數據(如名稱、依賴性關系等)、安裝或卸載時運行的腳本 三:rpm包數據庫: 1.組成部分(通過 ls /var/lib/rpm 來查…

    2017-08-13
  • N24_阿龍弟弟 學習計劃/目標/宣言

    嗨,大家好,這是我的第一篇文章。很高興來到馬幫門徒這個大家庭。 學習計劃:沒有自己的計劃,跟著馬哥課程的進度來吧,以周為單位,確保每周任務完成; 學習目標:掌握應有的運維能力,做一名合格的Linux運維工程師,提升自我價值,過更好的生活; 學習宣言:Be a better man(Not Only Linux)!

    Linux干貨 2016-10-25
  • 2班jackcui20160802作業

    1、每日課堂筆記總結 2、預習 3、每日課堂pdf練習 4、在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如:alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。 [root@centos7 /]# groupadd g1 [root@centos7 /…

    Linux干貨 2016-08-05
  • 上篇博客簡單提了一下Nginx配置文件的大體組成部分,這次來好好解釋一下這些個配置文件。 一、main配置段 分類:    正常運行必備的配置    優化性能相關的配置    用于調試及定位問題相關的配置   …

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