OpenSSL

三個組件:

openssl: 多用途的命令行工具;

libcrypto: 加密解密庫;

libsslssl協議的實現;

PKIPublic Key Infrastructure

CA

RA

CRL

證書存取庫 

建立私有CA:

OpenCA

openssl 

證書申請及簽署步驟:

1、生成申請請求;

2、RA核驗;

3、CA簽署;

4、獲取證書; 

創建私有CA

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

(1) 創建所需要的文件

 [root@localhost CA]# touch index.txt

[root@localhost CA]# echo 01 > serial 

(2) CA自簽證書

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

[root@localhost CA]# (umask 077; openssl genrsa  -out private/cakey.pem 2048)

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

[root@localhost CA]# openssl req -new -x509 -key  private/cakey.pem -days 7300 -out cacert.pem

例三:已創建CA證書

[root@localhost CA]# ll
total 8
-rw-r--r--. 1 root root 1407 Jun 15 17:33 cacert.pem 

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

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

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

-days n:證書的有效期限;

-out /PATH/TO/SOMECERTFILE: 證書的保存路徑; 

(3) 發證

(a) 用到證書的主機生成證書請求

[root@localhost ssl]# (umask 077; openssl genrsa -out httpd.key 2048) 

# openssl req -new -key /etc/httpd/ssl/httpd.key -days 365 -out /etc/httpd/ssl/httpd.csr

[root@localhost ssl]# openssl req -new -key httpd.key -days 365 -out httpd.csr

(b) 把請求文件傳輸給CA;

[root@localhost ssl]# scp httpd.csr root@192.168.21.137:/tmp/
Password:
httpd.csr                                             100% 1058     1.0KB/s   00:0

(c) CA簽署證書,并將證書發還給請求者;

# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365 

查看證書中的信息:

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

(4) 吊銷證書

(a) 客戶端獲取要吊銷的證書的serial

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

(b) CA

先根據客戶提交的serialsubject信息,對比檢驗是否與index.txt文件中的信息一致;

吊銷證書:

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

(c) 生成吊銷證書的編號(第一次吊銷一個證書)

# echo 01 > /etc/pki/CA/crlnumber 

(d) 更新證書吊銷列表

# openssl ca -gencrl -out thisca.crl 

查看crl文件:

# openssl crl -in /PATH/FROM/CRL_FILE.crl -noout -text

 

 

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

(0)
kangkang
上一篇 2015-03-21 10:23
下一篇 2015-03-23 11:38

相關推薦

  • 循環 函數 軟件包 【中】

    循環 函數 軟件包  【中】  創建無限循環 while true; do     循環體 ? done ? until false; do     循環體 ? Done 特殊用法 ?while循環的特殊用法(遍歷文件的每一行):      &nbs…

    Linux干貨 2016-08-21
  • CentOS Linux解決Device eth0 does not seem to be present

    CentOS Linux解決Device eth0 does not seem to be present 今天早上打開xshell鏈接虛擬機,突然鏈接不上。然后進入虛擬機執行 ifconfig 或者 ip addr list 命令發現eth0 不見。然后執行重啟網卡命令發現  解決辦法:   首先,打開/etc/udev/rules.d/70-p…

    Linux干貨 2016-08-02
  • nginx AIO機制與sendfile機制

    nginx AIO機制與sendfile機制 從0.8.11版本開始, nginx 開始支持Linux native aio,如何在nginx里配置使用這套機制是本文介紹的重點。在下面的示例配置中,幾個重要相關選項的具體含義如下: aio: Syntax: aio on | off | sendfi…

    Linux干貨 2016-10-27
  • N27網絡班第6周作業

    1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; :%s@^[[:space:]]\+@#&@g 2、復制/boot/grub/grub.conf 至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符 :%s@^[[:space:]]…

    Linux干貨 2017-09-03
  • Linux中分析文本工具

    一、收集文本統計數據wc wc命令用來計算數字。利用wc指令我們可以計算文件的Byte數、字數或是列數,若不指定文件名稱,或是所給予的文件名為“-”,則wc指令會從標準輸入設備讀取數據,且不改變原始數據。 例如; 可以對文件或STDIN中的數據運行 $wcstory.txt 39   237   1901 story.txt 行數 字數 …

    Linux干貨 2016-08-08
  • 磁盤管理(SWAP、dd、quota、RAID、LVM)

    2016-08-26: 授課內容: 1、SWAP交換分區的創建 2、dd命令的使用 3、設定文件系統配額 4、設定和管理軟RAID設備 5、配置邏輯卷、邏輯卷快照 1、swap (1)SWAP分區:模擬內存,當物理內存不足時,進程需要內存資源是,內存會把一部分沒有在用的進程分頁挪到硬盤的模擬內存中,騰出空間被現在需要使用內存資源的進程 即其作用是可以允許內存…

    Linux干貨 2016-09-01
欧美性久久久久