weblogic製作認證實現HTTPS 完整版

來源:互聯網
上載者:User

標籤: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 完整版

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.