天天看點

window xp tomcat6.0配置ssl認證 (單向認證)

Step1,建立伺服器端certificate keystore和自簽名certificate。

 在指令行下使用如下指令:

C:\Documents and Settings\new>keytool -genkey -alias mykey -keyalg RSA -keystore server.keystore

輸入keystore密碼:123456

再次輸入新密碼:123456

您的名字與姓氏是什麼?

  [Unknown]:  test

您的組織機關名稱是什麼?

  [Unknown]:  work

您的組織名稱是什麼?

  [Unknown]:  china

您所在的城市或區域名稱是什麼?

  [Unknown]:  jn

您所在的州或省份名稱是什麼?

  [Unknown]: sd

該機關的兩字母國家代碼是什麼

  [Unknown]:  cn

CN=test, OU=work, O=china, L=jn, ST=sd, C=cn 正确嗎?

  [否]:  y

輸入<mykey>的主密碼

        (如果和 keystore 密碼相同,按回車):

在C:\Documents and Settings\new下可以找到一個檔案:server.keystore,其中就包含了自簽名的證書。

注意:

       這裡要求certificate keystore 和certificate的密碼一緻,此為Tomcat的限制。

Step2,在tomcat安裝目錄下建立目錄keystore,并拷貝server.keystore到其目錄下。

(如我的tomcat安裝目錄C:\Program Files\Apache Software Foundation\Tomcat 6.0)

Step3,修tomcat安裝目錄下/conf/server.xml檔案。添加https的Connector。

<Connector

           port="8443" minSpareThreads="5" maxSpareThreads="75"

           enableLookups="true" disableUploadTimeout="true"

           acceptCount="100"  maxThreads="200"

           scheme="https" secure="true" SSLEnabled="true"

           keystoreFile="keystore/server.keystore" keystorePass="123456"

           clientAuth="false" sslProtocol="TLS"/>

注意:

在原有的server.xml中有<connector></connector>标記對,但是注釋了的,記的去掉注釋

       keystoreFile指向檔案%TOMCAT_HOME%/keystore/server.keystore檔案。

       keystorePass就是剛才生成certificate keystore的密碼。

Step4,測試Https。通路https://localhost:8443/,提示有不安全的證書,接受證書,看到可親的tom貓。

延伸

某些情況下,某些特定資源需要走https協定,如登入請求。這時,我們可以在web.xml中配置限制。

<security-constraint>

       <web-resource-collection>

           <web-resource-name>SSL Resource</web-resource-name>

           <url-pattern>/login.jsp</url-pattern>

       </web-resource-collection>

       <user-data-constraint>

               <transport-guarantee>      
                       CONFIDENTIAL      

</transport-guarantee>

       </user-data-constraint>

</security-constraint>

這樣當使用如下請求通路登入頁面時,則伺服器将該請求建立在https連接配接上。