Connect UA.TestClient to ctrlX UA Server

Established Member

This is about how you can connect the Bosch Rexroth UA.TestClient to a ctrlX embedded UA Server.


Install UA Server snap on your ctrlX if not already installed.
Download latest UA.TestClient here.

Create UA.TestClient Certificate

On first startup of the application you were asked to create a new application instance certificate for the UA.TestClient.
Ensure the Key Size Rsa2048 and Hash Algorithm Sha256 using extended options revealed by button <Advanced>. 

Press <Create> to create the certificate pair.

Initial Connection

Start UA.TestClient and connect

Example URL's

Device  URL
ctrlX CORE
e.g. opc.tcp://
ctrlX COREvirtual with Network Adapter opc.tcp://
ctrlX COREvirtual with Port Forwarding (with Bosch VPN in Mobile Office)


If you use Port Forwarding, please change 8840:4840 to 4840:4840 in crlX WORKS before starting your ctrlX COREvirtual.


Check permission UA Server access  of your current user. The default user boschrexroth should have admin rights.


Enter your ctrlX IP and credentials like shown below and press <Find>.

Choose one of your preferred endpoint by policy (recommended: SignAndEncrypt Basic256Sha256. Not supported yet: Aes256_Sha256_RsaPss)

Enter your username/password credentials and press <OK>.


Now you have to trust the server's certificate manually.

Press <Trust> and check <Save Certificate in TrustList>


You should get an <BadSecurityChecksFailed>  error from server, because the server is not trusting your certificate by default.

So we have to do same on server side.



Login into your ctrlX website, navigate to Settings → Certificates & Keys and press the <Check> Button on the right pane to trust your client certificate.

2020-03-25_11h20_19.pngReconnect: Done, your connection should be established!


Have fun using the UA.TestClient !

New Poster

Nice instructions. Really works with acess to info abot server status, but how can I acess to variables from Data Layer?

I can see It's structre, but not Values for the fvariables from  motion or PLC app, Any additional parametrization of OPC UA Server App or Data Layer Itself are necessary ?

Not applicable

The application is throwing an exception when I want to create a certificate. Can it be that a reference is missing?

EXCEPTION (TypeLoadException)
Could not load type 'UnifiedAutomation.UaBase.CertificateFactory' from assembly 'UnifiedAutomation.UaBase, Version=, Culture=neutral, PublicKeyToken=90c158e6f23d82c1'.
at UnifiedAutomation.UaBase.WindowsCertificateFactory.CreateCertificate(String storePath, CreateCertificateSettings settings)
at Rexroth.UA.TestClient.UI.CreateCertificateDialog.OkButton_Click(Object sender, EventArgs e) in D:\Jenkins\workspace\app.opcua.testclient\UA.TestClient\UI\Dialogs\CreateCertificateDialog.cs:line 217

D:\Jenkins\workspace\ is not my file location. I don't have a D:\ partition.

%CommonApplicationData%\Rexroth\PKI\own should be %ProgramData%\Rexroth\PKI\own?

(Yet I've got it working with the OPC Foundation UA Sample Client)


Right click and read, or make a subscription?

Or drag and drop in the DataAccess window?

New Poster

@ Leon

I've made double click on needed variable from DataLayer folder in UA.Test Client. In thins case in DataAcess window I can see name of variable and nodeID, but there is no value and timestamp. Same thing when I tried to add this variable to IoT Gateway via OPC UA channel - no value returns. in addition when I tried ton connect with UA Expert test client There is also data type = Null. I guess problem is that there is no Data from DataLOayer on OPC UA Server on CtrlX or I should make additional parametrization of CtrlX OPC UA server or CtrlX Data layer to have this access?

Not applicable


You're already connected, so the user access should be good and the certificate also. No additional changes where needed. For the PLC I've added the symbols to the 'Symbol Configuration' in the PLC Engineering app, didn't check if it's needed with CtrlX.

LocalTime (i=17634) gave me a null value. CurrentTime (i=2258) was updating well in UTC time.

New Poster


I will try separately with PLC's variables, but for motion variables (examle actual position of virtual axis) I did not have Value, only nodeID

Established Member

You can access normally data from datalayer without any special configuration. But if you use subscription please be aware to use for all apps (opc ua server, plc, motion, automationcore) the same version (e.g. 1.8.X or 1.6.X). You can normally still read the value with UA.TestClient by using right click on variable to read and choose "Read...". This is independent of the using app versions.



Established Member

Please update the UA.TestClient to Version 1.0.1 which fixes the create instance certficate issue on first application startup 

UA.TestClient (

Not applicable


Problem solved. Thanks.

Occasional Contributor

I have downloaded a new instance of the UA test client from the above links. When I open client I am not prompted to create a certificate and can therefore not retrieve the end-points. Is there a way to force the creation of the certificate? 

Established Member

Hi aFouraker,

there are known issues with old certificates using not a key size of 2048 bit . You have to delete your old PKI store (C:\ProgramData\Rexroth\PKI) and restart UA.TestClient again to force the creation of a new self-signed key pair.

Must Read