java使用https配置以及瀏覽器導入本身生成的證書

有一個須要,客戶要求使用https,可是目前只使用java生成的證書便可。以後研究了一下,記錄以下。 html

(1)java工具keytool

位置:%JAVA_HOME%/bin/keytool.exe java

經常使用命令: linux

建立 web

keytool -genkey -alias catest -keyalg RSA -keystore d:\catest.key

alias    指定別名 chrome

keyalg    加密方式 shell

keystore    倉庫位置 windows

以後會要求輸入其餘幾項: 瀏覽器

    1.建立的倉庫密碼和密碼確認 tomcat

    2.CN(您的名字于姓氏是什麼)    域名或IP,本機調試輸入127.0.0.1 安全

        OU、O等,其中CN爲最重要的信息,會影響以後導入的信任cer證書可否正常訪問。

    3.輸入生成的祕鑰密碼,默認與倉庫密碼一致,直接輸入回車便可。

也可使用一條語句(未驗證)


keytool -genkey -alias yushan -keypass yushan -keyalg RSA -keysize 1024 -validity 365 -keystore  e:/yushan.keystore -storepass 123456 -dname "CN=(名字與姓氏), OU=(組織單位名稱), O=(組織名稱), L=(城市或區域名稱), ST=(州或省份名稱), C=(單位的兩字母國家代碼)";
其餘參數不詳細介紹,你們能夠查閱。


刪除


keytool -delete -alias catest -keystore d:\catest.key
查看



keytool -list -keystore d:\catest.key
當建立完成後,就能夠配置服務器爲https了。可是我還要作一個操做,生成cer文件,導入瀏覽器爲信任證書,這樣能夠正常訪問服務器,而沒有提示。


導出


keytool -export -alias catest -file d:\catest.cer -keystore d:\catest.key
以後能夠看到生成了 catest.cer 文件,以後導入用,keytool的操做就完成了。

更多操做,能夠參考http://blog.csdn.net/tony1130/article/details/5134318

(2)tomcat配置

我使用tomcat7,其餘版本應該相似。

打開conf/server.xml,複製其中被註釋掉的https的配置段,粘貼到註釋外面。並添加keystoreFile(倉庫文件)和keystorePass(密碼)屬性,其餘配置默認便可,若是須要優化你們能夠搜索資料,配置以下

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" 
keystoreFile="d:/catest.key"
keystorePass="catest" />

如今能夠啓動tomcat,已經能夠經過https訪問了,例如https://127.0.0.1:8443

以後還有一些操做能夠配置。

(3)配置web.xml,令指定的登陸請求使用https,其餘頁面可使用http

<login-config>
	<auth-method>CLIENT-CERT</auth-method>
	<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
	<web-resource-collection>
		<web-resource-name>SSL</web-resource-name>
		<url-pattern>/login.html</url-pattern>
	</web-resource-collection>
	<user-data-constraint>
		<transport-guarantee>CONFIDENTIAL</transport-guarantee>
	</user-data-constraint>
</security-constraint>
配置節點介紹請參考  http://252401762.iteye.com/blog/310078


(4)安全證書不受信任

如今訪問時,會提示    安全證書不受信任,將以前導出的cer證書導入到瀏覽器的信任根證書就能夠了。

雙擊證書,安裝過程當中,有一步爲選擇證書的安裝位置,選擇爲  受信任的根證書頒發機構  便可。IE下正常,chrome下仍是沒轍。

(5)weblogic配置

使用生成的祕鑰,配置weblogic。固然正式的證書中,公鑰、私鑰、密碼、文件等要複雜一些。不過如今只是簡單作實現功能。

weblogic版本10.3,windows環境。linux環境應該相似。

進入weblogic控制檯,點擊左側  服務器  ,在右面的列表中選擇  AdminServer(就是接受訪問的服務器),進入配置頁面。

配置頁面中,有三個選項卡是以後會用到的,分別是   密鑰庫(keystore)、SSL和通常信息(general)。

在密鑰庫中,

密鑰庫選擇    定製標識和定製信任(Custom Identity and Custom Trust)。

下面的兩個配置相同便可:

密鑰庫(keysotre):密鑰文件位置(d:\catest.key)

類型(keysotre type):jks

密碼(passphrase):設置的密碼(catest)

密碼確認(passphrase):確認密碼(catest)

在SSL配置中:

標識和信任位置(identity and trust location):密鑰庫(keystore)

祕鑰別名(key alias):建立的key別名(catest)

祕鑰密碼和確認密碼:默認建立的是和密鑰庫密碼同樣(catest)

在通常配置中:

有一項   已啓用的SSL監聽端口(SSL Listen Port Enabled),打鉤,並記住下面的端口,默認爲7002。

配置完成,保存,激活更改,重啓應用。


(6)正式CA證書的使用,未完待續。。。

相關文章
相關標籤/搜索