- ssl
ssl協議是保證客戶端和服務器能夠實現安全傳輸的一個協議,客戶端向服務器發送請求後服務器會返回一個證書,裏面包含必要信息密鑰來驗證身份,證明你的確是老大,而驗證身份就需要有一個公證員,那麼CA機構就是這個公證員。因此,必須要有的東西是CA的證書和服務器的證書。有的情況下,服務器也需要驗證訪問它的客戶端的身份和信息,正如有的老大要確認你就是我的小弟,這時就需要客戶端證書了。
總之,如果僅需要CA證書和服務器證書,那就是單向ssl。如果還需要客戶端證書,那就是雙向ssl。
- 必備軟件
openssl工具用來製作密鑰、CA根證書。網上直接搜索openssl下載即可。
- 單向ssl配置
建立CA證書
1.創建私鑰
D:\OpenSSL\bin>openssl genrsa -out d:/ca-key.pem 1024
2.創建證書請求
D:\OpenSSL\bin>openssl req -new -out d:/ca-req.csr -key d:/ca-key.pem -config openssl.cnf
3.生成CA自簽名證書
D:\OpenSSL\bin>openssl x509 -req -in d:/ca-req.csr -out d:/ca-cert.pem -signkey d:/ca-key.pem -days 3650
製作服務器證書
4.用keytool工具生成密鑰
D:\OpenSSL\bin>keytool -genkey -alias erms -validity 365 -keyalg RSA -keysize 1024 -keypass 123456 -storepass 123456 -keystore erms.jks
5.用keytool工具生成證書請求
D:\OpenSSL\bin>keytool -certreq -alias erms -sigalg MD5withRSA -file erms.csr -keypass 123456 -keystore erms.jks -storepass 123456
6.根據證書請求,生成服務器證書
D:\OpenSSL\bin>openssl x509 -req -in erms.csr -out erms.pem -CA d:/ca-cert.pem -CAkey d:/ca-key.pem -days 3650 -set_serial 1
向keystore密鑰庫中導入證書
7.導入CA證書
D:\OpenSSL\bin>keytool -import -v -trustcacerts -keypass 123456 -storepass 123456 -alias root -file d:/ca-cert.pem -keystore erms.jks
8.導入服務器證書
D:\OpenSSL\bin>keytool -import -v -trustcacerts -storepass 123456 -alias sso -file erms.pem -keystore erms.jks
9.導入CA驗籤信息
D:\OpenSSL\bin>keytool -import -alias erms-ca -trustcacerts -file d:/ca-cert.pem -keystore ermstrust.jks
10.以上步驟會產生兩個密鑰庫文件:erms.jks和ermstrust.jks,在weblogic中ssl的配置中用到。首先將這兩個文件複製到weblogci域的根目錄下面,即:
/home/weblogic/Middleware/user_projects/domains/base_domain下面
啓動weblogic的ssl監聽端口
11.登陸weblogic控制檯頁面,首先進入如下頁面啓動ssl監聽端口
配置weblogi的密鑰庫
12.進入如下頁面
點擊更改,選擇定製標識和定製信任
然後填寫相應的標識密鑰庫和信任密鑰庫,這裏填入的密鑰庫文件就是前面產生的erms.jks和ermstrust.jks兩個文件,密碼是之前設置的123456,填寫完成後記得保存
配置weblogic的ssl
13.進入ssl配置頁面,如下圖所示,密鑰別名就是前面定義好的名字,這裏是erms,密碼還是123456
瀏覽器驗證
14.到這裏,單向 ssl配置就完成了,在瀏覽器中輸入https://localhost:7002/console訪問控制檯進行測試:
繼續瀏覽此網站,驗證成功
- 雙向ssl配置
製作客戶端證書
1.產生客戶端對應的私鑰
D:\OpenSSL\bin>openssl genrsa -out user-key.pem 1024
2.根據私鑰產生證書請求csr文件
D:\OpenSSL\bin>openssl req -new -out user-req.csr -key user-key.pem
3.使用openssl之前製作的ca根證書對證書請求文件進行簽證
D:\OpenSSL\bin>openssl x509 -req -in user-req.csr -out user-cert.pem -signkey user-key.pem -CA d:/ca-cert.pem -CAkey d:/ca-key.pem -CAcreateserial -days 3650
4.將簽證之後的證書文件user-cert.pem導出爲p12格式文件(p12格式可以被瀏覽器識別並安裝到證書庫中)
D:\OpenSSL\bin>openssl pkcs12 -export -clcerts -in user-cert.pem -inkey user-key.pem -out user.p12
5.將簽證之後的證書文件user-cert.pem導入至信任祕鑰庫中(這裏由於沒有去ca認證中心購買個人證書,所以只有導入信任庫纔可進行雙向ssl交互)
D:\OpenSSL\bin>keytool -import -alias user -trustcacerts -file user-cert.pem -keystore ermstrust.jks
6.需要把最後增加證書的信任祕鑰庫ermstrust.jks重新複製到domain目錄下。
weblogic控制檯雙向ssl配置
7.進入weblogic控制檯如下頁面,進入ssl配置頁面,點擊高級
選擇雙向客戶機證書行爲中的請求客戶機證書並強制使用,這樣就強制客戶端瀏覽器提供證書,修改完成記得保存
8.接下來,雙擊剛纔生成的p12文件,即在目錄D:\Progra, Files\OpenSSL\bin裏面的user.p12,將用戶證書安裝到瀏覽器的證書庫中,一直點擊下一步即可
9.以上就完成了雙向ssl的相關配置,再次訪問控制檯,因本機已經裝過一次,所以要選擇一個證書進行訪問
可將此次生成的erms.jks和ermstrust.jks兩個文件上傳至多個服務器的weblogic域的根目錄下同時使用,但weblogic控制檯要按照上面說過的配置項配置正確。