# Ignition Maker activation failed

**URL:** <https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651>\
**Category:** Maker\
**Created:** [July 9, 2021, 11:02am UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651 "2021-07-09T11:02:47Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![davy](https://avatars.discourse-cdn.com/v4/letter/d/e495f1/32.png) [@davy](https://forum.inductiveautomation.com/u/davy)\
**Post date:** [July 9, 2021, 11:02am UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/1 "2021-07-09T11:02:48Z")

</div>

Hi all,

I have a VM running (that is on our corporate network) where I would like to install Ignition Maker to do my training on.

The problem is I can’t seem to activate the license. When I enter the key and token I get an activation failed message. On my local machine that is not in de corporate VPN it works.

Our network team checked the firewall but connections are blocked and no errors occur in the log.

In fiddler I get a 500 from localhost and url /post-step

No actual info.

Anybody an idea what can be wrong? I am almost sure it has to be something with our network but I’m not sure what to ask for.

Thanks

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [July 9, 2021, 2:04pm UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/2 "2021-07-09T14:04:05Z")

</div>

First thing I would suggest would be to just use the standard edition to do your training–you can run the Designer without limits, and you can also easily reset the two-hour trial for running Vision Clients and Perspective from the gateway webpage.

That said, the Activation process for Maker Edition needs to be able to reach [licensing.inductiveautomation.com](http://licensing.inductiveautomation.com) over https via tcp/443 from the Gateway.

---

<div class="post-metadata">

**Author:** ![davy](https://avatars.discourse-cdn.com/v4/letter/d/e495f1/32.png) [@davy](https://forum.inductiveautomation.com/u/davy)\
**Post date:** [July 9, 2021, 2:13pm UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/3 "2021-07-09T14:13:43Z")

</div>

> [@kcollins](#):
>
> [licensing.inductiveautomation.com](http://licensing.inductiveautomation.com) over https via tcp/443 from the Gateway.

Thanks Kevin for your reply. I'm still in the beginning of the learning process and I wasn't even aware there was a difference in the versions. My understanding was they were identical (except for personal use only).

---

<div class="post-metadata">

**Author:** ![josh3](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@josh3](https://forum.inductiveautomation.com/u/josh3)\
**Post date:** [March 6, 2023, 1:53am UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/4 "2023-03-06T01:53:41Z")

</div>

Hi,

I'm having a similar problem but i'm running my out of docker how do I open up that port?

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [March 6, 2023, 2:47am UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/5 "2023-03-06T02:47:50Z")

</div>

Running under Docker normally has a route out to the internet (via the default `bridge` network). What is the specific error you're getting from the logs during the activation attempt?

---

<div class="post-metadata">

**Author:** ![josh3](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@josh3](https://forum.inductiveautomation.com/u/josh3)\
**Post date:** [March 6, 2023, 3:23am UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/6 "2023-03-06T03:23:07Z")

</div>

Hi,

Thanks for your reply.

2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | E [c.i.i.g.c.C.CommissioningServlet] [03:22:01]: Activation failed  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | com.inductiveautomation.ignition.gateway.licensing.activation.leased.protocol.api.LeasedActivationException: Unable to send HTTP POST request  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at com.inductiveautomation.ignition.gateway.licensing.activation.leased.protocol.http.LeasedActivationHttpClient.sendHttpPostRequest(LeasedActivationHttpClient.java:46)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at com.inductiveautomation.ignition.gateway.licensing.activation.leased.protocol.http.LeasedActivationHttpClient.sendHttpPostRequest(LeasedActivationHttpClient.java:30)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at com.inductiveautomation.ignition.gateway.licensing.activation.leased.protocol.http.LeasedActivationHttpClient.createNonce(LeasedActivationHttpClient.java:64)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at com.inductiveautomation.ignition.gateway.licensing.LeasedActivationProtocolContext.getServerNonce(LeasedActivationProtocolContext.java:141)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at com.inductiveautomation.ignition.gateway.licensing.LeasedActivationProtocolContext.doActivate(LeasedActivationProtocolContext.java:164)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at com.inductiveautomation.ignition.gateway.servlets.CommissioningServlet.postActivation(CommissioningServlet.java:590)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at com.inductiveautomation.ignition.gateway.servlets.CommissioningServlet.doPost(CommissioningServlet.java:213)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:523)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1410)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1383)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1305)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at com.inductiveautomation.catapult.handlers.RemoteHostNameLookupHandler.handle(RemoteHostNameLookupHandler.java:121)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:51)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:141)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.Server.handle(Server.java:563)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:416)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:385)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:272)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:140)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:934)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1078)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at java.base/java.lang.Thread.run(Unknown Source)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | Caused by: java.io.IOException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at java.net.http/jdk.internal.net.http.HttpClientImpl.send(Unknown Source)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at java.net.http/jdk.internal.net.http.HttpClientFacade.send(Unknown Source)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at com.inductiveautomation.ignition.gateway.licensing.activation.leased.protocol.http.LeasedActivationHttpClient.sendHttpPostRequest(LeasedActivationHttpClient.java:44)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | ... 45 common frames omitted  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(Unknown Source)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.CertificateStatus$CertificateStatusConsumer.consume(Unknown Source)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.SSLHandshake.consume(Unknown Source)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.HandshakeContext.dispatch(Unknown Source)  
2023-03-06 14:22:01 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/java.security.AccessController.doPrivileged(Native Method)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/java.util.ArrayList.forEach(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate.lambda$executeTasks$3(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.net.http/jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate.executeTasks(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate.doHandshake(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader.processData(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader$ReaderDownstreamPusher.run(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.net.http/jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter.complete(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | ... 1 common frames omitted  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.validator.PKIXValidator.doBuild(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.validator.PKIXValidator.engineValidate(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.validator.Validator.validate(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | ... 23 common frames omitted  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | at java.base/java.security.cert.CertPathBuilder.build(Unknown Source)  
2023-03-06 14:22:02 jvm 1 | 2023/03/06 03:22:01 | ... 29 common frames omitted

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 6, 2023, 3:54am UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/7 "2023-03-06T03:54:25Z")

</div>

Ok, ostensibly this means that the TLS certificate of the licensing endpoint isn’t trusted.

Where are you activating this from? Home? Work network with a firewall? Work hardware/OS that might be putting a certificate in the middle?

---

<div class="post-metadata">

**Author:** ![josh3](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@josh3](https://forum.inductiveautomation.com/u/josh3)\
**Post date:** [March 6, 2023, 4:33am UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/8 "2023-03-06T04:33:05Z")

</div>

Hi Kevin,

Thanks for the help.

I'm on work hardware. Any tips on what I need to do to get around that?

Thanks Josh

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 6, 2023, 1:00pm UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/9 "2023-03-06T13:00:46Z")

</div>

Remember that Maker Edition is for personal/home use only. If you're using it on work hardware you're probably breaking that agreement.

That said, what looks like the problem here is you have some "security" software that is inserting itself in the middle of your TLS connections. Your IT-controlled browsers and OS probably have the CA certificate being used in their trust list already, but Ignition running in Docker is using its own CA list.

Normally you would add supplemental certificates to the gateway like this: [Security Certificates - Ignition User Manual 8.1 - Ignition Documentation](https://docs.inductiveautomation.com/display/DOC81/Security+Certificates#SecurityCertificates-AddingSecurityCertificatesintoKeyStores)

I'm sure being on Docker changes things a little in a way @kcollins can explain.

---

<div class="post-metadata">

**Author:** ![josh3](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@josh3](https://forum.inductiveautomation.com/u/josh3)\
**Post date:** [March 6, 2023, 9:49pm UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/10 "2023-03-06T21:49:51Z")

</div>

Hi Kevin,

I'm using my work laptop for my home automation setup.

Thanks for the tips.

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [March 7, 2023, 2:25pm UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/11 "2023-03-07T14:25:25Z")

</div>

With respect to Docker, there aren't any fundamental differences to adding that custom CA. You've got a few options for getting that done:

1. Copy in the certificate into your container once it is launched with:

2. Build a derived image by creating a folder with your `mycert.crt` and a `Dockerfile` similar to:

It might also be worth considering adding the cert to the OS keystore within the image (for use by other utilities within the container), but that wouldn't be explicitly needed for Ignition to function as intended.

---

<div class="post-metadata">

**Author:** ![josh3](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@josh3](https://forum.inductiveautomation.com/u/josh3)\
**Post date:** [March 24, 2023, 2:43am UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/12 "2023-03-24T02:43:53Z")

</div>

> [@kcollins](#):
>
> ur

Hi,

I managed to create a cert and insert it into the folder but it still won't validate the licence and token.

---

<div class="post-metadata">

**Author:** ![josh3](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@josh3](https://forum.inductiveautomation.com/u/josh3)\
**Post date:** [March 24, 2023, 5:10am UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/13 "2023-03-24T05:10:58Z")

</div>

2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | E [c.i.i.g.c.C.CommissioningServlet] [05:10:47]: Activation failed  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | com.inductiveautomation.ignition.gateway.licensing.activation.leased.protocol.api.LeasedActivationException: Unable to send HTTP POST request  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at com.inductiveautomation.ignition.gateway.licensing.activation.leased.protocol.http.LeasedActivationHttpClient.sendHttpPostRequest(LeasedActivationHttpClient.java:46)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at com.inductiveautomation.ignition.gateway.licensing.activation.leased.protocol.http.LeasedActivationHttpClient.sendHttpPostRequest(LeasedActivationHttpClient.java:30)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at com.inductiveautomation.ignition.gateway.licensing.activation.leased.protocol.http.LeasedActivationHttpClient.createNonce(LeasedActivationHttpClient.java:64)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at com.inductiveautomation.ignition.gateway.licensing.LeasedActivationProtocolContext.getServerNonce(LeasedActivationProtocolContext.java:141)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at com.inductiveautomation.ignition.gateway.licensing.LeasedActivationProtocolContext.doActivate(LeasedActivationProtocolContext.java:164)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at com.inductiveautomation.ignition.gateway.servlets.CommissioningServlet.postActivation(CommissioningServlet.java:590)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at com.inductiveautomation.ignition.gateway.servlets.CommissioningServlet.doPost(CommissioningServlet.java:213)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:523)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1410)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1383)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1305)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at com.inductiveautomation.catapult.handlers.RemoteHostNameLookupHandler.handle(RemoteHostNameLookupHandler.java:121)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:51)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:141)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.Server.handle(Server.java:563)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:416)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:385)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:272)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:140)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:934)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1078)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at java.base/java.lang.Thread.run(Unknown Source)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | Caused by: java.io.IOException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at java.net.http/jdk.internal.net.http.HttpClientImpl.send(Unknown Source)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at java.net.http/jdk.internal.net.http.HttpClientFacade.send(Unknown Source)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at com.inductiveautomation.ignition.gateway.licensing.activation.leased.protocol.http.LeasedActivationHttpClient.sendHttpPostRequest(LeasedActivationHttpClient.java:44)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | ... 45 common frames omitted  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(Unknown Source)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.CertificateStatus$CertificateStatusConsumer.consume(Unknown Source)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.SSLHandshake.consume(Unknown Source)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.HandshakeContext.dispatch(Unknown Source)  
2023-03-24 16:10:47 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/java.security.AccessController.doPrivileged(Native Method)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/java.util.ArrayList.forEach(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate.lambda$executeTasks$3(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.net.http/jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate.executeTasks(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate.doHandshake(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader.processData(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader$ReaderDownstreamPusher.run(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.net.http/jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter.complete(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | ... 1 common frames omitted  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.validator.PKIXValidator.doBuild(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.validator.PKIXValidator.engineValidate(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.validator.Validator.validate(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | ... 23 common frames omitted  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | at java.base/java.security.cert.CertPathBuilder.build(Unknown Source)  
2023-03-24 16:10:48 jvm 1 | 2023/03/24 05:10:47 | ... 29 common frames omitted

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [March 24, 2023, 1:39pm UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/14 "2023-03-24T13:39:00Z")

</div>

> [@josh3](#):
>
> I managed to create a cert and insert it into the folder but it still won't validate the licence and token.

You indicate that you managed to "create a cert". What looks to be needed at this point is for you to add the existing intermediate certificate authority that seems to be in-between your Ignition gateway and the internet (likely due to a security appliance in your environment). There shouldn't be anything to "create" in this instance, rather you just need to acquire that cert.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 24, 2023, 1:44pm UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/15 "2023-03-24T13:44:58Z")

</div>

> [@kcollins](#):
>
> likely due to a security appliance in your environment

Well, not likely for home users abiding by the license. Work equipment in a personal environment wouldn't be going through a security appliance either. Anyone whose personal environment has a security appliance would have configured it themselves, and not need to ask these questions.

☹

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [March 24, 2023, 1:47pm UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/16 "2023-03-24T13:47:47Z")

</div>

> [@pturmel](#):
>
> Well, not likely for home users abiding by the license. Work equipment in personal environment wouldn't be going through a security appliance either.

Yes, this is fair, with the assumption that there isn't some kind of enforced VPN solution. In either case, the path forward here is to inspect the certificate chain (this will be easier on the host machine) and see what is going on.

---

<div class="post-metadata">

**Author:** ![josh3](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@josh3](https://forum.inductiveautomation.com/u/josh3)\
**Post date:** [March 26, 2023, 8:55pm UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/17 "2023-03-26T20:55:44Z")

</div>

> [@pturmel](#):
>
> Well, not likely for home users abiding by the licen

Hi,

Not that I need to explain myself but I will.

I dont own a personal laptop and therefore i'm building my home automation system with my work computer. My company doesn't use Ignition currently.

---

<div class="post-metadata">

**Author:** ![josh3](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@josh3](https://forum.inductiveautomation.com/u/josh3)\
**Post date:** [March 26, 2023, 8:57pm UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/18 "2023-03-26T20:57:34Z")

</div>

Hi ,

I might not be fully understanding what I need to do then. I created a self signed cert and added it to my computer and the Ignition.conf file.

In your post earlier in step 1 you referenced "mycert.crt" where was that meant to come from if not self signed?

Thanks Josh

---

<div class="post-metadata">

**Author:** ![kcollins](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kcollins/32/19646_2.png) [@kcollins](https://forum.inductiveautomation.com/u/kcollins)\
**Post date:** [March 27, 2023, 2:22pm UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/19 "2023-03-27T14:22:04Z")

</div>

@josh3, when you visit a website using https, the browser (or Ignition!) must be able to validate the chain of trust through the various certificates that lead ultimately to a trusted (by your system) root certificate. If there is something injecting itself into the middle, that can disrupt the ability to secure the connection.

The next step I'd recommend (to try and determine if there is an extra certificate in the middle of the chain, perhaps one trusted by your OS but unknown to the Ignition container) is to try and visit [https://licensing.inductiveautomation.com](https://licensing.inductiveautomation.com) in your browser. You can inspect the certificate hierarchy using tools in the browser, e.g.:

![view cert hierarchy](https://us1.discourse-cdn.com/inductiveautomation/original/3X/f/0/f0cb278fe65a19864be428abeab41db58b85edf7.gif)

I've found that the browser doesn't always show the top-level Root CA certs from your OS. The final step would be to check the path from within your Ignition container using something like `openssl`, e.g.:

 ![2023-03-27 at 9.14 AM](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/7/4775c565b855dcc270c6791e5647535840f4815e.png)

You can use the following commands to list the cert chain within your Ignition container:

1. Shell into your container:

```bash
docker exec -u root -it your-container-name bash

```

2. Install `openssl`:

```bash
apt-get update && apt-get install -y openssl

```

3. Output cert chain (use _Ctrl-D_ to terminate the resultant connection and then `exit` out when you're done):

```bash
openssl s_client -showcerts -connect \
    licensing.inductiveautomation.com:443 | sed '/---/q'

```

Which should result in something like this:

```auto
depth=3 C = US, ST = Arizona, L = Scottsdale, O = "Starfield Technologies, Inc.", CN = Starfield Services Root Certificate Authority - G2
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=2 C = US, O = Amazon, CN = Amazon Root CA 1
verify return:1
depth=1 C = US, O = Amazon, CN = Amazon RSA 2048 M01
verify return:1
depth=0 CN = licensing.inductiveautomation.com
verify return:1
CONNECTED(00000003)

```

If you see another certificate in the chain, that is likely the one that is being injected somewhere that Ignition doesn't trust and therefore the chain is broken. It might be helpful to see the output of the above exercise in your environment.

---

<div class="post-metadata">

**Author:** ![jaydeepcheruku](https://avatars.discourse-cdn.com/v4/letter/j/c77e96/32.png) [@jaydeepcheruku](https://forum.inductiveautomation.com/u/jaydeepcheruku)\
**Post date:** [June 9, 2023, 11:03am UTC](https://forum.inductiveautomation.com/t/ignition-maker-activation-failed/48651/20 "2023-06-09T11:03:55Z")

</div>

Thanks a lot @kcollins. Just to add on to collins details, if your work-environment got intermediate VPN setup like ZScaler, export that from browser (as collins already illustrated) and add that to **ignition-installation-folder/data/certificates/supplemental** folder.

I had the same issue while enabling leased license on my kubernetes deployed ignition gateway and was able to make it work by

1. loading the root/chain certs along with signed CA cert with keys into **ignition-installation-folder/data/local** and
2. ZScaler cert **ignition-installation-folder/data/certificates/supplemental** as part of my custom image built on-top-of over IA image.

_PS: I didn't try adding ZScaler cert also to the cert chain but that " **might**" also work, not 100% sure._
