Fixing WinCC Unified V17 Non-Integrated Connection PLC Certificate Errors
When a WinCC Unified V17 Runtime client is configured against a SIMATIC PLC that lives in a separate TIA Portal project (a so-called non-integrated connection), the HMI often refuses to come online and surfaces a TLS/certificate warning. The failure is not a wiring, IP, or PG/PC interface problem: it is the TIA Portal V17 security model refusing to trust the remote controller. This reference walks through the architecture, the root cause, the step-by-step certificate import, PLCSIM Advanced V4.0 specifics, the device-proxy fallback, and a verification matrix that takes a non-integrated Unified station from "red X" to green.
1. Architecture: Integrated vs Non-Integrated Connection
Understanding the difference between an integrated and a non-integrated connection is the prerequisite for understanding the certificate error. In TIA Portal, the type of connection is selected when you drag a PLC onto an HMI device or when you create an HMI connection node manually under Connections > HMI connections.
| Property | Integrated Connection | Non-Integrated Connection | |
|---|---|---|---|
| Project layout | PLC and HMI devices live in the same TIA Portal project (.ap17) | HMI is in its own project; PLC is compiled/exported externally | Configuration is stored once and compiled together |
| Connection data ownership | TIA Portal embeds the PLC IP, rack, slot, and certificate reference inside the HMI project | The HMI engineer must type the PLC IP, rack, and slot by hand | Auto-generated from project tree |
| Certificate handling (V17+) | TIA Portal trusts the local PLC automatically because both objects are signed by the same project fingerprint | PLC ships a self-signed X.509 certificate that the Unified PC Runtime does not yet know about | Certificate exchange is automatic |
| Typical use | Single-engineer projects, factory acceptance tests, OEMs that ship one combined archive | Multi-engineer workflows, brownfield retrofits, OT/IT hand-offs, machine builders integrating third-party PLCs | |
| Compile output | Single HMI compilation unit with the trusted-cert bundle | Two independent compilation units that must exchange trust material manually |
Non-integrated is not "unsupported"; it is a legitimate topology. The catch is that the security model in TIA Portal V17 onward no longer accepts the PLC's certificate silently. The Unified Runtime evaluates the certificate chain on every connection attempt, and if the PLC's issuer is not in its trust store, the connection is rejected before any tag read can occur.
2. Symptom Matrix: What the User Actually Sees
Depending on the build of WinCC Unified PC RT (V17.0, V17.0.1, V17 Update 3, or V17 Update 5) and whether the diagnostic channel is enabled, the failure surfaces in several different ways. The table below maps the visible symptom to the underlying TIA Portal state.
| Symptom reported by operator / engineer | Unified log location | Likely underlying state |
|---|---|---|
| "Connection failed: certificate not trusted" | C:\ProgramData\Siemens\Automation\Logfiles\WinCCUnified\RT\Connection.log |
PLC cert absent from Unified trust store |
| "HMI tag shows bad quality, value = 0xFF" | Tag logging / diagnostics view | TLS handshake failed silently; data block returned without values |
| "Runtime: certificate error" red banner across the screen | WinCC Unified RT system event list | Self-signed cert from PLC was rejected at startup |
| Connection works for a few seconds, then drops | RT trace: ConnectionStateMachine
|
PLC cert expired, or cert CN does not match the IP/FQDN configured in the HMI connection |
| Works locally, fails across VLAN/router | Wireshark / tcpdump on TCP/102 |
OPC UA / S7comm TLS handshake, certificate not in the RT trust store |
| PG/PC interface set correctly, still fails | TIA Portal > Online > Accessible nodes | TIA Portal itself is online; only the RT instance is missing the trust |
3. Root Cause: TIA Portal V17 Security Model
Starting with TIA Portal V17, the connection between an HMI panel (or Unified PC RT) and a SIMATIC controller is protected by mutual TLS. Each side presents an X.509 certificate, and each side must trust the other side's issuer. The protection is enabled by default and is enforced by the Secure PG/PC and HMI Communication project property, which lives in Project tree > [CPU] > Properties > Protection & Security > Connection mechanisms.
For an integrated connection, TIA Portal signs both the HMI configuration and the PLC configuration with the same project fingerprint during compile, so the trust is implicit. For a non-integrated connection, the two fingerprints are independent. The PLC keeps its own self-signed certificate (or a CA-signed certificate if the customer has rolled out PKI), and the Unified Runtime has never seen that certificate before. The connection is therefore rejected with an SSL_ERROR_HANDSHAKE translated into the Unified-specific error string "certificate is not trusted".
Siemens documents this exact scenario in entry ID 109799540 in the Siemens Industry Online Support. The KB is the canonical procedure for importing a controller's certificate into the Unified Runtime trust store. The remainder of this article implements that procedure end-to-end.
4. Prerequisites
Before touching certificates, confirm that the lower layers of the stack are working. The following checks eliminate false positives.
- PG/PC interface on the engineering station: set to S7ONLINE -> TCP/IP -> [your NIC] in Control Panel > Set PG/PC Interface. Verify with Online > Accessible nodes: the PLC must appear with its IP and rack/slot.
-
Unified Runtime target must be reachable from the engineering station. Confirm with
pingandtelnet <plc-ip> 102; ISO-on-TCP uses TCP port 102. - PLCSIM Advanced V4.0 instance must be running in Accessible nodes with a softbus license seat. Set PLCSIM Advanced Virtual Ethernet Adapter as the PG/PC interface when the simulator is local, or as a routable IP if the simulator is on a remote workstation.
- Unified PC RT V17 must be installed, and the project must be loaded to the RT at least once with RT Loader so that the trust store directory exists on disk.
-
Administrative rights on the PC running the RT, because the certificate store lives under
%ProgramData%\Siemens\Automation\CertStore\Unified\RT.
telnet <plc-ip> 102 fails, the problem is below the TLS layer. Stop, fix the network or PG/PC interface, then re-test. Importing a certificate into a system that cannot even open TCP/102 will not change anything.5. Step-by-Step Solution: Import the PLC Certificate
The procedure is identical whether the remote PLC is real, a PLCSIM Advanced instance, or a soft controller. The only variable is where you read the certificate from.
5.1 Export the certificate from the PLC
- Open the PLC project in TIA Portal V17.
- Right-click the CPU in the project tree, choose Properties > Protection & Security > Certificate manager.
- Select the entry whose Subject matches the CPU's serial number or device name; this is the Device certificate (often labeled
S7-1500with roleController). - Click Export and save the file as
PLC_Controller.cer(DER format). Note the file path; you will copy it to the RT machine.
For PLCSIM Advanced V4.0, the certificate is generated the first time the simulated CPU is started. If you skipped the certificate export wizard, the file lives at %ProgramData%\Siemens\Automation\PLCSIM\Certificates\<InstanceID>\controller.cer.
5.2 Transfer the certificate to the RT machine
Use a USB stick, a file share, or a WinSCP session. Do not paste the certificate through a clipboard encoder: a single corrupted byte turns the trust chain invalid.
5.3 Import into the Unified Runtime trust store
There are two accepted methods. Pick the one that matches your workflow.
Method A — HMI Certificate Manager (recommended for most engineers).
- On the RT machine, open Start > Siemens Automation > WinCC Unified > Certificate Manager.
- Switch to the Trusted devices tab.
- Click Add, browse to
PLC_Controller.cer, confirm the SHA-256 fingerprint matches what the CPU displays. - Restart the Unified Runtime service:
net stop "Siemens WinCC Unified RT" && net start "Siemens WinCC Unified RT".
Method B — Direct file placement (scriptable, used in OEM builds).
- Copy
PLC_Controller.certoC:\ProgramData\Siemens\Automation\CertStore\Unified\RT\Trusted\. - If the directory does not exist, create it.
- Recreate the trust index by running
Siemens.Automation.CertStoreRefresh.exe(found in the Unified RT installation directory), or restart the RT service as in Method A.
.cer or .crt; PEM-encoded files with the .pem extension are silently ignored. Re-export if the importer reports "no certificate found".5.4 Verify in TIA Portal
- Back on the engineering station, open the Unified project.
- Select Connections > [your HMI connection] > Properties > Connection mechanisms.
- The status of the partner should now read Certificate is trusted; the previous red icon turns green.
- Compile the HMI and download to the Unified RT again so the new connection metadata is on the target.
6. PLCSIM Advanced V4.0: Specific Considerations
PLCSIM Advanced is the most common environment for engineers who first hit this error, because a non-integrated connection is often built up specifically to test the scenario where the PLC project and the HMI project live on different TIA Portal instances. Two configuration points are easy to miss.
| Setting | Where | Default | Recommended for non-integrated test |
|---|---|---|---|
| Use virtual Ethernet adapter | PLCSIM Advanced instance settings | Disabled | Enabled, with an IP inside the same subnet as the RT machine's loopback |
| Enable secure communication | PLCSIM Advanced instance > Security tab | Enabled (V4.0+) | Enabled, certificate auto-generated on first start |
| Runtime firewall rules | Windows Defender Firewall on RT machine | Block inbound TCP/102 from non-domain networks | Add a rule for the PLCSIM instance IP |
| Local time on RT and PLCSIM host | Windows date/time | Real-time clock | Synchronized — clock skew > 5 min invalidates the cert validity window |
PLCSIM Advanced V4.0 added an explicit Export certificate for external HMI button on the instance's ribbon. If you use it, the resulting file already matches the format expected by the Unified trust store and can be dropped directly into CertStore\Unified\RT\Trusted without re-export from TIA Portal.
7. The Device-Proxy Fallback
When an engineer cannot solve the certificate import in a reasonable time, the most common workaround reported in the field is to convert the non-integrated HMI connection into an integrated one through a device proxy. A device proxy is a TIA Portal object that embeds a remote PLC into the local project. Behind the scenes, the proxy carries the remote PLC's certificate, and the resulting HMI connection is treated as integrated by the compiler.
- In the HMI project's TIA Portal, right-click Devices & networks > Add new device > PLC > SIMATIC S7-1500 > Device proxy.
- Point the proxy at the remote project's TIA file (a TIA Portal export package, file extension
.zip). - Drag a connection from the HMI to the proxied PLC. The connection is now integrated from the compiler's point of view, and the certificate trust is automatic.
- Compile and download. Connection comes online.
8. Verification Procedure
After the import, run the following checks in order. Each one is a gate; if it fails, fix it before moving on.
-
Service health:
Get-Service "Siemens WinCC Unified RT"must returnRunning. -
Trust-store presence:
dir "C:\ProgramData\Siemens\Automation\CertStore\Unified\RT\Trusted\PLC_Controller.cer"must show the file with the expected byte count. - Connection status: in the Unified RT diagnostics view, the connection state transitions from Not connected (certificate error) to Establishing to Connected within five seconds.
-
Tag read: force a value at the PLC (e.g.
MW0 := 1234in the PLCSIM Advanced watch table) and read the corresponding HMI tag in the diagnostics view. The value must update within 1 s. -
Log scan: tail the
Connection.logand confirm there are no0x80131500orSEC_E_UNTRUSTED_ROOTentries for the connection in question. - Survive restart: reboot the RT machine. The connection must re-establish automatically without operator intervention. This confirms the trust is persisted, not just cached in memory.
9. Troubleshooting Matrix
| Symptom | Probable cause | Fix |
|---|---|---|
| "No certificate found" in Certificate Manager | File is PEM, wrong extension, or 0 bytes | Re-export from TIA Portal as DER, ensure .cer
|
| Cert imported, connection still fails | RT service not restarted | net stop/start "Siemens WinCC Unified RT" |
| Connection works for 1 hour, then drops | PLC cert is short-lived (1 h) test cert | Generate a long-lived cert in the CPU properties |
| Works in lab, fails on site | Clock skew between RT and PLC | Configure NTP, keep skew < 1 min |
| Cert fingerprint mismatch warning | Different CPU than the one exported | Re-export the certificate from the actual CPU |
| Connection drops when the engineering station closes TIA | TIA Portal held the session; RT is not the issue | Open the HMI connection in TIA and click "Update partner" |
| Certificate manager refuses to add a CA-signed cert | Unified RT expects a device cert, not a CA chain | Import the full chain in CertStore\Unified\RT\Issuers instead |
| Multiple PLCs from different vendors — cert chaos | Per-PLC trust list not centralized | Roll out a Siemens-signed CA via Certificate authority project property |
10. Long-Term Best Practice: Roll Out a Project-Specific CA
For organizations that run many non-integrated connections, importing one certificate per PLC does not scale. TIA Portal V17 onward supports a Certificate Authority project property where the engineer generates a project-wide CA, signs every CPU and every HMI with that CA, and the Unified Runtime only has to trust the CA once. The flow is:
- Open the PLC project, Properties > Protection & Security > Certificate authority.
- Click Create CA; provide a name and validity (recommended: 5 years).
- Export the CA's public certificate (
ProjectCA.cer). - Import
ProjectCA.cerinto the Unified RT trust store, into the Issuers folder rather than the Trusted devices folder, so any CPU signed by this CA is automatically trusted. - Repeat for every PLC. No further per-CPU import is needed.
This setup survives CPU firmware updates as long as the CPU is re-signed with the same CA, which happens automatically if the engineer keeps Auto-update device certificates enabled.
11. Field-Proven Caveats
-
Antivirus exclusion. Some endpoint protection suites quarantine
CertStoreRefresh.exeas a "credential manager". Add the entireC:\ProgramData\Siemens\Automationtree to the AV exclusion list on the RT machine. - Domain vs. workgroup. If the RT machine is in a workgroup and the PLC is in a domain, certificate validation by the local policy still works as long as the certificates are X.509 v3; the problem is with NTLM/Kerberos, not with X.509. The two should not be conflated.
- CPU firmware 2.9 boundary. S7-1500 CPUs older than firmware 2.9 do not support the V17 security model. Upgrade firmware or fall back to V16 RT for those CPUs.
- Unified RT upgrade in place. When you upgrade Unified RT from V17.0 to V17 Update 5, the trust store is preserved, but the index is rebuilt on first start. Plan for a 30-60 s boot delay during that rebuild.
- Cloud-bridged connections. If the PLC is reached through a Siemens Industrial Edge or a Teamcenter bridge, the bridge must be added to the trust store as a forwarding proxy, and its certificate must include the Subject Alternative Name matching the bridged PLC's IP.
12. Standards and References
Two ISO/IEC documents anchor the design decisions above and are worth keeping in the project folder:
- IEC 62443-3-3 — System security requirements and security levels, which is what the V17 certificate model implements in practice.
- RFC 5246 / RFC 8446 — TLS 1.2 and TLS 1.3 specifications; Unified PC RT negotiates TLS 1.2 with mutual authentication, so the PLC cert must include the id-kp-clientAuth extended-key-usage flag.
Do non-integrated WinCC Unified V17 connections work at all, or is integrated the only option?
Yes, non-integrated connections are fully supported. TIA Portal V17 added mandatory certificate trust for the Unified Runtime, so the PLC certificate must be imported into the Unified PC Runtime trust store. Once the certificate is trusted, the non-integrated connection behaves identically to an integrated one in runtime.
Where exactly do I put the exported PLC certificate on the Unified Runtime machine?
Copy the DER-encoded .cer file to C:\ProgramData\Siemens\Automation\CertStore\Unified\RT\Trusted\, then restart the Siemens WinCC Unified RT service. Alternatively, use the WinCC Unified Certificate Manager > Trusted devices > Add dialog, which writes to the same location.
What is the Siemens KB article that covers this issue?
Entry ID 109799540 in the Siemens Industry Online Support describes the certificate import workflow for Unified V17 with the specific paths and screenshots for the certificate manager.
Does PLCSIM Advanced V4.0 also need a certificate import?
Yes. PLCSIM Advanced V4.0 enforces the same mutual-TLS model as a physical S7-1500. Export the certificate from the PLCSIM Advanced instance (or from the TIA Portal project that owns the simulated CPU) and import it into the Unified Runtime trust store using the procedure above.
Can I bypass the certificate check to test quickly?
You can disable Secure PG/PC and HMI Communication in the CPU's properties under Protection & Security > Connection mechanisms, which downgrades the connection to legacy plain S7comm. This is acceptable for a bench test but must be re-enabled before production. For a permanent solution, trust the PLC certificate instead of disabling security.
Why does a device proxy make the connection work without an import?
A device proxy embeds the remote PLC into the HMI project, so the compiler treats the HMI-to-PLC link as integrated. The certificate trust is then implicit because both sides share the same project fingerprint. The trade-off is that every PLC change forces a proxy re-import.