Play框架看不到SSL中间/链证书

时间:2018-07-04 14:38:04

标签: ssl playframework netty

我用6个条目创建了JKS密钥库:

openssl pkcs12 -export -in myapp.cert -inkey myapp.key -name myapp.pl -out myapp.p12
keytool -importkeystore -destkeystore myapp.jks -srckeystore myapp.p12 -srcstoretype PKCS12
keytool -import -alias bundle -trustcacerts -file az.pem -keystore myapp.jks

keytool -list -keystore myapp.jks
Enter keystore password:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 6 entries

当我在服务器上运行它时,看不到任何中间链证书。在某些计算机上,它具有所有证书,因此可以正常工作,在其他节目上:

The certificate is not trusted because the issuer certificate is unknown. The server might not be sending the appropriate intermediate certificates. An additional root certificate may need to be imported. Error code: SEC_ERROR_UNKNOWN_ISSUER

我已经使用在线工具进行了检查,它可以看到我的证书,但是问题出在中间链证书上。

我的配置:

play {
  crypto.secret="%APPLICATION_SECRET%"

  # Certyficate SSL
  server.https.keyStore {
    path = "/etc/bodyfit-server/myapp.jks"
    type = "JKS"
    password = "12345678"
  }
}

我使用play framework 2.5和Netty,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,将其转换为PKCS12格式后,它应该可以正常工作

keytool -importkeystore -srckeystore myapp.jks -destkeystore myapp.p12 -srcstoretype JKS - deststoretype PKCS12 -deststorepass *******

当然,在配置中,您必须更改密钥格式