我正在嘗試使用Play插件設置Jenkins CI,該插件使用播放自動測試來運行應用程序。使用SSL進行自動測試java java密鑰存儲區的問題
問題是我也有SSL作爲要求,但firephoque java測試瀏覽器沒有適當的密鑰/證書使用。
我最初使用OpenSSL創建了一個密鑰/證書對,但現在需要弄清楚如何將這些密鑰導入到全局默認Java密鑰存儲區(推測在$ HOME/.keystore中)。
我在不同的順序無濟於事嘗試這些資源:
發揮原有谷歌組線程我開始:http://bit.ly/yZBezu
http://www.sslshopper.com/article-how-to-create-a-self-signed-certificate-using-java-keytool.html
http://www.agentbob.info/agentbob/79-AB.html
http://docs.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html
我可以通過SSL運行應用程序n中發揮運動員在application.conf條目拿起密鑰庫的位置,但在自動測試運行firephoque瀏覽器我得到:
The application does not start. There are errors:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:
PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
很想在一個簡潔的方式做的方向指出這個,我的大腦被炸DER和PEM的視覺和keytool的樂趣,現在我無法想象得很直。
最終目標是一個自簽名證書,它將根據play auto-test
以及其他任何運行該應用的方式進行驗證。
我application.conf文件有以下的不同組合:
# SSL - localhost default
# original way worked fine before auto-test came into play (so to speak :))
# certificate.key.file=conf/play_host.key
# certificate.file=conf/play_host.crt
# Keystore
ssl.KeyManagerFactory.algorithm=SunX509
trustmanager.algorithm=JKS
keystore.password=passw0rd
keystore.file=conf/keystore.jks
https.port=9443
UPDATE 的conf/keystore.jks的輸出:
# keytool -list -keystore keystore.jks
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
localhost, Jan 31, 2012, PrivateKeyEntry,
Certificate fingerprint (MD5): 36:EF:63:4E:53:23:18:22:13:8C:2C:DB:F1:72:2C:93
但不訪問該文件通過在自動測試中運行的瀏覽器,它是firephoque,它是一個Java應用程序,它通過默認密鑰庫進行查看 - 做了更多挖掘並開始查看
/Library/Java/Home/lib/security/
其符號鏈接
/System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security
尋找到任何應用程序將能夠找到一個密鑰存儲的位置。但是如果我在上面的security
文件夾中放置另一個密鑰庫,我仍然會得到相同的結果。
更新2:也試圖
play auto-test -Xmx1g -Djavax.net.ssl.trustStore=/path/to/keystore.jks
,但我不知道我這樣做是正確。我怎樣才能啓動播放自動測試以在明確的地方查找密鑰存儲?
不是說它確實有幫助,但是它們的錯誤跟蹤系統中有一張票,它描述了這個問題。一個修復它的存在,但計劃爲1.2.5這是還沒有出來:https://play.lighthouseapp.com/projects/57987/tickets/995 – dertoni 2012-02-01 07:31:34
謝謝dertoni - 最後我修補了我的遊戲副本1.2.4使用新的base.py文件,即使在配置SSL時也允許運行自動測試。現在就像魅力一樣。 – Brian 2012-02-01 19:20:42