# Kepware OPC UA Status Faulted

**URL:** <https://forum.inductiveautomation.com/t/kepware-opc-ua-status-faulted/92110>\
**Category:** Ignition\
**Tags:** opcua\
**Created:** [June 19, 2024, 5:16pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-status-faulted/92110 "2024-06-19T17:16:42Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![James\_Dean](https://avatars.discourse-cdn.com/v4/letter/j/e8c25b/32.png) [@James\_Dean](https://forum.inductiveautomation.com/u/James_Dean)\
**Post date:** [June 19, 2024, 5:16pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-status-faulted/92110/1 "2024-06-19T17:16:42Z")

</div>

Hello,

I'm currently facing an issue where the KEPServerEX OPC UA connection I'm trying to create constantly has the status of Faulted with this error being shown:

```python
UaException: status=Bad_SecurityChecksFailed, message=An error occurred verifying security.
   at org.eclipse.milo.opcua.stack.client.transport.uasc.UascClientAcknowledgeHandler.onError(UascClientAcknowledgeHandler.java:258)
   at org.eclipse.milo.opcua.stack.client.transport.uasc.UascClientAcknowledgeHandler.decode(UascClientAcknowledgeHandler.java:167)
   at io.netty.handler.codec.ByteToMessageCodec$1.decode(ByteToMessageCodec.java:42)
   at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529)
   at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468)
   at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
   at io.netty.handler.codec.ByteToMessageCodec.channelRead(ByteToMessageCodec.java:103)
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
   at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
   at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
   at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
   at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
   at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
   at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
   at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
   at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
   at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
   at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
   at java.base/java.lang.Thread.run(Unknown Source)
8.1.37 (b2024013011)
Azul Systems, Inc. 17.0.9".

```

Here is another log error from the status \> logs page every time Ignition tries to connect:

```python
[remote=/127.0.0.1:49320] Received error message: ErrorMessage{error=StatusCode{name=Bad_SecurityChecksFailed, value=0x80130000, quality=bad}, reason=An error occurred verifying security.}

```

A couple things worth noting:

1. I have trusted the incoming Ignition client certification on The KepServerEX side of things.
2. I have trusted the KepServerEX/UA Server certification on the Ignition side of things under Config \> Opcua \> Security located on the gateway's config webpage.

The customer I am working with is currently using Ignition 8.1.37 and KEPServerEX 6.6. I'm stumped on what the solution might be since I've tested this on my work laptop and was able to connect to a test KEPServer from my local gateway just fine. If any more details are needed I'd be happy to provide them, thanks any help is appreciated!

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [June 19, 2024, 5:28pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-status-faulted/92110/2 "2024-06-19T17:28:20Z")

</div>

There's lots of other posts about KepServer and I believe even Inductive University videos.

The step it sounds like you may be missing is the creation of a user inside KepServer with the right role/permissions.

---

<div class="post-metadata">

**Author:** ![James\_Dean](https://avatars.discourse-cdn.com/v4/letter/j/e8c25b/32.png) [@James\_Dean](https://forum.inductiveautomation.com/u/James_Dean)\
**Post date:** [June 19, 2024, 6:09pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-status-faulted/92110/3 "2024-06-19T18:09:32Z")

</div>

Hi Michael,

I have looked through the Inductive University video, specifically the one called "Connecting to Kepware OPC-UA". In that video they don't have any user created in their KEPServerEX setup.

I did create a new administrator account called "Ignition" as shown here, and input that username and password into their respective fields when setting up the OPC UA connection again, but I get the same error.

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/3/239f0dea5d741a6f954940b4557b2cc7ce8b3620.png)

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [June 19, 2024, 8:31pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-status-faulted/92110/4 "2024-06-19T20:31:46Z")

</div>

I'm not sure then. I'd just search the forums and try any other fixes, otherwise reach out to support and see if they can help out.

---

<div class="post-metadata">

**Author:** ![matt.eaton](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matt.eaton/32/72046_2.png) [@matt.eaton](https://forum.inductiveautomation.com/u/matt.eaton)\
**Post date:** [June 19, 2024, 8:43pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-status-faulted/92110/5 "2024-06-19T20:43:45Z")

</div>

> [@James\_Dean](#):
>
> `Bad_SecurityChecksFailed`

Anything from a kepware manual about this message specifically? it's not necessarily a missing cert...

---

<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:** [June 19, 2024, 8:55pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-status-faulted/92110/6 "2024-06-19T20:55:56Z")

</div>

Can you supply your Ignition logs?

Usually this means one of the sides doesn't trust the other's certificate, but it can sometimes mean one side thinks there is something fundamentally wrong with the certificate as well.

---

<div class="post-metadata">

**Author:** ![James\_Dean](https://avatars.discourse-cdn.com/v4/letter/j/e8c25b/32.png) [@James\_Dean](https://forum.inductiveautomation.com/u/James_Dean)\
**Post date:** [June 20, 2024, 2:15pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-status-faulted/92110/7 "2024-06-20T14:15:07Z")

</div>

Would I be able to email/message them to you? They are on a customer's server.

---

<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:** [June 20, 2024, 2:37pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-status-faulted/92110/8 "2024-06-20T14:37:46Z")

</div>

If you need to keep it confidential then it's best to open a support ticket.
