終於得到了解決我的問題,因此,如果任何人卡住我會在這裏發佈結果。的Michael's Software Thoughts & Ramblings
感謝邁克爾·馬丁,我發現:
密鑰工具默認使用DSA 算法生成 自簽名證書時。 的早期版本Firefox接受這些密鑰而沒有 問題。使用Firefox 3 beta 5,使用 DSA不起作用,但使用RSA。 生成 當自簽名證書創建一個證書 火狐3測試版5完全 接受傳遞「-keyalg RSA」。
我只是設置該標誌,清除所有在FireFox中的緩存,它的工作就像一個魅力!我使用這個作爲我的項目的測試設置,我需要與其他人分享,所以我寫了一個創建兩個SSL證書的小批處理腳本。一個可以放入Tomcat設置中,另一個可以導入到FireFox/IE中。謝謝!
用法:第一命令行參數是在客戶端的用戶名。所有密碼都是「密碼」(不含引號)。更改任何硬編碼位以滿足您的需求。
@echo off
if "%1" == "" goto usage
keytool -genkeypair -alias servercert -keyalg RSA -dname "CN=Web Server,OU=Unit,O=Organization,L=City,S=State,C=US" -keypass password -keystore server.jks -storepass password
keytool -genkeypair -alias %1 -keystore %1.p12 -storetype pkcs12 -keyalg RSA -dname "CN=%1,OU=Unit,O=Organization,L=City,S=State,C=US" -keypass password -storepass password
keytool -exportcert -alias %1 -file %1.cer -keystore %1.p12 -storetype pkcs12 -storepass password
keytool -importcert -keystore server.jks -alias %1 -file %1.cer -v -trustcacerts -noprompt -storepass password
keytool -list -v -keystore server.jks -storepass password
del %1.cer
goto end
:usage
echo Need user id as first argument: generate_keystore [username]
goto end
:end
pause
結果是兩個文件。一個名爲server.jks的文件放入Tomcat,另一個名爲{username} .p12的文件導入瀏覽器。 server.jks文件將客戶證書添加爲可信證書。
我希望別人認爲這很有用。
這裏是需要被添加到您的Tomcat的conf/sever.xml文件(僅在Tomcat 6.x的測試上)
<Connector
clientAuth="true" port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="${catalina.home}/conf/server.jks"
keystoreType="JKS" keystorePass="password"
truststoreFile="${catalina.home}/conf/server.jks"
truststoreType="JKS" truststorePass="password"
SSLVerifyClient="require" SSLEngine="on" SSLVerifyDepth="2" sslProtocol="TLS"
/>
對於Tomcat 7的XML:
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" SSLEnabled="true"
maxThreads="200" scheme="https" secure="true"
keystoreFile="${catalina.base}/conf/server.jks" keystorePass="password"
clientAuth="false" sslProtocol="TLS" />
非常感謝這個!我已經被各種各樣的「教程」整天鬼混,這實際上與clientAuth =工作爲先「的真「 – 2009-12-09 19:05:31