使用keytool工具產生帶根CA和二級CA的用戶證書
使用keytool工具產生帶根CA和二級CA的用戶證書
1 生成根CA
1.1 生成根CA證書
??根CA實際是一張自簽CA,自簽CA的使用者和頒發者都是它自己。使用下面的命令生成根證書,如果沒有指定keystore
則會使用默認在用戶Home目錄下的.keystore
秘鑰庫(如果沒有則會創建),輸入秘鑰庫的密碼,填寫根證書的信息,最後填寫根證書秘鑰對的密碼。
keytool -genkeypair -alias rootca -keyalg RSA
??如圖是我填寫的根證書信息,根CA的名字叫rootca
:
1.2 導出根CA證書
??使用keytool
的導出功能,從秘鑰庫中導出根證書,輸入秘鑰庫的密碼,導出的證書文件為rootca.cer
keytool -exportcert -alias rootca -file rootca.cer
2 生成二級CA
2.1 生成二級CA證書
?? 二級CA證書需要由根證書進行簽發,首先需要使用keytool
生成二級CA的證書,但是此時的證書還是張自簽證書,我們需要從中生成一個二級CA的證書請求(包含了公鑰),然後通過將證書請求到rootca
簽發我們的二級證書,然後我們在將rootca
簽發的二級CA證書導入到導出證書請求的秘鑰庫中,完成二級CA的生成。下面是生成二級CA證書命令,此時是張自簽證書:
keytool -genkeypair -alias subca -keyalg RSA
??下面是二級CA證書的信息,名字叫subca
,如下圖所示:
??此時的證書頒發者和使用者都是自已,如下圖所示:
2.2 從二級CA的秘鑰對中生成證書請求
??此時簽的二級CA證書是一張自簽證書,頒發者和使用者都是自身,我們需要從二級CA證書的keypair
中導出證書請求,下面是導出證書請求(帶公鑰)的命令,subca
是我們上面生成的二級CA的秘鑰對名字,最終導出證書請求文件為subca.csr
:
keytool -certreq -alias subca -file subca.csr
2.3 使用證書請求從根CA中簽發證書
??通過keytool
工具的簽發證書功能,使用rootca
對二級CA的證書請求(subca.csr)簽發一張證書。命令如下,alias指定證書的頒發者,infile指定證書請求文件,outfile是簽發證書的名字:
keytool -gencert -alias rootca -infile subca.csr -outfile subca.cer
??可以看到該證書的頒發者已經是rootca
,rootca的主題是ChuanYeCA
了:
2.4 導入二級CA到秘鑰庫中
??此時需要將根CA簽發的二級CA導入會秘鑰庫中,秘鑰庫中的秘鑰對對應的自簽證書將會更新問根CA簽發的證書,導入的命令如下,subca之前用來生成證書請求的秘鑰對名字:
keytool -importcert -alias subca -file subca.cer
??此時查看一下秘鑰庫中的subca的秘鑰對的證書的頒發者是roota了:
]
3 使用二級證書簽發用戶證書
3.1 生成用戶證書
??簽發用戶證書的流程與產生二級CA的過程是一樣的,下面我們進行產生用戶shayne
的證書,將第2步中的所有rootca
該為二級CA的subca
,將subca
變為shayne
,先產生shayne
的自簽證書,命令如下:
keytool -genkeypair -alias shayne -keyalg RSA
3.2 導出用戶證書請求
??導出的命令如下:
keytool -certreq -alias shayne -file shayne.csr
3.3 用二級CA簽發用戶證書
??簽發的命令如下:
keytool -gencert -alias subca -infile shayne.csr -outfile shayne.cer
3.4 導如用戶證書到秘鑰庫中
??導如證書到秘鑰庫的命令如下:
keytool -importcert -alias shayne -file shayne.cer
??查看我們的秘鑰庫中的用戶的證書信息如下圖:
??查看證書文件如下圖:
4 查看用戶證書鏈
?? 需要先將根證書和二級CA證書安裝到本地電腦的證書信任庫中,雙擊shayne.cer才能看到該證書是已被信任,而且能夠看到如下圖的證書鏈關系:
使用keytool工具產生帶根CA和二級CA的用戶證書