mirror of
https://github.com/OPCFoundation/UA-.NETStandard.git
synced 2026-10-18 22:55:08 +08:00
5edb512ab7
* Stricter validation and error handling in GDS server - Allow empty DatabaseStorePath for in-memory operation - Select database type dynamically in GdsNodeManagerFactory - Enforce required fields and argument validation in ApplicationsDatabaseBase - Prevent duplicate application URIs in LinqApplicationsDatabase - Propagate argument errors as OPC UA service exceptions in ApplicationsNodeManager - Remove obsolete attribute from ParsedNodeId - Refactor MasterNodeManager write/call validation to async with improved permission checks and attribute caching - Update UAReferenceServer.ctt.xml test data with non-empty credentials - Improves robustness, security, error reporting, and test coverage * Add method-state resolver API for call validation and tests Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/0caf8699-f0e0-4dd5-8dcf-368b08912205 Co-authored-by: romanett <7413710+romanett@users.noreply.github.com> * Refine call validation comments and test coverage naming Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/0caf8699-f0e0-4dd5-8dcf-368b08912205 Co-authored-by: romanett <7413710+romanett@users.noreply.github.com> * Move method resolver onto core NodeManager interfaces Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/0bb87dfd-f432-431f-a0fe-dd4d1ba3197f Co-authored-by: romanett <7413710+romanett@users.noreply.github.com> * Align NodeManager interfaces and call paths for method resolver Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/0bb87dfd-f432-431f-a0fe-dd4d1ba3197f Co-authored-by: romanett <7413710+romanett@users.noreply.github.com> * fixes * fix * Fix GDS ClientTest expectations for stricter app validation Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/47d99514-94f9-4051-9e6d-8cb2b44555d0 Co-authored-by: romanett <7413710+romanett@users.noreply.github.com> * fix tests * Fix AOT GDS fixture for RSA secured endpoint Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/f6c8fba1-3dbf-41f0-b920-5e1766b9d6e1 Co-authored-by: romanett <7413710+romanett@users.noreply.github.com> * Update app registration logic and audit event sources Refactor application registration to separate update and create logic, introducing UpdateApplication in database interfaces and implementations. Improve error handling and validation, ensure unique ApplicationUris, and enhance certificate revocation logging. Standardize audit event source names and add ToString override to BaseVariableState. Update server queries for correct pagination. * fixes * Add wildcard match coverage for ApplicationsDatabaseBase Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/a2c1a6b0-e867-4610-bead-7e621e3764ff Co-authored-by: romanett <7413710+romanett@users.noreply.github.com> * Expand wildcard spec coverage in ApplicationsDatabaseBase tests Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/a2c1a6b0-e867-4610-bead-7e621e3764ff Co-authored-by: romanett <7413710+romanett@users.noreply.github.com> * Align UA wildcard matching and add spec coverage tests Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/a2c1a6b0-e867-4610-bead-7e621e3764ff Co-authored-by: romanett <7413710+romanett@users.noreply.github.com> * Fix GDS QueryServers test expectations for pagination semantics Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/efa1c64d-05c8-47ee-b308-c77e7d5a34c9 Co-authored-by: romanett <7413710+romanett@users.noreply.github.com> * Add focused tests for LinqApplicationsDatabase behaviors Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/7e4ec1ce-722f-43fb-99db-06b854c3fa7a Co-authored-by: romanett <7413710+romanett@users.noreply.github.com> * Refine LinqApplicationsDatabase test method naming Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/7e4ec1ce-722f-43fb-99db-06b854c3fa7a Co-authored-by: romanett <7413710+romanett@users.noreply.github.com> * Merge origin/master and resolve PR merge conflicts Agent-Logs-Url: https://github.com/OPCFoundation/UA-.NETStandard/sessions/69970cd4-4196-4fb4-9e4c-6ad86104bb5f Co-authored-by: marcschier <11168470+marcschier@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: romanett <7413710+romanett@users.noreply.github.com> Co-authored-by: marcschier <11168470+marcschier@users.noreply.github.com>
434 lines
21 KiB
XML
434 lines
21 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<ApplicationConfiguration
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xmlns:ua="http://opcfoundation.org/UA/2008/02/Types.xsd"
|
|
xmlns="http://opcfoundation.org/UA/SDK/Configuration.xsd"
|
|
>
|
|
<!-- xsi:schemaLocation="http://opcfoundation.org/UA/SDK/Configuration.xsd ./Configuration.xsd" -->
|
|
<ApplicationName>Quickstart Reference Server</ApplicationName>
|
|
<ApplicationUri>urn:localhost:UA:Quickstarts:ReferenceServer</ApplicationUri>
|
|
<ProductUri>uri:opcfoundation.org:Quickstarts:ReferenceServer</ProductUri>
|
|
<ApplicationType>Server_0</ApplicationType>
|
|
<SecurityConfiguration>
|
|
<!-- Which certificate types are supported -->
|
|
<ApplicationCertificates>
|
|
<CertificateIdentifier>
|
|
<StoreType>Directory</StoreType>
|
|
<StorePath>%LocalApplicationData%/OPC Foundation/pki/own</StorePath>
|
|
<SubjectName>CN=Quickstart Reference Server, C=US, S=Arizona, O=OPC Foundation, DC=localhost</SubjectName>
|
|
<CertificateTypeString>RsaSha256</CertificateTypeString>
|
|
</CertificateIdentifier>
|
|
<CertificateIdentifier>
|
|
<!-- <TypeId>NistP256</TypeId> -->
|
|
<StoreType>Directory</StoreType>
|
|
<StorePath>%LocalApplicationData%/OPC Foundation/pki/own</StorePath>
|
|
<SubjectName>CN=Quickstart Reference Server, C=US, S=Arizona, O=OPC Foundation, DC=localhost</SubjectName>
|
|
<CertificateTypeString>NistP256</CertificateTypeString>
|
|
</CertificateIdentifier>
|
|
<CertificateIdentifier>
|
|
<!-- <TypeId>NistP384</TypeId> -->
|
|
<StoreType>Directory</StoreType>
|
|
<StorePath>%LocalApplicationData%/OPC Foundation/pki/own</StorePath>
|
|
<SubjectName>CN=Quickstart Reference Server, C=US, S=Arizona, O=OPC Foundation, DC=localhost</SubjectName>
|
|
<CertificateTypeString>NistP384</CertificateTypeString>
|
|
</CertificateIdentifier>
|
|
<CertificateIdentifier>
|
|
<!-- <TypeId>BrainpoolP256r1</TypeId> -->
|
|
<StoreType>Directory</StoreType>
|
|
<StorePath>%LocalApplicationData%/OPC Foundation/pki/own</StorePath>
|
|
<SubjectName>CN=Quickstart Reference Server, C=US, S=Arizona, O=OPC Foundation, DC=localhost</SubjectName>
|
|
<CertificateTypeString>BrainpoolP256r1</CertificateTypeString>
|
|
</CertificateIdentifier>
|
|
<CertificateIdentifier>
|
|
<!-- <TypeId>BrainpoolP384r1</TypeId> -->
|
|
<StoreType>Directory</StoreType>
|
|
<StorePath>%LocalApplicationData%/OPC Foundation/pki/own</StorePath>
|
|
<SubjectName>CN=Quickstart Reference Server, C=US, S=Arizona, O=OPC Foundation, DC=localhost</SubjectName>
|
|
<CertificateTypeString>BrainpoolP384r1</CertificateTypeString>
|
|
</CertificateIdentifier>
|
|
</ApplicationCertificates>
|
|
<!-- Where the other application certificates are stored -->
|
|
<!-- Where the issuer certificate are stored (certificate authorities) -->
|
|
<TrustedIssuerCertificates>
|
|
<StoreType>Directory</StoreType>
|
|
<StorePath>%LocalApplicationData%/OPC Foundation/pki/issuer</StorePath>
|
|
</TrustedIssuerCertificates>
|
|
<!-- Where the trust list is stored -->
|
|
<TrustedPeerCertificates>
|
|
<StoreType>Directory</StoreType>
|
|
<StorePath>%LocalApplicationData%/OPC Foundation/pki/trusted</StorePath>
|
|
</TrustedPeerCertificates>
|
|
<!-- The directory used to store invalid certificates for later review by the administrator. -->
|
|
<RejectedCertificateStore>
|
|
<StoreType>Directory</StoreType>
|
|
<StorePath>%LocalApplicationData%/OPC Foundation/pki/rejected</StorePath>
|
|
</RejectedCertificateStore>
|
|
<MaxRejectedCertificates>5</MaxRejectedCertificates>
|
|
<!-- WARNING: The following setting (to automatically accept untrusted certificates) should be used
|
|
for easy debugging purposes ONLY and turned off for production deployments! -->
|
|
<AutoAcceptUntrustedCertificates>false</AutoAcceptUntrustedCertificates>
|
|
<!-- WARNING: SHA1 signed certificates are by default rejected and should be phased out.
|
|
only nano and embedded profiles are allowed to use sha1 signed certificates. -->
|
|
<RejectSHA1SignedCertificates>true</RejectSHA1SignedCertificates>
|
|
<RejectUnknownRevocationStatus>true</RejectUnknownRevocationStatus>
|
|
<MinimumCertificateKeySize>2048</MinimumCertificateKeySize>
|
|
<AddAppCertToTrustedStore>false</AddAppCertToTrustedStore>
|
|
<SendCertificateChain>true</SendCertificateChain>
|
|
<!-- Where the User issuer certificates are stored -->
|
|
<UserIssuerCertificates>
|
|
<StoreType>Directory</StoreType>
|
|
<StorePath>%LocalApplicationData%/OPC Foundation/pki/issuerUser</StorePath>
|
|
</UserIssuerCertificates>
|
|
<!-- Where the User trust list is stored-->
|
|
<TrustedUserCertificates>
|
|
<StoreType>Directory</StoreType>
|
|
<StorePath>%LocalApplicationData%/OPC Foundation/pki/trustedUser</StorePath>
|
|
</TrustedUserCertificates>
|
|
</SecurityConfiguration>
|
|
<TransportConfigurations></TransportConfigurations>
|
|
<TransportQuotas>
|
|
<OperationTimeout>120000</OperationTimeout>
|
|
<MaxStringLength>1048576</MaxStringLength>
|
|
<MaxByteStringLength>1048576</MaxByteStringLength>
|
|
<MaxArrayLength>65535</MaxArrayLength>
|
|
<MaxMessageSize>4194304</MaxMessageSize>
|
|
<MaxBufferSize>65535</MaxBufferSize>
|
|
<ChannelLifetime>30000</ChannelLifetime>
|
|
<SecurityTokenLifetime>3600000</SecurityTokenLifetime>
|
|
</TransportQuotas>
|
|
<ServerConfiguration>
|
|
<BaseAddresses>
|
|
<ua:String>opc.https://localhost:62540/Quickstarts/ReferenceServer</ua:String>
|
|
<ua:String>opc.tcp://localhost:62541/Quickstarts/ReferenceServer</ua:String>
|
|
<!--<ua:String>https://localhost:62542/Quickstarts/ReferenceServer</ua:String>-->
|
|
</BaseAddresses>
|
|
<!--
|
|
These list the alternate addresses (via firewalls, multiple NICs etc.) that can be
|
|
used to communicate with the server. The URL used by the client when calling
|
|
FindServers/GetEndpoints or CreateSession will be used to filter the list of
|
|
endpoints returned by checking for alternate base addresses that have a domain
|
|
that matches the domain in the url provided by the client.
|
|
|
|
Note that any additional domains should be listed in the server's certificate. If they
|
|
are left out the client make refuse to connect because it has no way to know if the
|
|
alternate domain was authorized by the server administrator.
|
|
-->
|
|
<!--
|
|
<AlternateBaseAddresses>
|
|
<ua:String>opc.tcp://AlternateHostName/Quickstarts/ReferenceServer</ua:String>
|
|
<ua:String>opc.tcp://10.10.103.150/Quickstarts/ReferenceServer</ua:String>
|
|
<ua:String>opc.tcp://[2a01::626d]/Quickstarts/ReferenceServer</ua:String>
|
|
</AlternateBaseAddresses>
|
|
-->
|
|
<SecurityPolicies>
|
|
<!-- the first policy is used for the https endpoint -->
|
|
<!--
|
|
-->
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>Sign_2</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>SignAndEncrypt_3</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>Sign_2</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_nistP256_AesGcm</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>SignAndEncrypt_3</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_nistP256_AesGcm</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>Sign_2</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_nistP256_ChaChaPoly</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>SignAndEncrypt_3</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_nistP256_ChaChaPoly</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>Sign_2</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_nistP384_AesGcm</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>SignAndEncrypt_3</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_nistP384_AesGcm</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>Sign_2</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_nistP384_ChaChaPoly</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>SignAndEncrypt_3</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_nistP384_ChaChaPoly</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>Sign_2</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_brainpoolP256r1_AesGcm</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>SignAndEncrypt_3</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_brainpoolP256r1_AesGcm</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>Sign_2</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_brainpoolP256r1_ChaChaPoly</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>SignAndEncrypt_3</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_brainpoolP256r1_ChaChaPoly</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>Sign_2</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_brainpoolP384r1_AesGcm</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>SignAndEncrypt_3</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_brainpoolP384r1_AesGcm</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>Sign_2</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_brainpoolP384r1_ChaChaPoly</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>SignAndEncrypt_3</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#ECC_brainpoolP384r1_ChaChaPoly</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>Sign_2</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#RSA_DH_AesGcm</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>SignAndEncrypt_3</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#RSA_DH_AesGcm</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>Sign_2</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#RSA_DH_ChaChaPoly</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>SignAndEncrypt_3</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#RSA_DH_ChaChaPoly</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
|
|
<ServerSecurityPolicy>
|
|
<SecurityMode>None_1</SecurityMode>
|
|
<SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#None</SecurityPolicyUri>
|
|
</ServerSecurityPolicy>
|
|
</SecurityPolicies>
|
|
<MinRequestThreadCount>5</MinRequestThreadCount>
|
|
<MaxRequestThreadCount>100</MaxRequestThreadCount>
|
|
<MaxQueuedRequestCount>2000</MaxQueuedRequestCount>
|
|
<!-- The SDK expects the server to support the same set of user tokens for every endpoint. -->
|
|
<UserTokenPolicies>
|
|
<!-- Allows anonymous users -->
|
|
<ua:UserTokenPolicy>
|
|
<ua:TokenType>Anonymous_0</ua:TokenType>
|
|
<!-- <ua:SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#None</ua:SecurityPolicyUri> -->
|
|
</ua:UserTokenPolicy>
|
|
<!-- Allows username/password -->
|
|
<ua:UserTokenPolicy>
|
|
<ua:TokenType>UserName_1</ua:TokenType>
|
|
<!-- passwords must be encrypted - this specifies what algorithm to use -->
|
|
<!-- if no algorithm is specified, the active security policy is used -->
|
|
<!-- <ua:SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256</ua:SecurityPolicyUri> -->
|
|
</ua:UserTokenPolicy>
|
|
<!-- Allows user certificates -->
|
|
<ua:UserTokenPolicy>
|
|
<ua:TokenType>Certificate_2</ua:TokenType>
|
|
<!-- certificate possession must be proven with a digital signature - this specifies what algorithm to use -->
|
|
<!-- if no algorithm is specified, the active security policy is used -->
|
|
<!-- <ua:SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256</ua:SecurityPolicyUri> -->
|
|
</ua:UserTokenPolicy>
|
|
</UserTokenPolicies>
|
|
<DiagnosticsEnabled>true</DiagnosticsEnabled>
|
|
<!-- Settings for CTT testing -->
|
|
<MaxSessionCount>75</MaxSessionCount>
|
|
<MaxChannelCount>1000</MaxChannelCount>
|
|
<MinSessionTimeout>10000</MinSessionTimeout>
|
|
<MaxSessionTimeout>3600000</MaxSessionTimeout>
|
|
<MaxBrowseContinuationPoints>10</MaxBrowseContinuationPoints>
|
|
<MaxQueryContinuationPoints>10</MaxQueryContinuationPoints>
|
|
<MaxHistoryContinuationPoints>100</MaxHistoryContinuationPoints>
|
|
<MaxRequestAge>600000</MaxRequestAge>
|
|
<MinPublishingInterval>50</MinPublishingInterval>
|
|
<MaxPublishingInterval>3600000</MaxPublishingInterval>
|
|
<PublishingResolution>50</PublishingResolution>
|
|
<MaxSubscriptionLifetime>3600000</MaxSubscriptionLifetime>
|
|
<MaxMessageQueueSize>100</MaxMessageQueueSize>
|
|
<MaxNotificationQueueSize>100</MaxNotificationQueueSize>
|
|
<MaxNotificationsPerPublish>1000</MaxNotificationsPerPublish>
|
|
<MinMetadataSamplingInterval>1000</MinMetadataSamplingInterval>
|
|
<AvailableSamplingRates>
|
|
<SamplingRateGroup>
|
|
<Start>5</Start>
|
|
<Increment>5</Increment>
|
|
<Count>20</Count>
|
|
</SamplingRateGroup>
|
|
<SamplingRateGroup>
|
|
<Start>100</Start>
|
|
<Increment>100</Increment>
|
|
<Count>4</Count>
|
|
</SamplingRateGroup>
|
|
<SamplingRateGroup>
|
|
<Start>500</Start>
|
|
<Increment>250</Increment>
|
|
<Count>2</Count>
|
|
</SamplingRateGroup>
|
|
<SamplingRateGroup>
|
|
<Start>1000</Start>
|
|
<Increment>500</Increment>
|
|
<Count>20</Count>
|
|
</SamplingRateGroup>
|
|
</AvailableSamplingRates>
|
|
<RegistrationEndpoint>
|
|
<ua:EndpointUrl>opc.tcp://localhost:4840</ua:EndpointUrl>
|
|
<ua:Server>
|
|
<ua:ApplicationUri>opc.tcp://localhost:4840</ua:ApplicationUri>
|
|
<ua:ApplicationType>DiscoveryServer_3</ua:ApplicationType>
|
|
<ua:DiscoveryUrls>
|
|
<ua:String>opc.tcp://localhost:4840</ua:String>
|
|
</ua:DiscoveryUrls>
|
|
</ua:Server>
|
|
<ua:SecurityMode>SignAndEncrypt_3</ua:SecurityMode>
|
|
<ua:SecurityPolicyUri />
|
|
<ua:UserIdentityTokens />
|
|
</RegistrationEndpoint>
|
|
<MaxRegistrationInterval>0</MaxRegistrationInterval>
|
|
<NodeManagerSaveFile>Quickstarts.ReferenceServer.nodes.xml</NodeManagerSaveFile>
|
|
<MinSubscriptionLifetime>10000</MinSubscriptionLifetime>
|
|
<MaxPublishRequestCount>20</MaxPublishRequestCount>
|
|
<MaxSubscriptionCount>100</MaxSubscriptionCount>
|
|
<MaxEventQueueSize>10000</MaxEventQueueSize>
|
|
<!-- see https://opcfoundation-onlineapplications.org/profilereporting/ for list of available profiles -->
|
|
<ServerProfileArray>
|
|
<ua:String>http://opcfoundation.org/UA-Profile/Server/StandardUA2017</ua:String>
|
|
<ua:String>http://opcfoundation.org/UA-Profile/Server/DataAccess</ua:String>
|
|
<ua:String>http://opcfoundation.org/UA-Profile/Server/Methods</ua:String>
|
|
<ua:String>http://opcfoundation.org/UA-Profile/Server/ReverseConnect</ua:String>
|
|
<ua:String>http://opcfoundation.org/UA-Profile/Server/ClientRedundancy</ua:String>
|
|
</ServerProfileArray>
|
|
<ShutdownDelay>5</ShutdownDelay>
|
|
<ServerCapabilities>
|
|
<ua:String>DA</ua:String>
|
|
<ua:String>GDS</ua:String>
|
|
</ServerCapabilities>
|
|
<SupportedPrivateKeyFormats>
|
|
<ua:String>PFX</ua:String>
|
|
<ua:String>PEM</ua:String>
|
|
</SupportedPrivateKeyFormats>
|
|
<MaxTrustListSize>0</MaxTrustListSize>
|
|
<MultiCastDnsEnabled>false</MultiCastDnsEnabled>
|
|
<!-- Reverse connection parameters for aggregation server sample -->
|
|
<!--
|
|
<ReverseConnect>
|
|
<Clients>
|
|
<ReverseConnectClient>
|
|
<EndpointUrl>opc.tcp://localhost:65300</EndpointUrl>
|
|
<MaxSessionCount>0</MaxSessionCount>
|
|
<Enabled>true</Enabled>
|
|
</ReverseConnectClient>
|
|
</Clients>
|
|
<ConnectInterval>15000</ConnectInterval>
|
|
<ConnectTimeout>30000</ConnectTimeout>
|
|
<RejectTimeout>60000</RejectTimeout>
|
|
</ReverseConnect>
|
|
-->
|
|
<OperationLimits>
|
|
<MaxNodesPerRead>2500</MaxNodesPerRead>
|
|
<MaxNodesPerHistoryReadData>1000</MaxNodesPerHistoryReadData>
|
|
<MaxNodesPerHistoryReadEvents>1000</MaxNodesPerHistoryReadEvents>
|
|
<MaxNodesPerWrite>2500</MaxNodesPerWrite>
|
|
<MaxNodesPerHistoryUpdateData>1000</MaxNodesPerHistoryUpdateData>
|
|
<MaxNodesPerHistoryUpdateEvents>1000</MaxNodesPerHistoryUpdateEvents>
|
|
<MaxNodesPerMethodCall>2500</MaxNodesPerMethodCall>
|
|
<MaxNodesPerBrowse>2500</MaxNodesPerBrowse>
|
|
<MaxNodesPerRegisterNodes>2500</MaxNodesPerRegisterNodes>
|
|
<MaxNodesPerTranslateBrowsePathsToNodeIds>2500</MaxNodesPerTranslateBrowsePathsToNodeIds>
|
|
<MaxNodesPerNodeManagement>2500</MaxNodesPerNodeManagement>
|
|
<MaxMonitoredItemsPerCall>2500</MaxMonitoredItemsPerCall>
|
|
</OperationLimits>
|
|
<AuditingEnabled>true</AuditingEnabled>
|
|
<HttpsMutualTls>true</HttpsMutualTls>
|
|
<DurableSubscriptionsEnabled>true</DurableSubscriptionsEnabled>
|
|
<MaxDurableNotificationQueueSize>10000</MaxDurableNotificationQueueSize>
|
|
<MaxDurableEventQueueSize>10000</MaxDurableEventQueueSize>
|
|
<MaxDurableSubscriptionLifetimeInHours>10</MaxDurableSubscriptionLifetimeInHours>
|
|
</ServerConfiguration>
|
|
<Extensions>
|
|
<ua:XmlElement>
|
|
<GlobalDiscoveryServerConfiguration xmlns="http://opcfoundation.org/UA/GDS/Configuration.xsd">
|
|
<AuthoritiesStorePath>%LocalApplicationData%/OPC Foundation/GDS/authorities</AuthoritiesStorePath>
|
|
<ApplicationCertificatesStorePath>%LocalApplicationData%/OPC Foundation/GDS/applications</ApplicationCertificatesStorePath>
|
|
<DefaultSubjectNameContext>O=OPC Foundation</DefaultSubjectNameContext>
|
|
<CertificateGroups>
|
|
<CertificateGroupConfiguration>
|
|
<Id>Default</Id>
|
|
<CertificateTypes>
|
|
<ua:String>RsaSha256ApplicationCertificateType</ua:String>
|
|
<ua:String>EccNistP256ApplicationCertificateType</ua:String>
|
|
<ua:String>EccNistP384ApplicationCertificateType</ua:String>
|
|
<ua:String>EccBrainpoolP256r1ApplicationCertificateType</ua:String>
|
|
<ua:String>EccBrainpoolP384r1ApplicationCertificateType</ua:String>
|
|
</CertificateTypes>
|
|
<SubjectName>CN=Reference Server CA, O=OPC Foundation</SubjectName>
|
|
<BaseStorePath>%LocalApplicationData%/OPC Foundation/GDS/CA/default</BaseStorePath>
|
|
<DefaultCertificateLifetime>12</DefaultCertificateLifetime>
|
|
<DefaultCertificateKeySize>2048</DefaultCertificateKeySize>
|
|
<DefaultCertificateHashSize>256</DefaultCertificateHashSize>
|
|
<CACertificateLifetime>60</CACertificateLifetime>
|
|
<CACertificateKeySize>4096</CACertificateKeySize>
|
|
<CACertificateHashSize>512</CACertificateHashSize>
|
|
</CertificateGroupConfiguration>
|
|
</CertificateGroups>
|
|
<KnownHostNames />
|
|
<DatabaseStorePath></DatabaseStorePath>
|
|
</GlobalDiscoveryServerConfiguration>
|
|
</ua:XmlElement>
|
|
<ua:XmlElement>
|
|
<MemoryBufferConfiguration xmlns="http://samples.org/UA/MemoryBuffer">
|
|
<Buffers>
|
|
<MemoryBufferInstance>
|
|
<Name>UInt32</Name>
|
|
<TagCount>100</TagCount>
|
|
<DataType>UInt32</DataType>
|
|
</MemoryBufferInstance>
|
|
<MemoryBufferInstance>
|
|
<Name>Double</Name>
|
|
<TagCount>100</TagCount>
|
|
<DataType>Double</DataType>
|
|
</MemoryBufferInstance>
|
|
</Buffers>
|
|
</MemoryBufferConfiguration>
|
|
</ua:XmlElement>
|
|
</Extensions>
|
|
<TraceConfiguration>
|
|
<OutputFilePath>./Logs/Quickstarts.ReferenceServer.log.txt</OutputFilePath>
|
|
<DeleteOnLoad>true</DeleteOnLoad>
|
|
<!-- Show Only Errors -->
|
|
<!-- <TraceMasks>1</TraceMasks> -->
|
|
<!-- Show Only Security and Errors -->
|
|
<!-- <TraceMasks>513</TraceMasks> -->
|
|
<!-- Show Only Security, Errors and Trace -->
|
|
<!-- <TraceMasks>515</TraceMasks> -->
|
|
<!-- Show Only Security, COM Calls, Errors and Trace -->
|
|
<!-- <TraceMasks>771</TraceMasks> -->
|
|
<!-- Show Only Security, Service Calls, Errors and Trace -->
|
|
<!-- <TraceMasks>523</TraceMasks> -->
|
|
<!-- Show Only Security, ServiceResultExceptions, Errors and Trace -->
|
|
<TraceMasks>519</TraceMasks>
|
|
</TraceConfiguration>
|
|
</ApplicationConfiguration>
|