使用来自 let's encrypt 的 SSL 证书播放框架

Play framework with SSL certificates from let's encrypt

我正在尝试弄清楚如何使用我从 let's encrypt with standalone play 应用程序中获得的证书。我关闭了我的服务器和生成 4 个文件的 运行 certbot (cert.pem,chain.pem,fullchain.pem,privatekey.pem) 但我不知道如何让我的播放应用程序使用这些。

我使用的是 2.5.4 版本的播放框架。

Play 使用 Java 密钥库来配置 SSL 证书和密钥。

所以你必须这样做:

  1. 将您的 Let's encrypt 证书转换为 PKCS12
  2. 将 PKCS12 转换为密钥库
  3. 配置 Play 以使用密钥库

1. PKCS12 文件的证书和密钥

openssl pkcs12 -export -in server.crt -inkey server.key \
    -out server.p12 -name [some-alias] \
    -CAfile ca.crt -caname root

2。将 PKCS12 转换为密钥库

keytool -importkeystore \
    -deststorepass [changeit] -destkeypass [changeit] -destkeystore server.keystore \
    -srckeystore server.p12 -srcstoretype PKCS12 -srcstorepass some-password \
    -alias [some-alias]

3。配置 Play 以使用密钥库

/path/to/your/app/app_name_script -Dhttps.port=443 -Dplay.server.https.keyStore.path=[keyStore-location] -Dplay.server.https.keyStore.password=[keyStore-password]