2016-07-28 130 views
5

我正在努力解決如何使用我從我們的獨立播放應用程序進行加密的證書。我關閉了服務器並運行了生成4個文件(cert.pem,chain.pem,fullchain.pem,privatekey.pem)的certbot,但我不知道如何讓我的播放應用程序使用它們。使用SSL證書播放框架讓我們加密

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

+0

至少在玩2.4,這工作:使用屬性'-Dhttps.keyStore'和'-Dhttps.keyStorePassword'指定包含私鑰的密鑰庫。該劇2.5文檔建議其他屬性:https://www.playframework.com/documentation/2.5.x/ConfiguringHttps#SSL-Certificates – rethab

回答

8

Play使用Java密鑰庫來配置SSL證書和密鑰。

所以,你必須這樣做:

  1. 將您讓我們的加密證書PKCS12
  2. 轉換PKCS12到密鑰庫
  3. 配置播放使用密鑰庫

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.配置播放使用密鑰庫

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