C++ Based OPC UA Client/Server SDK  1.5.5.355
UaEndpoint Class Reference

UaEndpoint. More...

#include <uaendpoint.h>

Inherits UaPkiProviderCertificateValidationCallback.

Inherited by UaEndpointIni, and UaEndpointXml.

Public Member Functions

 UaEndpoint ()
 construction
 
 UaEndpoint (const UaEndpoint &other)
 construction More...
 
virtual ~UaEndpoint ()
 destruction
 
UaEndpointoperator= (const UaEndpoint &other)
 Implements the operator = for UaEndpoint. More...
 
UaStatus setSerializerType (OpcUa_Endpoint_SerializerType eSerializerType)
 Set the serializer type used for the endpoint. More...
 
OpcUa_Endpoint_SerializerType eSerializerType () const
 Get the serializer type used for the endpoint. More...
 
void setEndpointUrl (UaString sEndpointUrl, OpcUa_Boolean useAlsoAsStackUrl)
 Set the URL used for the endpoint. More...
 
UaString sEndpointUrl () const
 Get the URL used for the endpoint. More...
 
void setStackEndpointUrl (UaString sStackEndpointUrl)
 Set the URL for the Endpoint used for the stack. More...
 
UaStatus addSecuritySetting (const UaEndpointSecuritySetting &endpointSecuritySetting)
 Add a security setting to the endpoint. More...
 
const
UaEndpointSecuritySettingArray
securitySettings () const
 Get the list of security settings. More...
 
OpcUa_Handle hPKIConfig () const
 Get the handle to the PKI configuration. More...
 
UaPkiProviderpkiProvider () const
 Get the PKI provider. More...
 
void setEndpointHandle (OpcUa_Endpoint endpoint)
 Set the Endpoint handle for the Endpoint opened with the stack. More...
 
OpcUa_Endpoint endpointHandle () const
 Get the URL used for the endpoint. More...
 
void setIsVisible (OpcUa_Boolean isVisible)
 Set the flag that indicates if the endpoint is contained in GetEndpoints. More...
 
OpcUa_Boolean isVisible () const
 Get the flag that indicates if the endpoint is contained in GetEndpoints. More...
 
void setIsDiscoveryUrl (OpcUa_Boolean isDiscoveryUrl)
 Set the flag that indicates if the endpoint URL is provided as discovery URL. More...
 
OpcUa_Boolean isDiscoveryUrl () const
 Get the flag that indicates if the endpoint URL is provided as discovery URL. More...
 
void setAutomaticallyTrustAllClientCertificates (OpcUa_Boolean automaticTrust)
 Sets the endpoint to automatically trust all client certificates. More...
 
OpcUa_Boolean automaticallyTrustAllClientCertificates () const
 Get the flag that indicates if the endpoint automatically trusts all client certificates. More...
 
void setCreateSignatureWithChain (OpcUa_Boolean createSignatureWithChain)
 Sets the endpoint to calculate the server signature using the certificate chain if available. More...
 
OpcUa_Boolean createSignatureWithChain () const
 Get the flag that indicates if the endpoint uses a certificate chain to calculate the server signature. More...
 
void setDisableApplicationUriCheck (OpcUa_Boolean disableApplicationUriCheck)
 Flag used to disable the ApplicationUri match check between client certificate and parameter in CreateSession. More...
 
OpcUa_Boolean disableApplicationUriCheck () const
 Returns the flag used to disable the ApplicationUri match check between client certificate and parameter in CreateSession.
 
void setDisableUserTokenPolicyIdCheck (OpcUa_Boolean disableUserTokenPolicyIdCheck)
 Flag used to disable the UserToken PolicyId check in ActivateSession. More...
 
OpcUa_Boolean disableUserTokenPolicyIdCheck () const
 Returns the flag used to disable the UserToken PolicyId check in ActivateSession.
 
void setDisableNonceLengthCheck (OpcUa_Boolean disableNonceLengthCheck)
 Flag used to disable the client nonce length check in CreateSession. More...
 
void setDisableErrorCertificateTimeInvalid (OpcUa_Boolean disableErrorCertificateTimeInvalid)
 Flag used to disable the client certificate validation error BadCertificateTimeInvalid. More...
 
void setDisableErrorCertificateIssuerTimeInvalid (OpcUa_Boolean disableErrorCertificateIssuerTimeInvalid)
 Flag used to disable the client certificate validation error BadCertificateIssuerTimeInvalid. More...
 
void setDisableErrorCertificateRevocationUnknown (OpcUa_Boolean disableErrorCertificateRevocationUnknown)
 Flag used to disable the client certificate validation error BadCertificateRevocationUnknown. More...
 
void setDisableErrorCertificateIssuerRevocationUnknown (OpcUa_Boolean disableErrorCertificateIssuerRevocationUnknown)
 Flag used to disable the client certificate validation error BadCertificateIssuerRevocationUnknown. More...
 
void setIsTransparentRedundant (OpcUa_Boolean isTransparentRedundant)
 Set the flag that indicates if the endpoint support transparent redundancy. More...
 
OpcUa_Boolean isTransparentRedundant () const
 Get the flag that indicates if the endpoint support transparent redundancy. More...
 
OpcUa_UInt32 endpointCertificateStoreIndex () const
 Returns the index of the CertificateSore used for the endpoint.
 
CertificateStoreConfigurationpEndpointCertificateStore () const
 Returns the CertificateStoreConfiguration object for the endpoint.
 
CertificateConfigurationpEndpointCertificateSettings () const
 Returns the CertificateConfiguration object for the endpoint.
 
UaStatus loadCertificate ()
 Load the configured certificate. More...
 
virtual bool certificateVerificationError (OpcUa_Void *pvVerifyContext, const UaByteString &certificateChain, OpcUa_StatusCode uVerificationResult, OpcUa_UInt32 uDepth)
 Callback method to inform about errors during certificate validation. More...
 

Detailed Description

UaEndpoint.

Container class for optimized handling of OPC UA Endpoint description data. The list of endpoints is used by the SDK to open the endpoints in the UA ANSI C Stack when the UA Module is started with UaModule::startUp. For each endpoint in the list the method OpcUa_Endpoint_Open is called in the UA ANSI C Stack. The list is also used to return the list of endpoint descriptions in the UA Service implementation for GetEndpoints. In this case the Service returns multiple endpoint description for each endpoint if more than one security policy or more than one security mode is set.

Constructor & Destructor Documentation

UaEndpoint::UaEndpoint ( const UaEndpoint other)

construction

Parameters
otherthe UaEndpoint to assign.

Member Function Documentation

UaStatus UaEndpoint::addSecuritySetting ( const UaEndpointSecuritySetting endpointSecuritySetting)

Add a security setting to the endpoint.

Parameters
endpointSecuritySettingsecurity setting from the endpoint.
Returns
Error code
OpcUa_Boolean UaEndpoint::automaticallyTrustAllClientCertificates ( ) const

Get the flag that indicates if the endpoint automatically trusts all client certificates.

This option can be activated if certificates are used only for message security but not for application authentication. If set to true, all client certificates will be accepted automatically and they are not stored. It is strongly recommended to use this option only together with user authentication.

bool UaEndpoint::certificateVerificationError ( OpcUa_Void *  pvVerifyContext,
const UaByteString certificateChain,
OpcUa_StatusCode  uVerificationResult,
OpcUa_UInt32  uDepth 
)
virtual

Callback method to inform about errors during certificate validation.

Returns
true if a certificate validation error should be ignored, false otherwise. If an error is ignored, validation continues, otherwise verification will be stopped.

Implements UaPkiProviderCertificateValidationCallback.

OpcUa_Boolean UaEndpoint::createSignatureWithChain ( ) const

Get the flag that indicates if the endpoint uses a certificate chain to calculate the server signature.

For calculating the server signature the server needs to append the client certificate to the client nonce. If the client sends a certificate chain the server should only use the leaf certificate to calculate the server signature. With this setting the server uses the complete certificate chain instead. This is not the recommandded behaviour. Only set this flag to workaround interoperability issues with misbehaving clients.

OpcUa_Endpoint UaEndpoint::endpointHandle ( ) const
inline

Get the URL used for the endpoint.

OpcUa_Endpoint_SerializerType UaEndpoint::eSerializerType ( ) const
inline

Get the serializer type used for the endpoint.

Returns
Serializer type.
See also
setSerializerType
OpcUa_Handle UaEndpoint::hPKIConfig ( ) const

Get the handle to the PKI configuration.

Returns
a handle to the Endpoint
OpcUa_Boolean UaEndpoint::isDiscoveryUrl ( ) const

Get the flag that indicates if the endpoint URL is provided as discovery URL.

OpcUa_Boolean UaEndpoint::isTransparentRedundant ( ) const

Get the flag that indicates if the endpoint support transparent redundancy.

OpcUa_Boolean UaEndpoint::isVisible ( ) const

Get the flag that indicates if the endpoint is contained in GetEndpoints.

UaStatus UaEndpoint::loadCertificate ( )

Load the configured certificate.

Returns
Result code for the load operation
UaEndpoint & UaEndpoint::operator= ( const UaEndpoint other)

Implements the operator = for UaEndpoint.

Parameters
otherthe UaEndpoint to assign.
Returns
Assignment operator.
UaPkiProvider * UaEndpoint::pkiProvider ( ) const

Get the PKI provider.

Returns
the PKI provider of the Endpoint
const UaEndpointSecuritySettingArray& UaEndpoint::securitySettings ( ) const
inline

Get the list of security settings.

Returns
List of security settings.
See also
addSecuritySetting
UaString UaEndpoint::sEndpointUrl ( ) const
inline

Get the URL used for the endpoint.

void UaEndpoint::setAutomaticallyTrustAllClientCertificates ( OpcUa_Boolean  automaticTrust)

Sets the endpoint to automatically trust all client certificates.

This option can be activated if certificates are used only for message security but not for application authentication. If set to true, all client certificates will be accepted automatically and they are not stored. It is stronly recommended to use this option only together with user authentication.

void UaEndpoint::setCreateSignatureWithChain ( OpcUa_Boolean  createSignatureWithChain)

Sets the endpoint to calculate the server signature using the certificate chain if available.

For calculating the server signature the server needs to append the client certificate to the client nonce. If the client sends a certificate chain the server should only use the leaf certificate to calculate the server signature. With this setting the server uses the complete certificate chain instead. This is not the recommandded behaviour. Only set this flag to workaround interoperability issues with misbehaving clients.

void UaEndpoint::setDisableApplicationUriCheck ( OpcUa_Boolean  disableApplicationUriCheck)

Flag used to disable the ApplicationUri match check between client certificate and parameter in CreateSession.

The check is required for compliant OPC UA servers but older clients may provide a wrong ApplicationUri.

Default value is OpcUa_False.

void UaEndpoint::setDisableErrorCertificateIssuerRevocationUnknown ( OpcUa_Boolean  disableErrorCertificateIssuerRevocationUnknown)

Flag used to disable the client certificate validation error BadCertificateIssuerRevocationUnknown.

Default value is OpcUa_False.

void UaEndpoint::setDisableErrorCertificateIssuerTimeInvalid ( OpcUa_Boolean  disableErrorCertificateIssuerTimeInvalid)

Flag used to disable the client certificate validation error BadCertificateIssuerTimeInvalid.

Default value is OpcUa_False.

void UaEndpoint::setDisableErrorCertificateRevocationUnknown ( OpcUa_Boolean  disableErrorCertificateRevocationUnknown)

Flag used to disable the client certificate validation error BadCertificateRevocationUnknown.

Default value is OpcUa_False.

void UaEndpoint::setDisableErrorCertificateTimeInvalid ( OpcUa_Boolean  disableErrorCertificateTimeInvalid)

Flag used to disable the client certificate validation error BadCertificateTimeInvalid.

Default value is OpcUa_False.

void UaEndpoint::setDisableNonceLengthCheck ( OpcUa_Boolean  disableNonceLengthCheck)

Flag used to disable the client nonce length check in CreateSession.

The check is required for compliant OPC UA servers but older clients may provide a client nonce that is shorter than the required 32 bytes.

Default value is OpcUa_False.

void UaEndpoint::setDisableUserTokenPolicyIdCheck ( OpcUa_Boolean  disableUserTokenPolicyIdCheck)

Flag used to disable the UserToken PolicyId check in ActivateSession.

The check is required for compliant OPC UA servers but older clients may not provide the UserToken PolicyId.

Default value is OpcUa_False.

void UaEndpoint::setEndpointHandle ( OpcUa_Endpoint  endpoint)

Set the Endpoint handle for the Endpoint opened with the stack.

void UaEndpoint::setEndpointUrl ( UaString  sEndpointUrl,
OpcUa_Boolean  useAlsoAsStackUrl 
)

Set the URL used for the endpoint.

Parameters
sEndpointUrlthe URL used for the endpoint.
useAlsoAsStackUrltrue if also used false if not.
void UaEndpoint::setIsDiscoveryUrl ( OpcUa_Boolean  isDiscoveryUrl)

Set the flag that indicates if the endpoint URL is provided as discovery URL.

void UaEndpoint::setIsTransparentRedundant ( OpcUa_Boolean  isTransparentRedundant)

Set the flag that indicates if the endpoint support transparent redundancy.

void UaEndpoint::setIsVisible ( OpcUa_Boolean  isVisible)

Set the flag that indicates if the endpoint is contained in GetEndpoints.

UaStatus UaEndpoint::setSerializerType ( OpcUa_Endpoint_SerializerType  eSerializerType)

Set the serializer type used for the endpoint.

Parameters
eSerializerTypeSerializer type enumeration value. Possible enumeration values are OpcUa_Endpoint_SerializerType_Binary OpcUa_Endpoint_SerializerType_Xml
Returns
Error code
void UaEndpoint::setStackEndpointUrl ( UaString  sStackEndpointUrl)

Set the URL for the Endpoint used for the stack.

This URL allows to define a specific address the stack should use to bind to.

Parameters
sStackEndpointUrlthe URL for the Endpoint used for the stack.

The documentation for this class was generated from the following files: