使用Openssl進(jìn)行PKI實(shí)踐(含多級(jí)證書詳細(xì)步驟)-創(chuàng)新互聯(lián)

Openssl是Linux下的基礎(chǔ)安全工具

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)沭陽免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

先簡(jiǎn)要介紹一些基礎(chǔ)知識(shí):

Openssl功能主要有:對(duì)稱加密(DES、3DES、AES等),非對(duì)稱加密(RSA),散列(MD5、SHA1等)以及證書的相關(guān)操作(創(chuàng)建、申請(qǐng)、頒發(fā)、吊銷等)

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

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

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

本文主要實(shí)踐點(diǎn):

1、根CA相關(guān)操作(私鑰生成、生成自認(rèn)證證書)

2、用戶證書相關(guān)操作(私鑰生成、生成證書簽發(fā)請(qǐng)求文件、根CA同意請(qǐng)求簽發(fā)該證書)

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

實(shí)驗(yàn)環(huán)境:

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

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

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

實(shí)驗(yàn)步驟:

1、生成根CA證書

登錄到ROOTCA機(jī)器

cd /etc/pki/CA/private

openssl genrsa -des3 -out rootca.key 1024

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

[設(shè)置rootca私鑰密碼,例如輸入rootca]

touch /etc/pki/CA/index.txt  #創(chuàng)建證書數(shù)據(jù)庫文件

echo "01" > /etc/pki/CA/serial #創(chuàng)建證書序號(hào)文件

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中設(shè)置了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便設(shè)置好了。

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

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

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

2、用戶證書的相關(guān)操作

PS:

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

也可以由根CA生成用戶私鑰和請(qǐng)求文件,然后簽發(fā)后把私鑰和證書發(fā)給用戶。

這里演示后者。

登錄到rootca機(jī)器(接實(shí)驗(yàn)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 #生成用戶請(qǐng)求文件

[input password of a.key]

[輸入一堆證書信息]

openssl ca -in a.csr

[y,y]

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

PS:

該證書類型為X509,若需要PKCS12類型證書,請(qǐng)使用

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

3、生成證書鏈

此節(jié)內(nèi)容網(wǎng)上文章較少,我研究了好久才搞出來。

首先上面兩個(gè)實(shí)驗(yàn)是連著做的,第三個(gè)實(shí)驗(yàn)請(qǐng)把上面的環(huán)境清除。

登錄到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稱為基礎(chǔ)約束,若有CA:TRUE,證明該證書具有CA效力。(所以上述實(shí)驗(yàn)1、2中并不嚴(yán)謹(jǐn),這點(diǎn)在需要證書鏈的場(chǎng)合尤為重要)

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:這個(gè)extensions至關(guān)重要,關(guān)系到apache這個(gè)證書有沒有資格再頒發(fā)證書給用戶。

登錄到apache主機(jī)

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的證書整合到一個(gè)文件

cd /etc/pki/CA/certs

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

cat rootca.crt >> chain.pem

驗(yàn)證證書鏈

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

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

轉(zhuǎn)換用戶證書為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復(fù)制到Windows中,導(dǎo)入證書,便于展示。

結(jié)果如圖:

使用Openssl進(jìn)行PKI實(shí)踐(含多級(jí)證書詳細(xì)步驟)

使用Openssl進(jìn)行PKI實(shí)踐(含多級(jí)證書詳細(xì)步驟)

附件:http://down.51cto.com/data/2362193

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享名稱:使用Openssl進(jìn)行PKI實(shí)踐(含多級(jí)證書詳細(xì)步驟)-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://bm7419.com/article30/dihcpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、品牌網(wǎng)站建設(shè)、全網(wǎng)營(yíng)銷推廣外貿(mào)網(wǎng)站建設(shè)、云服務(wù)器品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)