<html><body><p><font size="2">Hi -</font><br><br><font size="2">My team is adding ACME 2.0 client support to the Open Liberty  application server and wanted to test against Dogtag PKI's ACME server. My intention is to containerize the ACME server and drive it through the same functional tests we run against other ACME CA servers (i.e. - Pebble and Boulder for instance) to verify compatibility.</font><br><br><font size="2">The first error I hit was an issue with using JSS 4.7 and I understand that will be fixed by PR </font><a href="https://github.com/dogtagpki/jss/pull/532" target="_blank"><u><font color="#0000FF">https://github.com/dogtagpki/jss/pull/532</font></u></a> <font size="2">.</font><br><br>
<ul><ul><tt><font size="2">2020-05-04 22:15:53 [http-nio-8080-exec-5] SEVERE: Unable to validate HTTP-01 challenge: Unable to get SunJSSE provider for TLS: SSLContextImpl is not initialized</font></tt><br><tt><font size="2">java.lang.RuntimeException: Unable to get SunJSSE provider for TLS: SSLContextImpl is not initialized</font></tt><br><tt><font size="2">        at org.mozilla.jss.provider.javax.net.JSSContextSpi.engineGetSocketFactory(JSSContextSpi.java:118)</font></tt><br><tt><font size="2">        at javax.net.ssl.SSLContext.getSocketFactory(SSLContext.java:294)</font></tt><br><tt><font size="2">        at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>(SSLConnectionSocketFactory.java:292)</font></tt><br><tt><font size="2">        at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:978)</font></tt><br><tt><font size="2">        at org.apache.http.impl.client.HttpClients.createDefault(HttpClients.java:56)</font></tt><br><tt><font size="2">        at org.dogtagpki.acme.validator.HTTP01Validator.getResponse(HTTP01Validator.java:112)</font></tt><br><tt><font size="2">        at org.dogtagpki.acme.validator.HTTP01Validator.validateChallenge(HTTP01Validator.java:63)</font></tt><br><tt><font size="2">        at org.dogtagpki.acme.server.ACMEChallengeService.handlePOST(ACMEChallengeService.java:99)</font></tt><br><tt><font size="2">        ...</font></tt></ul></ul><br><font size="2">To move past this error, I was advised to move down to JSS 4.6.2. Upon doing so, I made it past the initial error but now hit the following error:</font><br>
<ul><ul><tt><font size="2">2020-05-05 18:36:08 [http-nio-8080-exec-7] SEVERE: Servlet.service() for servlet [Resteasy] in context with path [/acme] threw exception</font></tt><br><tt><font size="2">org.jboss.resteasy.spi.UnhandledException: org.apache.commons.lang.NotImplementedException: Code is not implemented</font></tt><br><tt><font size="2">        at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:78)</font></tt><br><tt><font size="2">        at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:222)</font></tt><br><tt><font size="2">        ...</font></tt><br><tt><font size="2">Caused by: org.apache.commons.lang.NotImplementedException: Code is not implemented</font></tt><br><tt><font size="2">        at org.dogtagpki.acme.issuer.ACMEIssuer.generateCertificate(ACMEIssuer.java:61)</font></tt><br><tt><font size="2">        at org.dogtagpki.acme.issuer.ACMEIssuer.issueCertificate(ACMEIssuer.java:73)</font></tt><br><tt><font size="2">        at org.dogtagpki.acme.server.ACMEFinalizeOrderService.handlePOST(ACMEFinalizeOrderService.java:79)</font></tt><br><tt><font size="2">        ...</font></tt></ul></ul><br><font size="2">I can see in the ACME server's trace that it does indeed authorize my ownership of the domain and then try to issue the certificate. Examining the AcmeIssuer class shows that this class has several methods that are not implemented.</font><br>
<ul><ul><a href="https://github.com/dogtagpki/pki/blob/master/base/acme/src/main/java/org/dogtagpki/acme/issuer/ACMEIssuer.java#L61"><font size="2">https://github.com/dogtagpki/pki/blob/master/base/acme/src/main/java/org/dogtagpki/acme/issuer/ACMEIssuer.java#L61</font></a></ul></ul><br><font size="2">Is this expected or is it possible I have a misconfiguration? I assume I am testing too early and need to wait until the implementation is further along, but I wanted to test early enough that if there were issues I could detect them earlier rather than later. </font><br><br><font size="2">If it matters, I am testing the with the image from @pki/master on a Fedora 30 docker container.</font><br><br><br><font size="2" face="Liberation Mono">Jesse Van Hill</font><br><font size="2" face="Liberation Mono">Websphere Identity Management Architect & Dev Lead</font><br><font size="2" face="Liberation Mono">WebSphere Application Server & Open Liberty</font><br><a href="https://openliberty.io/"><u><font color="#0000FF">https://openliberty.io/</font></u></a> <br><u><font size="2">                                                                                                        </font></u><br><font size="2" face="Liberation Mono">507-513-6234             jlvanhil@us.ibm.com</font><BR>
</body></html>