About This Page
This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.
Bias Analysis
Bias Types:
⚠️
windows_first
⚠️
windows_tools
⚠️
powershell_heavy
Summary:
The documentation displays a mild Windows bias. Windows-based OPC UA server tools (such as KEPServerEx) are mentioned explicitly and before Linux alternatives. Powershell examples are provided alongside Bash, and Windows-specific patterns (such as referencing Windows-based configuration UIs) are called out, while Linux equivalents are not mentioned with equal prominence. There are no explicit Linux-only examples or references to Linux-native OPC UA servers or their certificate management interfaces.
Recommendations:
- When mentioning OPC UA server certificate export, provide examples or references for both Windows-based (e.g., KEPServerEx) and popular Linux-based OPC UA servers (e.g., open62541, Prosys, Unified Automation), including their certificate management interfaces.
- Balance the mention of Windows tools with Linux equivalents. For example, if referencing a Windows configuration UI, also mention typical Linux file paths or CLI tools for certificate management.
- If Powershell is shown, ensure Bash or Linux shell examples are always present and given equal or greater prominence, possibly listing Bash first.
- Consider adding a table or section summarizing certificate export/import steps for both Windows and Linux OPC UA servers.
- Explicitly state that the instructions are cross-platform and highlight any platform-specific steps or differences.
Create pull request
Flagged Code Snippets
# Append CA certificate to the trusted certificate list secret as a new entry
az iot ops connector opcua trust add --instance <your instance name> --resource-group <your resource group> --certificate-file "./my-server-ca.der"
# Append the CRL to the trusted certificate list secret as a new entry
$data = kubectl create secret generic temp --from-file=my-server-ca.crl=./my-server-ca.crl --dry-run=client -o jsonpath='{.data}'
kubectl patch secret aio-opc-ua-broker-trust-list -n azure-iot-operations -p "{`"data`": $data}"
# Append CA certificate to the trusted certificate list secret as a new entry
az iot ops connector opcua trust add --instance <your instance name> --resource-group <your resource group> --certificate-file "./my-server-ca.crt"
# Append the CRL to the trusted certificate list secret as a new entry
$data = kubectl create secret generic temp --from-file=my-server-ca.crl=./my-server-ca.crl --dry-run=client -o jsonpath='{.data}'
kubectl patch secret aio-opc-ua-broker-trust-list -n azure-iot-operations -p "{`"data`": $data}"
kubectl -n azure-iot-operations get secret aio-opc-opcuabroker-default-application-cert -o jsonpath='{.data.tls\.crt}' | %{ [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($_)) } > opcuabroker.crt
# Create aio-opc-ua-broker-client-certificate secret
# Upload OPC UA public key certificate as an entry to the secret
# Upload OPC UA private key certificate as an entry to the secret
az iot ops connector opcua client add `
--instance <your instance name> `
-g <your resource group> `
--public-key-file "./opcuabroker-certificate.der" `
--private-key-file "./opcuabroker-certificate.pem" `
--subject-name <subject name from the public key cert> `
--application-uri <application uri from the public key cert>