中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Openssl進行PKI實踐(含多級證書詳細步驟)

發布時間:2020-07-05 10:18:13 來源:網絡 閱讀:3675 作者:lbq0711 欄目:安全技術

Openssl是Linux下的基礎安全工具

先簡要介紹一些基礎知識:

Openssl功能主要有:對稱加密(DES、3DES、AES等),非對稱加密(RSA),散列(MD5、SHA1等)以及證書的相關操作(創建、申請、頒發、吊銷等)

PKI體系成為公鑰加密體系,組成部分包括:認證中心、注冊中心、證書庫、證書廢止列表。

Openssl常用證書格式:X509、PKCS7、PKCS12。

證書文件常用存儲格式:PEM(BASE64)、PFX或P12(二進制)

 

本文主要實踐點:

1、根CA相關操作(私鑰生成、生成自認證證書)

2、用戶證書相關操作(私鑰生成、生成證書簽發請求文件、根CA同意請求簽發該證書)

3、次級CA證書相關操作(從根CA得到次級CA證書和次級CA私鑰之后,再給下屬用戶簽發證書)

實驗環境:

RHEL 6.3(KVM虛擬機) rootca.testlibq.com

RHEL 6.3(KVM虛擬機) apache.testlibq.com(以APACHE服務器為次級CA)

Windows XP(KVM虛擬機) xp.testlibq.com(以展示證書)

實驗步驟:

1、生成根CA證書

登錄到ROOTCA機器

cd /etc/pki/CA/private

openssl genrsa -des3 -out rootca.key 1024  

                 #生成ROOTCA私鑰,rootca.key格式為PEM

[設置rootca私鑰密碼,例如輸入rootca]

touch /etc/pki/CA/index.txt   #創建證書數據庫文件

echo "01" > /etc/pki/CA/serial  #創建證書序號文件

openssl req -new -x509 -key rootca.key -out /etc/pki/CA/rootca.crt

                 #生成ROOTCA證書(類型為X509),rootca.crt格式為PEM

[輸入rootca私鑰密碼:rootca]

[填入一堆證書信息]

 

由于/etc/pki/tls/openssl.cnf中設置了CA的私鑰和證書路徑,所以這里使用軟鏈接。

ln -s /etc/pki/CA/private/rootca.key /etc/pki/CA/private/cakey.pem

ln -s /etc/pki/CA/rootca.crt /etc/pki/CA/cacert.pem

這樣,CA便設置好了。

查看證書和私鑰可以用以下命令:

openssl rsa -in /etc/pki/CA/private/rootca.key -text -noout

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

 

2、用戶證書的相關操作

PS:

用戶證書可以在用戶端生成私鑰和請求文件,然后傳遞至CA,由CA簽發后,發給用戶。

也可以由根CA生成用戶私鑰和請求文件,然后簽發后把私鑰和證書發給用戶。

這里演示后者。

登錄到rootca機器(接實驗1)

cd /etc/pki/CA/private

openssl genrsa -des3 -out a.key 1024  #生成用戶私鑰

[set password of a.key]

openssl req -new -key a.key -out a.csr  #生成用戶請求文件

[input password of a.key]

[輸入一堆證書信息]

openssl ca -in a.csr

[y,y]

 

生成證書位于/etc/pki/CA/newcerts/01.pem

PS:

該證書類型為X509,若需要PKCS12類型證書,請使用

openssl pkcs12 -export -in /etc/pki/CA/newcerts/01.pem -inkey /etc/pki/CA/private/a.key -out a.pfx[輸入私鑰密碼][設置傳輸密碼]

 

3、生成證書鏈

此節內容網上文章較少,我研究了好久才搞出來。

 

首先上面兩個實驗是連著做的,第三個實驗請把上面的環境清除。

登錄到ROOTCA

cd /etc/pki/CA/private

touch ../index.txt

echo "01" > ../serial

openssl genrsa -des3 -out rootca.key 1024 [rootca]

ln -s rootca.key cakey.pem

openssl req -new -x509 -key rootca.key -out /etc/pki/CA/rootca.crt -extensions v3_ca

ln -s /etc/pki/CA/rootca.crt /etc/pki/CA/cacert.pem

這里查看一下rootca證書:

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

確定extensions中,有basicConstraint CA:TRUE,那么代表正確。

PS:basicConstraint稱為基礎約束,若有CA:TRUE,證明該證書具有CA效力。(所以上述實驗1、2中并不嚴謹,這點在需要證書鏈的場合尤為重要)

cd /etc/pki/CA/private

openssl genrsa -des3 -out apache.key 1024 [apache]

openssl req -new -key /etc/pki/CA/private/apache.key -out apache.csr

[apache][一堆證書信息]

openssl ca -in apache.csr -extensions v3_ca[y,y]

PS:這個extensions至關重要,關系到apache這個證書有沒有資格再頒發證書給用戶。

 

登錄到apache主機

rsync rootca.testlibq.com:/etc/pki/CA/private/apache.key /etc/pki/CA/private/apache.key

[root password of rootca.testlibq.com]

rsync rootca.testlibq.com:/etc/pki/CA/newcerts/01.pem /etc/pki/CA/apache.crt

[root password of rootca.testlibq.com]

ln -s /etc/pki/CA/private/apache.key /etc/pki/CA/private/cakey.pem

ln -s /etc/pki/CA/apache.crt /etc/pki/CA/cacert.pem

下面制作用戶證書

cd /etc/pki/CA

touch index.txt

echo "01" > serial

openssl genrsa -des3 -out private/user1.key 1024 [user1]

openssl req -new -key private/user1.key -out private/user1.csr[user1][一堆證書信息]

openssl ca -in private/user1.csr -extensions usr_cert[y,y]

PS:這里-extensions usr_cert不必要。

制作證書鏈

rsync rootca.testlibq.com:/etc/pki/CA/rootca.crt /etc/pki/CA/certs/rootca.crt

[root password of rootca.testlibq.com]

將rootca的證書和apache的證書整合到一個文件

cd /etc/pki/CA/certs

cp /etc/pki/CA/apache.crt chain.pem

cat rootca.crt >> chain.pem

驗證證書鏈

openssl verify -CAfile /etc/pki/CA/certs/chain.crt /etc/pki/CA/newcerts/01.pem

(若顯示Verify OK,表示驗證證書鏈成功)

轉換用戶證書為PKCS12

openssl pkcs12 -export -in /etc/pki/CA/newcerts/01.pem -inkey /etc/pki/CA/private/user1.key -out /etc/pki/CA/private/user1.pfx -chain -CAfile /etc/pki/CA/certs/chain.crt

最后將user1.pfx復制到Windows中,導入證書,便于展示。

結果如圖:

使用Openssl進行PKI實踐(含多級證書詳細步驟)

 

使用Openssl進行PKI實踐(含多級證書詳細步驟)

 

附件:http://down.51cto.com/data/2362193
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丰原市| 汽车| 沙雅县| 皋兰县| 榆社县| 迭部县| 南阳市| 东丽区| 永修县| 灵台县| 大城县| 资溪县| 定安县| 白沙| 金平| 汾西县| 高平市| 集贤县| 临安市| 安达市| 北辰区| 麻栗坡县| 内丘县| 兴隆县| 灵武市| 格尔木市| 秦安县| 怀仁县| 中山市| 石楼县| 秭归县| 兰西县| 镇安县| 都江堰市| 内丘县| 北票市| 堆龙德庆县| 芷江| 河南省| 巴南区| 大足县|