有證說話硬–實現CA和證書申請

centos下利用openssl來實現證書的頒發

直接進入正題,細節坑就不說了,自己解決起來更有挑戰性不是

步驟流程:

我是拿的7.3版本做CA主機,6.8版本做客戶端

1.創建CA

2.生成私鑰

3.生成自簽名證書

4.到客服端

5.生成私鑰

6.生成證書申請文件

7.將請求發送給-CA主機

8.CA主機-驗證簽署

9.拷回給客戶端使用

用法:openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64] [-salt]

         openssl 的配置文件:/etc/pki/tls/openssl.cnf   

        選項:  

            -ciphername:指明算法;

            -in filename:要加密的文件;

            -out filename:加密后的文件的存放位置;

            -pass arg:指明密碼;

            -e:加密;

            -d:解密;

            -a/-base64:文本格式編碼,默認二進制格式編碼;

            -salt:給密碼添加隨機數;

創建CA:

      為CA提供所需的目錄及文件,無則創建,有則無需創建(這個非常重要的,關乎到證書的成功與否)

             #touch /etc/pki/CA/index.txt
             #echo 01 > /etc/pki/CA/serial

生成私鑰:# (umask 077;openssl genrsa -out  /PATH/TO/PRIVATE_KEY_FILE  NUM_BITS);

             ():表示啟動一個子shell,在子shell中運行的命令只對子shell起作用不影響父shell;

              -out:生成的私鑰保存的位置;

              NUM_BITS:秘鑰位長,它必須是2的n次方倍,例如512、1024、2048、4096等。

             #公鑰是從私鑰中提取的;

              #默認放置于/etc/pki/CA/private/目錄;

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

               使用遮罩碼077是為了確保私鑰文件只有屬主可讀寫

生成自簽證書;默認放置于/etc/pki/CA/目錄;

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

     -x509:生成自簽格式證書,專用于創建私有CA時,非自簽證書無需加該選項;

     -key:生成請求時用到的私有文件路徑;便于自動從該路徑提取公鑰;

     -out:生成的請求文件路徑,如果自簽操作將直接生成簽署過的證書;

     – days:證書的有效時長,單位是day;

    #內容要按照cat  /etc/pki/tls/openssl.cnf配置文件的格式要求

      三大嚴格要求  1.國家  2.省份  3.公司

如下圖

有證說話硬--實現CA和證書申請

生成公鑰 :cakey.pem
自簽證書:cacert.pem

這是生成文件的格式要求,必須在這個目錄中

記好填寫的信息

有證說話硬--實現CA和證書申請

CA證書就制作ok了

下面咱們就可以一本正經的申請證書了

httpd為例);

用到證書的主機生成私鑰

  # mkdir /etc/httpd/ssl   這個私鑰的放置目錄自己指定,沒有要求,用的時候,指定位置就可以了

  # cd /etc/httpd/ssl

  # (umask  077; openssl genrsa -out /etc/httpd/ssl/httpd.key  2048)

用到證書的主機生成證書簽署請求

  # openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365 (后面-day指定的證書時限有些說道,這個時間不是我們這里決定的,所以多少無所謂,反正也不生效,歸CA來指定)

有證說話硬--實現CA和證書申請

這里和CA的信息必須一致

生成私鑰 :httpd.key
生成證書申請文件:httpd.csr
文件格式要求一樣的,后綴必須是這個

下面將請求通過可靠方式發送給CA主機;

         # scp /etc/httpd/ssl/httpd.csr root@172.16.27.7:root  (也可以用U盤拷貝)

CA主機在確認安全的情況下  可以簽署發證了

CA主機上簽署證書;

  # openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365 (這里的時間才是決定證書的有效期,可以任意指定)

之后,把證書在拷回給客戶端使用,任務完成。

有證說話硬--實現CA和證書申請

字母“V”表示該證書已簽署;

原創文章,作者:All well,如若轉載,請注明出處:http://www.www58058.com/73183

(0)
All wellAll well
上一篇 2017-04-11 15:52
下一篇 2017-04-11 16:52

相關推薦

  • M22 Centos6上編譯安裝httpd2.4并實現HTTPS瀏覽

    隨著網絡技術的發展,人們對信息安全越來越重視,傳統的http瀏覽互聯網的方式由于未經加密,其安全性廣為人們詬病,https協議作為加密的互聯網解決方案解決了這一問題。下面我就簡要說明下如何實現通過https發布web頁面的。   實驗目的: 模擬Centos6上安裝httpd2.4,并實現https加密訪問主頁 實驗器材: Centos6.8虛擬機…

    Linux干貨 2017-04-20
  • 每日一練–8.2 用戶管理,權限管理

    (1)顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間出現至少一位數字的文件或目錄。     ll /var/l*[[:digit:]]*[[:lower:]] (2)顯示以/etc目錄下以任意一位數字開頭,且以非數字結尾的文件或目錄      ll /etc/[[:digit:]]*[^[:dig…

    Linux干貨 2016-08-05
  • Linux Sysadmin–part3

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現 #!/bin/bash for i in `cut -d’:’ -f7 /etc/passwd`;do if [ $i == “/sbin/nologin…

    2017-09-19
  • openssh及基于ssl的https的配置

    openssh的簡介             OpenSSH 是 SSH 協議的免費開源實現。SSH協議族可以用來進行遠程控制, 或在計算機之間傳送文件。 而實現此功能的傳統方式,如telnet(終端仿真協議)、 rcp ftp、 rlogin、rs…

    Linux干貨 2017-05-30
  • MySQL/MariaDB基于MMM實現讀寫分離及高可用

    前言 MMM(Master-Master replication managerfor Mysql,Mysql主主復制管理器)是一套靈活的腳本程序,基于perl實現,用來對mysql replication進行監控和故障遷移,并能管理mysql Master-Master復制的配置(同一時間只有一個節點是可寫的)。 MMM 優缺點 優點:高可用性,擴展性好,…

    Linux干貨 2015-06-24
  • DNS服務基礎

    DNS服務:是一種工作在應用層的特定應用,也是.c/s架構模式的,DNS的是一種應用層協議,他的端口是UPD協議的53號端口,()根據應用場景不同也會用到tcp協議)這就意味著DNS是默認通過UDP協議進行通信的 我們訪問任何一個網站都是通過主機名的方式進行訪問的;例如www.baidu.com,這是個主機名.稱之為FQDN(完全限定域名) 常見的頂級域中的…

    Linux干貨 2016-11-07
欧美性久久久久