ANSI C Based OPC UA Client/Server/PubSub SDK
# ANSI C Demo Client Configuration File
# The lifetime of the SecureChannel in milliseconds before it is renewed.
SecureChannelLifetime = 3600000
# The timeout for the connect call in milliseconds.
ConnectTimeout = 2500
# The timeout for service calls in milliseconds.
CallTimeout = 5000
# The timeout for the application session in milliseconds.
SessionTimeout = 1200000
# The timeout for publish calls in milliseconds.
PublishTimeout = 60000
# Enable watchdog reads.
WatchdogEnabled = true
# The time between watchdog checks in milliseconds.
WatchdogTime = 5000
# The timeout for watchdog calls in milliseconds.
WatchdogTimeout = 5000
# A flag indicating whether the Client SDK should try to reconnect in the case of a connection error.
AutomaticReconnect = true
# The delay between reconnect attempts in milliseconds.
ReconnectDelay = 5000
# For calculating the client signature, the client appends the server certificate to the server nonce.
# If the server sends a certificate chain, the client should only use the leaf certificate to calculate the client signature.
# With this setting enabled, the client uses the complete certificate chain instead. This is not the recommended behaviour.
# Only set this flag to work around interoperability issues with misbehaving servers.
CreateSignatureWithChain = false
# The PublishingInterval defines the cyclic rate in milliseconds at which
# the subscription is being requested to return notifications to the client.
# Can be overwritten individually for each subscription.
PublishingInterval = 1000
# The subscription has a lifetime that is defined by multiples of the publishingInterval.
# Can be overwritten individually for each subscription.
LifetimeCount = 1200
# If the server has no notifications pending for the period of time defined by
# (MaxKeepAliveCount * PublishingInterval), the server will send a keep alive message to the client.
# Can be overwritten individually for each subscription.
MaxKeepAliveCount = 5
# Flag used to disable the server certificate validation error BadCertificateTimeInvalid. Default is false.
DisableErrorCertificateTimeInvalid = false
# Flag used to disable the server certificate validation error BadCertificateIssuerTimeInvalid. Default is false.
DisableErrorCertificateIssuerTimeInvalid = false
# Flag used to disable the server certificate validation error BadCertificateRevocationUnknown. Default is false.
DisableErrorCertificateRevocationUnknown = false
# Flag used to disable the server certificate validation error BadCertificateIssuerRevocationUnknown. Default is false.
DisableErrorCertificateIssuerRevocationUnknown = false
# Flag used to disable the ApplicationUri match check between the server certificate and the parameter in CreateSession.
# The check is required for compliant OPC UA servers, but older clients may provide a wrong ApplicationUri. Default is false.
DisableApplicationUriCheck = false
# If set to true, the domain in the endpoint URL will not be compared to the certificate domains. Default is false.
DisableDomainCheck = false
# Flag used to disable the check for compliant certificate usage entries. Default is false.
DisableCertificateUsageCheck = false
# Enable the trace
Enabled = true
# Trace level (possible values: None, Error, Warning, System, Info, Debug, Content, All)
Level = Warning
# Use local time instead of UTC in the trace
LocalTimeTrace = true
# Print the date in addition to the time
PrintDateInTrace = false
# Enable tracing to the console on stdout
ConsoleTraceEnabled = true
# Enable tracing to a file
FileTraceEnabled = false
# File to use for tracing
FileTraceFilename = clienttrace.log
# Maximum number of trace entries in one file
FileTraceMaxEntries = 1000
# Maximum number of backup files
FileTraceNumBackupFiles = 5
# Do not flush the file after each trace entry. The trace file is flushed automatically from time to time anyway.
# - For maximum trace performance you should set this option to true.
# - If you have issues with missing trace entries in case of an application crash, you should set this option to false.
FileTraceFlushDisabled = true
# The largest size for a memory block the serializer can do when deserializing a message.
Serializer_MaxAlloc = 16777216
# The largest string accepted for any decoded string.
Serializer_MaxStringLength = 16646145
# The largest byte string accepted for any decoded byte string.
Serializer_MaxByteStringLength = 16646145
# Maximum number of elements in an array accepted for any decoded array.
Serializer_MaxArrayLength = 65536
# The maximum number of bytes per decoded message in total.
Serializer_MaxMessageSize = 16777216
# The minimum revised lifetime of a secure channel security token in milliseconds.
SecureConnection_MinRevisedSecureChannelLifetime = 300000
# The maximum revised lifetime of a secure channel security token in milliseconds.
SecureConnection_MaxRevisedSecureChannelLifetime = 3600000
# The default (and requested) size for message chunks. Affects network performance and memory usage.
TcpConnection_DefaultChunkSize = 65536
# The default and maximum size for messages. Affects memory usage.
TcpTransport_MaxMessageLength = 16777216
# The default and maximum number of message chunks per message. Affects memory usage.
TcpTransport_MaxChunkCount = 256
# The PKI provider to use. OpenSSL is available on all platforms.
PkiType = OpenSSL
# Client Certificate: Path to a PEM or DER encoded certificate file.
# This file may also contain multiple concatenated certificates (certificate chain).
CertificateFile = pki_client/own/uaclientcert.der
# Client Private Key: Path to a PEM encoded private key file. This should not be password protected
# so that the client can start unattended. With a password protected file, the client will need to prompt the user to
# input the password to unlock the file.
CertificateKeyFile = pki_client/own/uaclientkey.nopass.pem
# Number of additional certificates to form the certificate chain.
AdditionalCertificates/size = 0
# Additional certificates that will be appended to the client certificate to form the certificate chain.
#AdditionalCertificates/0/File = pki_client/own/rootcacert.der
#AdditionalCertificates/1/File = pki_client/own/scacert.der
# Path to trusted certificates. This includes trusted CA certificates as well as self-signed certificates.
TrustListPath = pki_client/trusted/certs
# This is the directory where the client stores certificate revocation lists.
# By default this directory contains no CRLs.
CRLPath = pki_client/trusted/crl
# Path to untrusted CA certificates. These certificates are only used to build a complete certificate chain.
IssuerTrustListPath = pki_client/issuers/certs
# Path to untrusted CA certificates. These certificates are only used to build a complete certificate chain.
IssuerCRLPath = pki_client/issuers/crl
# Enable client certificate creation if certificate is not available
GenerateCertificate = true
# Name of the application - [ApplicationName] is the default value to use the configured ApplicationName
CommonName = [ApplicationName]
# Name of the organization using the OPC UA client
Organization = Unified Automation GmbH
# Name of the organization unit using the OPC UA client
OrganizationUnit =
# Name of the location where the OPC UA client is running
Locality = Nuremberg
# State where the OPC UA client is running
State = Bavaria
# Two letter code for country where the OPC UA client is running, e.g. DE or US
Country = DE
# Comma separated list of hostnames, defaults to the computer name if empty
# [gethostname] can be used as placeholder for the computer name.
#DNSNames =
# Comma separated list of IP addresses
#IPAddresses =
# The number of years the certificate is valid for. The maximum accepted number is 20,
# but it is strongly recommended to use a shorter time.
YearsValidFor = 5
# Key length of the certificate to create. Valid values are 1024 and 2048 bits
KeyLength = 2048
# Signature algorithm to use for signing the certificate
SignatureAlgorithm = Sha256
# The URL to use for the FindServers call.
DiscoveryURL = opc.tcp://localhost:48020
# The URL to connect to when not using Discovery.
EndpointURL = opc.tcp://localhost:48020
# User token type, one of Anonymous / UserName / Certificate
UserTokenType = Anonymous
#UserTokenType = UserName
#User = root
#Password = secret
#UserTokenType = Certificate
#UserCertificateLocation = pki_client/own/uaclientcert.der
#UserPrivateKeyLocation = pki_client/own/uaclientkey.nopass.pem