IEC 62541 · Utility

Part 12: Discovery and Global Services

Document numberOPC 10000-12
IEC designationIEC 62541-12
ColloquiallyPart 12
GroupUtility

Part 12 defines how applications find each other and how their certificates are managed at scale: the Local Discovery Server, the Global Discovery Server with its pull and push certificate models, credential and authorisation services, and the standard PKI folder layout every stack uses on disk.

Discovery

A Local Discovery Server runs on a host, listens on port 4840, and answers FindServers so a client can enumerate the OPC UA servers on that machine. Servers register themselves with it through RegisterServer and must re-register periodically. FindServersOnNetwork extends this across a subnet using multicast DNS, returning servers along with their capability codes so a client can filter for the ones implementing a particular companion model before connecting to any of them.

The Global Discovery Server and certificate management

A GDS is the enterprise-scale counterpart: it registers applications, issues their certificates and distributes trust lists. Two models exist. In the pull model the application asks the GDS for a certificate and fetches its trust list itself. In the push model an operator or tool pushes a certificate and trust list into the device, using the ServerConfiguration object and the TrustList object that a push-capable server exposes in its own address space. Certificate groups and certificate types let one application hold separate RSA and elliptic-curve identities.

Credentials and authorisation beyond OPC UA

Later editions add two services that reach outside the protocol. A key credential service issues an application the credentials it needs for a non-OPC-UA service, typically an MQTT broker or a REST API, so a device does not need broker passwords baked into its firmware. An authorisation service issues access tokens in an OAuth2-shaped request and finish flow, which is the mechanism behind the IssuedToken user identity type.

The PKI layout on disk

An annex defines the folder structure every mainstream stack implements, and knowing it is the difference between fixing a trust problem in a minute and guessing for an afternoon. Under a PKI root there are separate stores: own holds this application's certificate and private key; trusted holds trust anchors, meaning self-signed peers or a CA you have decided to trust; issuer holds CA certificates needed only to complete a chain, without conferring trust; rejected parks certificates that failed validation. The user and HTTPS variants repeat the trusted and issuer split for user certificates and transport certificates. Each store has certs, private and crl subfolders.

What it defines

ConceptWhat it is
Local Discovery ServerA per-host service on port 4840 that answers FindServers for the servers registered with it. Advertises its own discovery facet.
FindServers and RegisterServerThe registration loop. A server re-registers on a timer, so a server that appears and then disappears from a discovery list is usually failing to renew.
FindServersOnNetworkSubnet-wide discovery over multicast DNS, returning capability codes alongside each server so you can filter by companion model before connecting.
Global Discovery ServerApplication registration plus certificate authority plus trust-list distribution. The answer to managing certificates across hundreds of devices.
Pull and push modelsPull: the application requests its own certificate and trust list. Push: a tool writes them into the device through ServerConfiguration and TrustList. Devices support one, the other, or neither.
TrustList objectThe address-space representation of a trust list, with methods to open, read, write and close it plus a version counter. This is how a trust list is updated over OPC UA itself.
Certificate groups and typesLet one application hold distinct identities and trust lists per key type, so an RSA and an elliptic-curve certificate coexist without collision.
Key credential serviceIssues an application credentials for a non-OPC-UA service such as an MQTT broker, so secrets are provisioned rather than configured by hand.
Authorisation serviceIssues access tokens through a request-and-finish flow, backing the IssuedToken user identity type used for JWT and OAuth2 logins.
Standard PKI storesown, trusted, issuer, rejected, and the trustedUser, issuerUser, trustedHttps and issuerHttps variants, each with certs, private and crl subfolders.

Do you need to read it?

Whoever owns certificates on a site, and whoever has to make a fleet of devices trust each other without visiting each one. Commissioning engineers need the PKI store semantics, because that is where trust problems are actually solved. Architects need the pull and push distinction before selecting hardware, since it is a device capability you cannot add later.

Traps that trace back to this part

  • The issuer store is not a trust store. Dropping a CA certificate into issuer completes the chain but confers no trust, so validation proceeds to the end and still returns BadCertificateUntrusted against a chain that looks perfect. Trust anchors belong in trusted; issuer is only for intermediates you need in order to build the path.
  • The rejected store is a workflow, not a log. A peer certificate that failed validation is written there so an administrator can inspect it and promote the file into trusted. A large share of cannot-connect tickets are one file move, and engineers who do not know the store exists instead regenerate certificates.
  • In a container, the PKI directory must be a persistent volume. Otherwise every restart generates a fresh application instance certificate with a fresh key, the peer's trust list still holds the old one, and a system that worked yesterday fails after an unrelated redeploy.
  • Every CA certificate in a chain is expected to assert both keyCertSign and cRLSign in its KeyUsage extension. Corporate CAs routinely omit cRLSign, and strict stacks then reject the chain with a bare BadCertificateInvalid that names nothing useful. Check the issuing CA's key usage before suspecting the leaf certificate.

Last verified 7 September 2026 against OPC UA 1.05.07. The specification parts themselves are published by the OPC Foundation. OPC UA Connect is an educational resource and is not affiliated with the OPC Foundation.

Free download
OPC UA Server Acceptance Test Pack
A 40-check acceptance test you run against a vendor's server before commissioning sign-off. Weighted scoring, three hard gates, and a one-page verdict for the supplier meeting.
Get the free test pack →
Free, no course, no login