亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

openssl 創建 CA 詳細操作手冊

發布時間:2020-06-05 21:45:37 來源:網絡 閱讀:1687 作者:teinyou 欄目:安全技術


使用Openssl創建私有CA中心的整體步驟:

1、生成root ca,再根據roo.ca生成intermediate CAs,最佳實踐是,不要讓root.ca直接去簽名,而是讓intermediate CAs 去簽名,生成root.ca的機器最好isolated,以免私鑰丟失。

1.1、準備root證書放的地兒專門保存私鑰和證書

mkdir /root/ca

cd /root/ca

mkdir certs crl newcerts private

chmod 700 private

touch index.txt

echo 1000 > serial

index.txt and serial files 用于記錄證書簽名的跟蹤.

1.2、必須使用一個配置文件給openssl來使用,保存的名字位于/root/ca/openssl.cnf,附:https://jamielinux.com/docs/openssl-certificate-authority/appendix/root-configuration-file.html

1.3、創建root CA的私鑰key, 使用aes256加密key文件,私鑰文件為4096位。

# cd /root/ca

# openssl genrsa -aes256 -out private/ca.key.pem 4096

-------會提示讓你輸密碼-------

# chmod 400 private/ca.key.pem

1.4、創建root CA的公鑰certificate,使用私鑰去生成公鑰,失效日期設置長一點(eg:20 years)

# cd /root/ca

# openssl req -config openssl.cnf \

      -key private/ca.key.pem \

      -new -x509 -days 7300 -sha256 -extensions v3_ca \

      -out certs/ca.cert.pem

------會提示你輸入相關信息--------

# chmod 444 certs/ca.cert.pem

使用-config來指定我們之前下載的配置模板,否則將使用默認的模板,位于/etc/pki/tls/openssl.cnf

1.5、校驗生成的公鑰是否是我們想要的

#openssl x509 -noout -text -in certs/ca.cert.pem


2、生成intermediate pairs,intermediate CA可以代表root CA去給第三方做簽名,root CA簽名intermediate CA, 結果會形成一個信任鏈chain of trust

2.1、準備目錄

# mkdir /root/ca/intermediate

# cd /root/ca/intermediate

# mkdir certs crl csr newcerts private

# chmod 700 private

# touch index.txt

# echo 1000 > serial

相比root ca多了一個csr目錄,主要用于保存證書簽名請求。

# echo 1000 > /root/ca/intermediate/crlnumber

創建一個crlnumber文件,主要用于證書吊銷列表的追蹤。

2.2、準備配置文件為/root/ca/intermediate/openssl.cnf, 配置文件模板為https://jamielinux.com/docs/openssl-certificate-authority/appendix/intermediate-configuration-file.html

主要有五個選項需要變一下:

[ CA_default ]

dir             = /root/ca/intermediate

private_key     = $dir/private/intermediate.key.pem

certificate     = $dir/certs/intermediate.cert.pem

crl             = $dir/crl/intermediate.crl.pem

policy          = policy_loose

root.ca中的policy是policy_strict是指它只簽名intermediate,而intermediate是loose是允許他去簽名更多的其他證書。

2.3、創建intermediate私鑰,和root ca一樣的命令

# cd /root/ca

# openssl genrsa -aes256 \

      -out intermediate/private/intermediate.key.pem 4096

-----提示輸入保護密碼---- 

# chmod 400 intermediate/private/intermediate.key.pem

2.4、使用intermediate 私鑰去創建一個certificate signing request (CSR)

# cd /root/ca

# openssl req -config intermediate/openssl.cnf -new -sha256 \

      -key intermediate/private/intermediate.key.pem \

      -out intermediate/csr/intermediate.csr.pem

---------會輸出很多讓你輸入的信息,除了Common Name和root ca時不一樣,其他最好保持一致----------

注意以上使用的是intermediate的配置文件,以下則是使用root ca 的配置文件,with v3_intermediate_ca extension去簽名以上生成的CSR,并生成簽名后的intermediate公鑰證書:

# cd /root/ca

# openssl ca -config openssl.cnf -extensions v3_intermediate_ca \

      -days 3650 -notext -md sha256 \

      -in intermediate/csr/intermediate.csr.pem \

      -out intermediate/certs/intermediate.cert.pem

# chmod 444 intermediate/certs/intermediate.cert.pem

以上命令完后,會在運行openssl ca命令時的目錄(/root/ca)下的index.txt下生成類似以下信息,不要刪除:V 250408122707Z 1000 unknown ... /CN=Alice Ltd Intermediate CA

2.5、驗證intermediate證書的細節是否正確:

# openssl x509 -noout -text \

      -in intermediate/certs/intermediate.cert.pem

然后再驗證intermediate證書的是否被root ca正確簽名:

# openssl verify -CAfile certs/ca.cert.pem \

      intermediate/certs/intermediate.cert.pem

2.6、創建一個證書鏈文件,主要用于一個應用程序,例如瀏覽器要認證intermediate證書的有效簽發機構是不是root ca(假設瀏覽器信任root ca)

# cat intermediate/certs/intermediate.cert.pem \

      certs/ca.cert.pem > intermediate/certs/ca-chain.cert.pem

# chmod 444 intermediate/certs/ca-chain.cert.pem

證書鏈文件必須包含root ca的certification,并且在每臺內部客戶端安裝root公鑰證書.


3、利用intermediate CA去簽名平時使用的server和client,如果是第三方給你的話,人家只需要給你CSR即可,你給CSR簽名就行了。以下是從自己內部的角度來一步一步操作。

3.1、在server端創建key私鑰,盡管root 和 intermediate pair是4096bit,但是給server和client簽名時最好是2048bit,減少TLS握手時性能壓力。

# cd /root/ca

# openssl genrsa -aes256 \

      -out intermediate/private/www.example.com.key.pem 2048

# chmod 400 intermediate/private/www.example.com.key.pem

如果使用apache,每次啟動都要輸入保護私鑰的密碼,如果不想輸入密碼,就去掉-aes256。

3.2、使用key私鑰去生成一個CSR證書(說白了就是未簽名的公鑰證書),

# cd /root/ca

# openssl req -config intermediate/openssl.cnf \(使用intermediate的私鑰去生成server的公鑰?錯了吧,也許這里面的intermediate相當于第三方自己的內部CA,pending....)

      -key intermediate/private/www.example.com.key.pem \

      -new -sha256 -out intermediate/csr/www.example.com.csr.pem

----輸出一堆信息讓你填,你不需要和intermediate的相對應,但common name時填寫網站全名,如果是client的話,最好填郵箱信息-----


3.3、使用intermediate證書去簽名server或client的CSR并生成簽名后證書,證書通常一年

# cd /root/ca

# openssl ca -config intermediate/openssl.cnf \

      -extensions server_cert -days 375 -notext -md sha256 \

      -in intermediate/csr/www.example.com.csr.pem \

      -out intermediate/certs/www.example.com.cert.pem

# chmod 444 intermediate/certs/www.example.com.cert.pem

如果是去簽名一個client,則改成-extensions usr_cert

最后會在intermediate/index.txt文件中生成一條類似于如下信息: V 160420124233Z 1000 unknown ... /CN=www.example.com

3.4、校驗生成的證書信息是否正確

# openssl x509 -noout -text \

      -in intermediate/certs/www.example.com.cert.pem

3.5、使用之前intermediate時創建的證書鏈文件校驗是否ok

# openssl verify -CAfile intermediate/certs/ca-chain.cert.pem \

      intermediate/certs/www.example.com.cert.pem

3.6、部署證書,這里假設是apache,以下文件需要

ca-chain.cert.pem

www.example.com.key.pem

www.example.com.cert.pem

如果是給第三方做簽名的話,只需要給他們ca-chain.cert.pem和

www.example.com.cert.pem,因為他們讓你做簽名時,不會把私鑰給你的。


4、證書撤消列表CRLs,主要用來客戶端程序(eg: IE)使用CRL去驗證一個證書是否被撤消,服務器也可以使用CRLs限制擁有無效證書的客戶端連接。目前CRLs這種方式已經被Online Certificate Status Protocol (OCSP)取代,所以這里喜新不喜舊。

OCSP server address 通常會在證書里面指定。


4.1、OCSP準備配置文件,在intermediate CA的配置文件中指定,因為要使用intermediate CA做簽名

[ server_cert ]

# ... snipped ...

authorityInfoAccess = OCSP;URI:http://ocsp.example.com

4.2、創建OCSP密鑰對,OCSP responder需要使用該密鑰對加密回復requesting party, 必須使用證書的擁有者相同的CA簽名

生成私鑰:

# cd /root/ca

# openssl genrsa -aes256 \

      -out intermediate/private/ocsp.example.com.key.pem 4096

根據私鑰生成CSR:

# cd /root/ca

# openssl req -config intermediate/openssl.cnf -new -sha256 \

      -key intermediate/private/ocsp.example.com.key.pem \

      -out intermediate/csr/ocsp.example.com.csr.pem

-----輸出很多信息需要填,最好和要使用的簽名CA時的信息一樣,Common name是全域名------

使用intermediate CA去簽名該CSR:

# openssl ca -config intermediate/openssl.cnf \

      -extensions ocsp -days 375 -notext -md sha256 \

      -in intermediate/csr/ocsp.example.com.csr.pem \

      -out intermediate/certs/ocsp.example.com.cert.pem

驗證生成的證書含有正確的x509 v3 extension:

# openssl x509 -noout -text \

      -in intermediate/certs/ocsp.example.com.cert.pem

4.2、撤消證書,本次測試環境中使用openssl的ocsp工具作為ocsp responder,在生產環境需要商業版。

建立一個server的證書去測試

# cd /root/ca

# openssl genrsa -out intermediate/private/test.example.com.key.pem 2048

# openssl req -config intermediate/openssl.cnf \(又出現了,為什么生成server證書還要intermediate配置文件?沒谷歌到)

      -key intermediate/private/test.example.com.key.pem \

      -new -sha256 -out intermediate/csr/test.example.com.csr.pem

# openssl ca -config intermediate/openssl.cnf \

      -extensions server_cert -days 375 -notext -md sha256 \

      -in intermediate/csr/test.example.com.csr.pem \

      -out intermediate/certs/test.example.com.cert.pem


在本地運行OCSP responder,通常是和intermediate ca在一起(因為他使用他的配置文件呀),the OCSP responder reads index.txt directly,回復的消息也會使用OCSP cryptographic pair (using the -rkey and -rsigner options)

# openssl ocsp -port 127.0.0.1:2560 -text -sha256 \

      -index intermediate/index.txt \

      -CA intermediate/certs/ca-chain.cert.pem \

      -rkey intermediate/private/ocsp.example.com.key.pem \

      -rsigner intermediate/certs/ocsp.example.com.cert.pem \

      -nrequest 1

在另一個窗口,向OCSP發送requery包,使用-cert指定證書來發送:

# openssl ocsp -CAfile intermediate/certs/ca-chain.cert.pem \

      -url http://127.0.0.1:2560 -resp_text \

      -issuer intermediate/certs/intermediate.cert.pem \

      -cert intermediate/certs/test.example.com.cert.pem

------會有很多輸出信息,OCSP Response Status表示發回來的狀態,Responder Id是指responder的身份,Cert Status表示撤消狀態。-------


撤消證書動作,誰簽發誰撤消:

# openssl ca -config intermediate/openssl.cnf \

      -revoke intermediate/certs/test.example.com.cert.pem

然后再請求一次,就可以看到撤消的狀態了。



向AI問一下細節

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

AI

徐水县| 苍南县| 垣曲县| 岳池县| 长武县| 华坪县| 汝州市| 吉安市| 巴塘县| 韶山市| 岢岚县| 梧州市| 德惠市| 弥渡县| 老河口市| 天长市| 昌宁县| 淮安市| 元阳县| 柳河县| 临朐县| 法库县| 盖州市| 东山县| 赣榆县| 桐乡市| 永康市| 漠河县| 阜新市| 宣武区| 札达县| 长丰县| 芷江| 庆阳市| 连云港市| 沭阳县| 汕头市| 衡水市| 阳东县| 漾濞| 缙云县|