SSL憑證建立
主要分為兩個流程Server憑證建立流程,和Client憑證建立流程,Server建立流程會產生Server的私鑰和Client的公鑰。Client憑證建立流程,則會產生Client的私鑰和Server的公鑰。
當Client要存取Server的資源時,需使用"Server憑證建立流程"所產生的公鑰來取得Server的認可。而Server需要Client溝通時也需使用"Client憑證建立流程"所產生的公鑰來取Cleint的認可。(圖中 藍色部份是由Server憑證建立流程所生成的;綠色部分是由Client憑證建立流程所生成的)
建立Server的憑證
環境:MS-Windows xp
開始->執行->cmd
切換至JDK的目錄下bin資料夾,路徑如下:
C:\Program File\Java\jdk1.6.0_07\bin
輸入指令:(3650指憑証的有效期限為10年)
keytool -genkeypair -alias serverkey -keyalg RSA -validity 3650 -keystore kserver.jks
|
密碼輸入:
123456
|
重新輸入密碼:
123456
|
輸入名字和姓氏:
dh
|
輸入編製單位:
abc
|
輸入組織名稱:
def
|
輸入城市及地區名稱:
Taipei
|
輸入洲及省份:
Taiwan
|
輸入國碼:
tw
|
確認是否正確:
y
|
輸入<clientkey>的主密碼:
123456
|
驗證憑證是否建立
輸入:
keytool -list -v -keystore kserver.jks
|
輸入密碼:
123456
|
將憑證匯出
輸入:
keytool -export -alias serverkey -keystore kserver.jks -rfc -file server.cer
|
將上一步所產生的憑證匯入,建立一組trust Key給Client使用。
1.輸入:
keytool -import -alias serverkey -file server.cer -keystore tclient.jks
|
2.輸入密碼:
123456
|
3.重新輸入密碼:
123456
|
4.會詢問是否信任憑證,輸入:
y
|
5.trust Key建立完成
驗證trust Key使否建立成功
輸入:
keytool -list -v -keystore tclient.jks
|
輸入keystrore密碼:
123456
|
出現以下畫面,代表建立成功。
建立Client的憑證
環境:MS-Windows
開始->執行->cmd
切換至JDK的目錄下bin資料夾路徑如下:
C:\Program File\Java\jdk1.6.0_07\bin
輸入執行:(3650指憑証的有效期限為10年)
keytool -genkeypair -alias clientkey -keyalg RSA -validity 3 -keystore kclient.jks
|
輸入keystore密碼:
123456
|
重新輸入新密碼:
123456
|
輸入名字和姓氏:
dh
|
輸入編製單位:
abc
|
輸入組織名稱:
def
|
輸入城市及地區名稱:
Taipei
|
輸入洲及省份:
Taiwan
|
輸入國碼:
tw
|
確認是否正確:
y
|
輸入<clientkey>的主密碼:
123456
|
輸入完成畫面,此時會產生一組金鑰kclient.jks。
驗證金鑰是否建立完成
輸入:
keytool -list -v -keystore kclient.jks
|
輸入keystore密碼:
123456
|
將憑證匯出
輸入:
keytool -export -alias clientkey -keystore kclient.jks -rfc -file client.cer
|
將上一步所產生的憑證匯入,建立一組trustKey給Server使用。
1. 輸入:
keytool -import -alias client -file client.cer -keystore tserver.jks
|
2. 輸入密碼:
123456
|
3. 重新輸入密碼:
123456
|
4. 會詢問是否信任此憑證:
y
|
5. trustKey 建立完成
驗證trustKey建立是否成功
輸入:
keytool -list -v -keystore tserver.jks
|
輸入密碼:
123456
|
出現以下畫面代表,trustKey建立完成
沒有留言:
張貼留言