標籤:style blog http io ar color os 使用 sp
伺服器憑證安裝配置指南(Weblogic)
之前在網上找了好多資料,按照步奏執行,但是最後都不行,都缺了一點,最後終於整合起來了,從自己製作CA認證到weblogic配置和用戶端IE設定,全部OK
一、環境準備
1. 安裝JDK(可選)
Weblogic安裝後內建JDK安裝。如果您直接在伺服器上產生認證請求,請進入Weblogic安裝目錄下JDK所在路徑的bin目錄,運行keytool命令。
如果您需要在其他環境下產生認證請求檔案,則您可以選擇安裝JDK,並稍後上傳產生的密鑰庫檔案keystore.jks到伺服器上進行配置。
Java SE Development Kit (JDK) 下載。:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2、準備openssl
先決條件:從openssl官網下載www.openssl.org
安裝openssl[windows和linux安裝不同]
如果沒有配置環境變數,則需要進入openssl的bin目錄下執行命令,如:C:/OpenSSL/bin,這個不對了,我下載的是最新的openssl-0.9.8zc,沒有bin,目錄,測試了下,可以在win7下直接用C:\openssl-0.9.8zc這個目錄執行,
若只配置了環境變數,則在任意位置都可以執行
在執行命令前,建立兩個目錄ca和server,這個要注意哦,在openssl-0.9.8zc這個裡面建立
一、 使用openssl製作CA認證和伺服器憑證
目前不使用第三方權威機構的CA來認證,因為需要收費,所以我們自己使用openssl來製作CA認證和伺服器憑證,自己充當CA的角色。
一:產生CA認證
1. 建立私密金鑰 :
openssl genrsa -out ca/ca-key.pem 1024
2.建立認證請求 :
openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem
這句執行出錯啦,結果出現了這個錯誤:Unable to load config info from /usr/local/ssl/openssl.cnf
百度了一下,按照後面藍色這一段執行就OK
原來是直接使用了別人產生好的密鑰,可惜他是在Unix上用的,不適合Win32!沒有辦法,從新開始整openSSO,但是呢,在使用openSSO的時候,出現了 [Unable to load config info from /usr/local/ssl/openssl.cnf ] 異常.然原來這是Unix的預設設定,沒有辦法,只好建檔案[c:/usr/local/ssl],從網上下載openssl.conf,然後改為openssl.cnf,置於c:/usr/local/ssl目錄下,好了,終於搞定密鑰了,Apache也可以啟動了,慶祝一下。
訪問https://localhost/login,是白屏,是沒有啟動Apache的SSL,在CMD下運行apache -D SSL,OK,一切都搞定了。
一些最佳化的方法,就是在ssl.conf檔案中,注釋掉<IfDefine SSL>,就可以直接啟動SSL了。
在配置中,還有一些問題,比如,[ Invalid SSLMutex argument file:logs/dd (Valid SSLMutex mechanisms are: `none‘,
default‘ )],這是Apache的一個Bug,只能使用default或者none.
上面的參數都是隨意寫的,但是我的多了需要請求的密碼,必須是4位,我設定為test
3.自簽署認證 :
1>3650 是設定10年的認證有效期間,基本夠用了
openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650
2>產生ca-cert.cer認證,用於用戶端匯入
openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.cer -signkey ca/ca-key.pem -days 3650
4.將認證匯出成瀏覽器支援的.p12格式 : (不需要可以省略)
openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12
密碼繼續設定為test
製作伺服器憑證
通過keytool工具產生秘鑰、及認證請求檔案,然後使用openssl上一步產生的ca根憑證對認證請求進行簽證,
下面產生的檔案都產生到C:\Users\xia\AppData\Local\VirtualStore\Program Files (x86)\Java\jdk1.6.0\bin目錄下了
Unix下面產生的檔案都產生到:/openssl-0.9.8zc/server/目錄下邊
下面這兩步使用keytool工具
產生金鑰組
keytool -genkey -alias example -validity 3650 -keyalg RSA -keysize 1024 -keypass 123456 -storepass 123456 -keystore example.jks
產生認證請求
keytool -certreq -alias example -sigalg MD5withRSA -file example.csr -keypass 123456 -keystore example.jks -storepass 123456
後面的命令使用openssl
根據認證請求,產生伺服器憑證
openssl x509 -req -in server/example.csr -out server/example.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -days 3650 -set_serial 1
向Keystore中匯入認證
切換回keytool工具
匯入CA認證
keytool -import -v -trustcacerts -keypass 123456 -storepass 123456 -alias root -file C:\openssl-0.9.8zc\ca\ca-cert.pem -keystore C:\openssl-0.9.8zc\example.jks
AIX中命令如下:
keytool -import -v -trustcacerts -keypass 123456 -storepass 123456 -alias root -file /home/eteller/openssl/openssl-0.9.8zc/ca/ca-cert.pem -keystore /home/eteller/openssl/openssl-0.9.8zc/server/example.jks
匯入伺服器憑證
keytool -import -v -trustcacerts -storepass 123456 -alias example -file C:\openssl-0.9.8zc\example.pem -keystore C:\openssl-0.9.8zc\example.jks
AIX中命令如下:
keytool -import -v -trustcacerts -storepass 123456 -alias example -file /home/eteller/openssl/openssl-0.9.8zc/server/example.pem -keystore /home/eteller/openssl/openssl-0.9.8zc/server/example.jks
查看Keystore檔案內容
keytool -list -keystore C:\openssl-0.9.8zc\example.jks -storepass 123456
AIX中命令如下:
keytool -list -keystore /home/eteller/openssl/openssl-0.9.8zc/server/example.jks -storepass 123456
看到有2個認證,一個是根憑證,一個是伺服器憑證,其中根憑證是公開金鑰,伺服器憑證是私密金鑰
秘鑰庫檔案:example.jks在ssl的配置中使用到。先把這個檔案複製到如下位置:
C:\bea\user_projects\domains\base_domain即域的根目錄下。
AIX中命令如下:
cp example.jks /home/eteller/base_domain/
Weblogic 配置
開啟ssl服務
設定keystore
密碼4個都是 之前申請產生example.jks的123456
設定SSL
這裡面Private Key Alias:是我們伺服器的別名,也就是之前設定的example,密碼還是123456
需要把這個伺服器名驗證設定為NONE
屏蔽http訪問
設定完成之後,重啟Weblogic,可以通過https://localhost:7002/ETellerbb/方式進行訪問,但是原有http://localhost:7001/ETellerbb/還是可以訪問,需要在web.xml下增加配置
<security-constraint>
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
這樣訪問http時會自動跳轉到https
用戶端操作
匯入CA認證
1、開啟Internet選項-》選擇內容-》點擊認證
2、開啟可信任的根憑證授權單位-》點擊“匯入”按鈕
瀏覽器去掉地址不匹配警告
全部修改完畢之後,重啟瀏覽器
weblogic製作認證實現HTTPS 完整版