CA認證和頒發吊銷證書

来源:http://www.cnblogs.com/along21/archive/2017/09/27/7595912.html
-Advertisement-
Play Games

摘要:涉及到網路安全這一塊,想必大家都聽過CA吧。像百度、淘寶、京東等這些知名網站,每年都要花費一筆money來買CA證書。但其實簡單的企業內的CA認證,我們自己就可以實現,今天小編我就講解一下怎麼在企業局部實現CA認證。 一、CA介紹 1、電子商務認證授權機構(CA, Certificate Au ...


摘要:涉及到網路安全這一塊,想必大家都聽過CA吧。像百度、淘寶、京東等這些知名網站,每年都要花費一筆money來買CA證書。但其實簡單的企業內的CA認證,我們自己就可以實現,今天小編我就講解一下怎麼在企業局部實現CA認證。

一、CA介紹

1、電子商務認證授權機構(CA, Certificate Authority),也稱為電子商務認證中心,是負責發放和管理數字證書的權威機構,並作為電子商務交易中受信任的第三方,承擔公鑰體系中鑰的合法性檢驗的責任。

2、PKI: Public Key Infrastructure

  簽證機構:CA (Certificate Authority) 

  註冊機構:RA

  證書吊銷列表:CRL

3、獲取證書兩種方法:

• 使用證書授權機構

  生成簽名請求(csr)

  將csr 發送給CA

  從CA 處接收簽名

• 自簽名的證書

  自已簽發自己

4、實例:打開百度,按F12,可以查看百度的CA證書

 

二、創建私有CA和申請證書及簡單步驟說明

1、原理介紹:

我們以A端為CA機構,B端是申請證書的公司

2、A端自簽證書,自簽證書之前我們要,瞭解查看配置文件的說明 vim /etc/pki/tls/openssl.cnf,會告訴我們怎麼自簽證書,要求我們創建的東西放在哪些目錄下。

 [ CA_default ]

dir                 = /etc/pki/CA     # Where everything is kept   總目錄,把總目錄付給變數,下邊都用變數表示

certs             = $dir/certs        # Where the issued certs are kept  發佈的證書,若幹證書

crl_dir              = $dir/crl         # Where the issued crl are kept      證書吊銷列表

database           = $dir/index.txt        # database index file.             文本文件,資料庫,存放證書編號,簡單的索引

#unique_subject  = no           # Set to 'no' to allow creation of    是否允許多個證書用相同的subject(頒發給誰)

                            # several ctificates with same subject.

new_certs_dir   = $dir/newcerts    # default place for new certs.  新頒發的證書放的地方

  

certificate       = $dir/cacert.pem     # The CA certificate   證書文件,第一個是自簽名證書

serial        = $dir/serial       # The current serial number   下一個要頒發證書的編號

crlnumber      = $dir/crlnumber         # the current crl number   吊銷列表的編號

                              # must be commented out to leave a V1 CRL

crl                  = $dir/crl.pem        # The current CRL          吊銷列表存放的文件

private_key         = $dir/private/cakey.pem # The private key   私鑰放的地方

RANDFILE         = $dir/private/.rand     # private random number file   隨機數

3、申請證書時,要填寫的必要信息

 [ policy_match ]   註意:match必須匹配,客戶端申請證書和CA頒發填寫的信息必須相同

countryName         = match國家

stateOrProvinceName  = match省、州

organizationName     = match組織、公司名

organizationalUnitName = optional 部門

commonName      = supplied 給哪個功能變數名稱頒發

emailAddress       = optional[ policy_anything ] 郵件地址

  

3、B端證書申請及簽署步驟:

① 生成申請請求

② RA 核驗

③ CA 簽署

④ 獲取證書

 

三、A端創建私有CA

1、創建所需要的文件(如果不創建,後邊操作會出錯)

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

echo 99 > /etc/pki/CA/serial 指定第一個頒發證書的序列號,一般都是從01開始,也可以不從01開始,但一定要是2位或4位數,我們就以99為例

2、CA 自簽證書

生成私鑰

cd /etc/pki/CA/

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

可以加密,也可以不加密,加過密,後邊每次都要輸入,為了試驗方便就不加密了,但加密更安全

tree /etc/pki/CA/ 可以看到cakey.pem 生成了

生成自簽名證書

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem (req申請、-x509自簽名、cacert.pem)

  req:請求申請證書

  -new: 生成新證書簽署請求

  -x509: 專用於CA 生成自簽證書

  -key: 生成請求時用到的私鑰文件

  -days n :證書的有效期限

  -out / PATH/TO/SOMECERTFILE : 生成私鑰證書的保存路徑

③ 查看

cat /etc/pki/CA/cacert.pem 生成的證書文件,直接cat不能看到信息,用下邊的命令

openssl x509 -in /etc/pki/CA/cacert.pem -noout -text   (-text:生成的證書)

④ 也可以傳到windows上查看,要改尾碼,可以為cer/crt,不然不識別,sz發到windows上

 

四、B客戶端申請證書

1、centos 6 生成私鑰

(umask 066;openssl genrsa -out /app/service.key 2048)

2、利用私鑰生成證書請求文件, 在需要使用證書的主機生成證書請求

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

 

3、將證書請求文件傳輸給CA

scp /app/service.csr 192.168.30.107:/etc/pki/CA

 

五、A端,簽署證書

1、為了方便管理,創建一個專門放請求的目錄,把請求都放在這個目錄下,不是必須的

mkdir csr

mv service.csr csr/

 

2、CA 簽署證書,並將證書頒發給請求者

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

註意:預設國家,省,公司名稱三項必須和CA一致

簽署後:會生成更新一些文件

 

3、查看證書中的信息:

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

openssl ca -status 99 查看指定編號的證書狀態

也可以傳到windows上查看,看到更清楚,sz發到windows上

 

六、吊銷證書

1、在客戶端(A端)獲取要吊銷的證書的serial(編號)

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

2、在CA(B端) 上,根據客戶提交的serial 與subject 信息,對比檢驗是否與index.txt 文件中的信息一致,確認就吊銷證書:

openssl ca -revoke newcerts/99.pem

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

註意:第一次更新證書吊銷列表前,才需要執行

echo 01 > /etc/pki/CA/crlnumber

4、更新證書吊銷列表,將來將吊銷的列表放到互聯網上,讓大家知道

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

5、查看crl 吊銷文件:

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

也可以在windows上查看,sz發到windows上,尾碼改為.crl

好了,有關CA證書的東西就這些了。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一.表設計階段: 1.主鍵的使用 a.業務日誌表、安全審計表採用自增長; b.自定義編號用於業務流程類表,根據一定的編號規則; c.int型主鍵 用於基礎數據表; 2.邏輯刪除欄位的設計 a.tinyint類型,1或0; b.聯合主鍵(如ID+starDate),另加starDate,endDate ...
  • 第四章 高級查詢(二) (1)通過在子查詢中使用EXISTS子句,可以對子查詢中的行是否存在進行檢查。子查詢可以出現在表達式出現的如何位置 (2)子查詢語句可以嵌套在SQL語句中任何表達式出現的位置。 一、EXISTS子查詢 1.使用EXISTS語句判斷該資料庫對象是否存在: DROP TABLE ...
  • 在執行mysqldump命令時候報如下錯誤: [root@localhost ~]# mysqldump -uroot -p -d test> test.sql mysqldump: Got error: 2002: Can't connect to local MySQL server throu ...
  • 1 修改network配置文件 vi /etc/sysconfig/network 將配置文件中的HOSTNAME的內容改成需要修改的主機名 2 修改hosts配置文件 vi /etc/hosts 將配置文件中的localhost.localdomain改成需要修改的主機名 3 重啟機器 reboo ...
  • 本文目錄1.1 下載和解決依賴關係1.2 httpd編譯選項1.3 模塊動靜態編譯1.4 動靜態編譯的優先順序規則1.5 MPM的安裝1.6 關於"--enable-so"1.7 開始編譯httpd1.8 編譯後的規範操作 1.1 下載和解決依賴 以httpd 2.4.27為例。 資源下載: apac ...
  • 在上一節LCD層次分析中,得出寫個LCD驅動入口函數,需要以下4步: 1) 分配一個fb_info結構體: framebuffer_alloc(); 2) 設置fb_info 3) 設置硬體相關的操作 4) 使能LCD,並註冊fb_info: register_framebuffer() 本節需要用 ...
  • 1》rsync概述 rsync的優點與不足 rsync與傳統的cp、tar備份方式相比,rsync具有安全性高、備份迅速、支持增量備份等優點,通過rsync可以解決對實時性要求不高的數據備份需求,例如定期的 備份文件伺服器數據到遠端伺服器,對本地磁碟定期做數據鏡像等。 隨著應用系統規模的不斷擴大,對 ...
  • 以下是playbook的內容。它的處理流程是: 1.先在本地下載apr,apr-util,httpd共3個.tar.gz文件。 2.解壓這3個文件。 3.安裝pcre和pcre-devel依賴包。 4.編譯安裝apr。 5.編譯安裝apr-util。 6.編譯安裝httpd。 編譯完成後,還有一系列 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...