Como configurar o Play! 2.4.2 Keystore HTTPS?

Eu sou novo no Play Framework e só estou tentando obter o HTTPS pela primeira vez com o 2.4.2 no Java 8. Posso fazê-lo funcionar com o keystore padrão, mas não com o meu próprio keystore. Eu configurei otrabalhando keystore padrão embuild.sbt:

javaOptions ++= Seq(
    "-Dhttps.port=9443"
)

Então odocumentação oficial para configurar seu próprio keystore fica um pouco abstrato demais para mim. Menciona configurá-lo emapplication.conf mas não diz como, ou na linha de comando, mas não com um exemplo de Java. O Google revela alguns exemplos do Scala, mas não posso convencê-los, pois eles usam coisas comodevSettings que não parecem se deparar com o mundo Java, ou pelo menos eu não entendo Play e Scala o suficiente para controlá-los.

Até onde eu sei, parece que estou usando minha própria configuração exclusiva nobuild.sbt:

javaOptions ++= Seq(
    "-Dhttps.port=9443",
    "-Dhttps.keyStore.path=keystore.jks",
    "-Dhttps.keyStore.password=password")

Ele cria e roda ok:

p.c.s.NettyServer - Listening for HTTPS on port /0:0:0:0:0:0:0:0:9443
play.api.Play - Application started (Dev)

Mas, no primeiro acesso https: //, recebo um rastreamento de pilha sem fim na interface do usuário do atuador:

play.core.server.NettyServer$PlayPipelineFactory - cannot load SSL context
java.lang.reflect.InvocationTargetException: null
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_45]
    ...
play.core.server.netty.PlayDefaultUpstreamHandler - Exception caught in Netty
java.lang.IllegalArgumentException: empty text
    at org.jboss.netty.handler.codec.http.HttpVersion.<init>(HttpVersion.java:89) ~[netty-3.10.3.Final.jar:na]
    ...

Meu primeiro pensamento é que não estou configurando corretamente, mas não consegui encontrar um guia definitivo para o Play 2.4. Estou seriamente começando a questionar meus poderes no Google. Eu encontro muitas referências a proxies de front-end e evito a terminação SSL no Play, mas não estou desenvolvendo um site público e acho que essa abordagem é um exagero.

Não sei se é um arenque vermelho, mas o projeto Netty deixou cair oorg.jboss.netty há muito tempo e agora usaio.netty. Vejo org.jboss.netty em todo o rastreamento de pilha e o Play 2.4.2 parece estar usando o Netty 3.10.3.Final, que é muito antigo. Por acaso, eu estou familiarizado com o Netty e usei o 4.x na produção, enquanto o 5.x está atualmente no Alpha. Por que o Play está preso no passado aqui? Eu deveria estar preocupado?

Encontrei vários problemas que parecem intimamente relacionados, comoum erro no Play 2.2.x eum bug no AHC (que o Play usa), mas ambos parecem ter sido corrigidos bem antes do Play 2.4.2 que estou usando. No entanto, tentei fazer correções, como atualizar a dependência do async-http-client, excluir a dependência transitiva org.jboss.netty do async-http-client e atualizar para o Netty 3.10.4.Final.

Então agora estou preso, mas sinto que estou perdendo um guia de introdução. Talvez todos esses problemas de dependência e bugs relacionados sejam apenas uma perda de tempo?

questionAnswers(1)

yourAnswerToTheQuestion