我花了数小时试图使它起作用,最后,问题是我自己没有使用keytool生成CSR(证书请求)。
尝试通过https访问Play时,我一直收到此错误:
javax.net.ssl.SSLPeerUnverifiedException:对等方未通过身份验证
问题最终是我创建并导入SSL证书的密钥库没有用于CSR(证书请求)的公钥。
因此,这里是使用godaddy .com生成SSL证书并使用Play Framework 2.1+安装它的快速版本。
- 请遵循godaddy .com的这些指示来生成CSR,如下所示:
首先生成这样的密钥对:
keytool -keysize 2048 -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore
然后生成CSR:
keytool -certreq -alias tomcat -file csr.txt -keystore tomcat.keystore
- 使用企业社会责任申请证书
- 将中间证书捆绑包和生成的证书添加到您的密钥库中。
注意:请确保这与您在步骤1中生成私钥的密钥库相同!keytool -import -alias intermed -keystore tomcat.keystore -trustcacerts -file gd_bundle.crt keytool -import -alias tomcat -keystore tomcat.keystore -trustcacerts -file mycert.crt
(将mycert.crt替换为新GoDaddy证书的文件名和位置)
- 最后,按照在Play 2.1+中配置https的说明进行操作( http://www.playframework.com/doc um tn i o / n / 2..2..1 / c / o / i / g / u / i / g / htps )与自行生成的键配合使用效果很好,我创建了一个Shell脚本,用于使用正确的参数启动Play:
# script for starting play in production with SSL and the keystore target/start -Dhttps.port=443 -Dhttps.keyStore=/Users/bp/mypath/tomcat.keystore -Dhttps.keyStorePassword=itl80809
注意:您需要事先执行“ play dist”,以便将当前软件编译到目标子目录中的发行版中。
参考:来自Poornerd博客的JCG合作伙伴 Brian Porter的如何使用https的Play框架配置SSL证书 。
翻译自: https://www.javacodegeeks.com/2014/01/how-to-configure-an-ssl-certificate-with-play-framework-for-https.html