title: How to allow HTTPS for Grails 3 application on localhost?
body: <p>I'm trying to add Facebook login to my application and for that I have to run on HTTPS. I have followed steps described <a href="http://grailsblog.objectcomputing.com/deployment/2017/06/28/running-grails-with-a-self-signed-ssl-certificate.html" rel="nofollow noreferrer">here</a> and created my SSL certificate. 
  After i run <em>grails run-app -https</em> i get this error:</p>
  
  <pre><code>ERROR org.apache.coyote.http11.Http11NioProtocol - Failed to start end point associated with ProtocolHandler [https-jsse-nio-8443]
  java.lang.IllegalArgumentException: None of the [ciphers] specified are supported by the SSL engine : [[]]
          at org.apache.tomcat.util.net.SSLUtilBase.getEnabled(SSLUtilBase.java:87)
          at org.apache.tomcat.util.net.SSLUtilBase.&lt;init&gt;(SSLUtilBase.java:61)
          at org.apache.tomcat.util.net.jsse.JSSEUtil.&lt;init&gt;(JSSEUtil.java:142)
          at org.apache.tomcat.util.net.jsse.JSSEImplementation.getSSLUtil(JSSEImplementation.java:49)
          at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:95)
          at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:85)
          at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:225)
          at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:980)
          at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:573)
          at org.apache.catalina.connector.Connector.startInternal(Connector.java:993)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
          at org.apache.catalina.core.StandardService.addConnector(StandardService.java:225)
          at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors(TomcatEmbeddedServletContainer.java:194)
          at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:151)
          at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:293)
          at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141)
          at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
          at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
          at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
          at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
          at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
          at grails.boot.GrailsApp.run(GrailsApp.groovy:55)
          at grails.boot.GrailsApp.run(GrailsApp.groovy:374)
          at grails.boot.GrailsApp.run(GrailsApp.groovy:363)
          at grails.boot.GrailsApp$run.call(Unknown Source)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
          at ikariera3.Application.main(Application.groovy:8)
  ERROR org.apache.catalina.core.StandardService - Failed to start connector [Connector[HTTP/1.1-8443]]
  org.apache.catalina.LifecycleException: Failed to start component [Connector[HTTP/1.1-8443]]
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
          at org.apache.catalina.core.StandardService.addConnector(StandardService.java:225)
          at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors(TomcatEmbeddedServletContainer.java:194)
          at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:151)
          at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:293)
          at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141)
          at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
          at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
          at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
          at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
          at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
          at grails.boot.GrailsApp.run(GrailsApp.groovy:55)
          at grails.boot.GrailsApp.run(GrailsApp.groovy:374)
          at grails.boot.GrailsApp.run(GrailsApp.groovy:363)
          at grails.boot.GrailsApp$run.call(Unknown Source)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
          at ikariera3.Application.main(Application.groovy:8)
  Caused by: org.apache.catalina.LifecycleException: service.getName(): "Tomcat";  Protocol handler start failed
          at org.apache.catalina.connector.Connector.startInternal(Connector.java:1000)
          at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
          ... 18 common frames omitted
  Caused by: java.lang.IllegalArgumentException: None of the [ciphers] specified are supported by the SSL engine : [[]]
          at org.apache.tomcat.util.net.SSLUtilBase.getEnabled(SSLUtilBase.java:87)
          at org.apache.tomcat.util.net.SSLUtilBase.&lt;init&gt;(SSLUtilBase.java:61)
          at org.apache.tomcat.util.net.jsse.JSSEUtil.&lt;init&gt;(JSSEUtil.java:142)
          at org.apache.tomcat.util.net.jsse.JSSEImplementation.getSSLUtil(JSSEImplementation.java:49)
          at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:95)
          at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:85)
          at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:225)
          at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:980)
          at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:573)
          at org.apache.catalina.connector.Connector.startInternal(Connector.java:993)
          ... 19 common frames omitted
  ERROR org.springframework.boot.SpringApplication - Application startup failed
  org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat servlet container
          at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:165)
          at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:293)
          at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141)
          at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
          at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
          at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
          at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
          at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
          at grails.boot.GrailsApp.run(GrailsApp.groovy:55)
          at grails.boot.GrailsApp.run(GrailsApp.groovy:374)
          at grails.boot.GrailsApp.run(GrailsApp.groovy:363)
          at grails.boot.GrailsApp$run.call(Unknown Source)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
          at ikariera3.Application.main(Application.groovy:8)
  Caused by: java.lang.IllegalStateException: Tomcat connector in failed state
          at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:159)
          ... 15 common frames omitted
  </code></pre>
  
  <p>I have this configuration in my aaplication.yml:</p>
  
  <pre><code>server:
      port: 8443
      ssl:
          keyStore: C:\\my path\\ia.p12
          keyStorePassword: mypassword
  </code></pre>
  
  <p>I have tried using key in PKCS12 format with same results. </p>
  
  <p>These are the commands with input values I used to create my PKCS12 format key.</p>
  
  <ol>
  <li><code>genrsa -out ca.key 4096</code></li>
  <li><code>req -new -x509 -days 365 -key ca.key -out ca.cry</code>
  
  <ul>
  <li>Country Name: SK</li>
  <li>State or Province Name: Zilina</li>
  <li>Locality Name: Zilina</li>
  <li>Organization Name: IKariera</li>
  <li>Organizational Unit..:</li>
  <li>Common Name: exampleName</li>
  <li>Email Address: my.example@gmail.com</li>
  </ul></li>
  <li><code>req -new -x509 -days 365 -key ca.key -out ca.cry</code></li>
  <li><code>req -new -key ia.key -out ia.csr</code>
  
  <ul>
  <li>Country Name: SK</li>
  <li>State or Province Name: Zilina</li>
  <li>Locality Name: Zilina</li>
  <li>Organization Name: IKariera</li>
  <li>Organizational Unit..: Code Signing</li>
  <li>Common Name: codesigning</li>
  <li>Email Address: my.example@gmail.com</li>
  <li>Challenge password: mypassword</li>
  </ul></li>
  <li><code>x509 -req -days 365 -in ia.csr -CA ca.crt -CAkey -set_serial 01 -out ia.crt</code></li>
  <li><code>pkcs12 -export -out ia.p12 -inkey ia.key -in ia.crt -chain -CAfile ca.crt</code>
  
  <ul>
  <li>Export password: mypassword</li>
  </ul></li>
  </ol>
  
  <p>Does anyone have an idea what might be causing this error? I'd be very thankful.</p>