title: Using SSL with Playframework
body: <p>I'm attempting to use SSL with my Playframework 1.2.5 application but can't seem to get it to work.</p>
  
  <p>I have an SSL certificate from GoDaddy.
  I reference the key &amp; crt files from application.conf as follows:</p>
  
  <pre><code>%prod.https.port=443
  %prod.certificate.key.file=conf/hawkanalytics.key
  %prod.certificate.file=conf/hawkanalytics.com.crt
  </code></pre>
  
  <p>However, I'm getting the following error when attempting to access the application:</p>
  
  <pre><code>22:49:33,836 INFO  ~ Listening for HTTPS on port 443 ...
  java.lang.NullPointerException
          at play.server.ssl.SslHttpServerContextFactory$PEMKeyManager.&lt;init&gt;(SslHttpServerContextFactory.java:94)
          at play.server.ssl.SslHttpServerContextFactory$PEMKeyManager.&lt;clinit&gt;(SslHttpServerContextFactory.java:79)
          at play.server.ssl.SslHttpServerContextFactory.&lt;clinit&gt;(SslHttpServerContextFactory.java:47)
          at play.server.ssl.SslHttpServerPipelineFactory.getPipeline(SslHttpServerPipelineFactory.java:29)
          at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink$Boss.registerAcceptedChannel(NioServerSocketPipelineSink.java:274)
          at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink$Boss.run(NioServerSocketPipelineSink.java:239)
          at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
          at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:679)
  22:49:43,372 ERROR ~
  java.lang.NullPointerException
          at play.server.ssl.SslHttpServerContextFactory$PEMKeyManager.&lt;init&gt;(SslHttpServerContextFactory.java:94)
          at play.server.ssl.SslHttpServerContextFactory$PEMKeyManager.&lt;clinit&gt;(SslHttpServerContextFactory.java:79)
          at play.server.ssl.SslHttpServerContextFactory.&lt;clinit&gt;(SslHttpServerContextFactory.java:47)
          at play.server.ssl.SslHttpServerPipelineFactory.getPipeline(SslHttpServerPipelineFactory.java:29)
          at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink$Boss.registerAcceptedChannel(NioServerSocketPipelineSink.java:274)
          at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink$Boss.run(NioServerSocketPipelineSink.java:239)
          at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
          at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:679)
  22:49:43,504 DEBUG ~ Invalid certificate
  javax.net.ssl.SSLHandshakeException: no cipher suites in common
          at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1031)
          at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:508)
          at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:759)
          at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:727)
          at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
          at org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:938)
          at org.jboss.netty.handler.ssl.SslHandler.decode(SslHandler.java:656)
          at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:317)
          at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:207)
          at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75)
          at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
          at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:792)
          at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
          at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:352)
          at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:334)
          at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:207)
          at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75)
          at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
          at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
          at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
          at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
          at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:94)
          at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:372)
          at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:246)
          at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:38)
          at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
          at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:679)
  </code></pre>