Skip to main content

Set Up Certificate Monitoring

IDIAL can retrieve and evaluate the current certificate of an OPC UA device directly — without triggering a GDS Push. This is useful for checking certificate status, verifying fingerprints, or viewing remaining validity before a manual renewal. Additionally, a monitoring scheduler can be activated to periodically check all devices in the inventory.

Prerequisites

  • The device is reachable over the network
  • API key is available

Step 1 — Retrieve the Certificate of a Single Device

curl -s -X POST \
-H "X-API-Key: <api-key>" \
-H "Content-Type: application/json" \
-d '{
"server": "192.168.1.100",
"port": 4840,
"fingerprint": "SHA1",
"x509": true
}' \
https://<idial-host>:5000/gds/monitor/crt

Request Parameters

ParameterTypeDefaultDescription
serverstringIP address or FQDN of the OPC UA server
portinteger/string4840OPC UA port
x509booleanfalseInclude human-readable X.509 certificate details in the response
fingerprintstringAlgorithm for the fingerprint: "SHA1" (case-insensitive)
connection_securitybooleanfalseUse secure OPC UA connection
disable_crl_checkbooleanfalseSkip CRL check

Example Response

{
"url": "opc.tcp://192.168.1.100:4840",
"idial_time": "2026-03-30T14:22:05.123456",
"fingerprint": "A1:B2:C3:D4:E5:F6:07:08:09:10:11:12:13:14:15:16:17:18:19:20",
"security_policy": 8,
"security_mode": 2,
"x509": "Certificate:\n Subject: CN=OPC UA Server\n Issuer: CN=Internal CA\n Not Before: 2025-01-01\n Not After: 2027-01-01\n ..."
}

Response Fields

FieldDescription
urlFull OPC UA connection URL. Only present if the device is registered in the inventory.
idial_timeISO 8601 timestamp of the retrieval time
fingerprintSHA-1 fingerprint in colon-separated hex format
security_policyBitmask of active security policies (see Parameter Reference)
security_modeActive security mode (0=None, 1=Sign, 2=SignAndEncrypt)
x509Human-readable X.509 certificate details (only when x509: true)

Step 2 — Activate the Monitoring Scheduler (Optional)

The monitoring scheduler periodically checks all devices in the inventory and updates their certificate status in the database.

curl -s -X POST \
-H "X-API-Key: <api-key>" \
-H "Content-Type: application/json" \
-d '{
"monitor_scheduler_active": true,
"monitor_scheduler_scan_interval_sec": 600
}' \
https://<idial-host>:5000/systeminfo
ParameterTypeDefaultDescription
monitor_scheduler_activebooleanfalseEnable/disable the monitoring scheduler
monitor_scheduler_scan_interval_secinteger ≥ 1600Scan interval in seconds (default: 10 minutes)
tip

600 seconds (10 minutes) is a good starting value. For large inventories or slow networks, the interval can be increased to avoid overloading the network.

Step 3 — Check Scheduler Status

curl -s \
-H "X-API-Key: <api-key>" \
https://<idial-host>:5000/systeminfo
{
"monitor_scheduler_status": "active",
"monitor_scheduler_active": true,
"monitor_scheduler_scan_interval_sec": 600
}

Summary

POST /gds/monitor/crt → Retrieve the certificate of a single device
POST /systeminfo → Activate/configure the monitoring scheduler
GET /systeminfo → Check scheduler status

Next Steps

Troubleshooting

SymptomPossible CauseSolution
Response without url fieldDevice not in inventoryRegister device or check server/port
Connection errorDevice not reachable or wrong portCheck IP, port, and network connectivity
fingerprint missing from responsefingerprint parameter not setInclude "fingerprint": "SHA1" in the request
disable_crl_check requiredCRL distribution point not reachableCheck network connectivity to the CRL distribution point