Go to the documentation of this file.
26 #ifndef SOPC_USER_APP_ITF_H_
27 #define SOPC_USER_APP_ITF_H_
77 #define SOPC_SECURITY_MODE_NONE_MASK 0x01
78 #define SOPC_SECURITY_MODE_SIGN_MASK 0x02
79 #define SOPC_SECURITY_MODE_SIGNANDENCRYPT_MASK 0x04
80 #define SOPC_SECURITY_MODE_ANY_MASK 0x07
82 #ifndef SOPC_MAX_SECU_POLICIES_CFG
83 #define SOPC_MAX_SECU_POLICIES_CFG 5
87 #ifndef SOPC_MAX_CLIENT_SECURE_CONNECTIONS_CONFIG
88 #define SOPC_MAX_CLIENT_SECURE_CONNECTIONS_CONFIG SOPC_MAX_SECURE_CONNECTIONS
90 #if SOPC_MAX_CLIENT_SECURE_CONNECTIONS_CONFIG > UINT16_MAX
91 #error "Maximum number of secure connections configuration cannot be > UINT16_MAX"
509 #endif // SOPC_USER_APP_ITF_H_
bool isServerCertFromPathNeeded
Definition: sopc_user_app_itf.h:226
enum _OpcUa_UserTokenType OpcUa_UserTokenType
uint16_t secureConnectionIdx
Definition: sopc_user_app_itf.h:232
Server configuration of a Endpoint connection listener.
Definition: sopc_user_app_itf.h:137
This structure describes a basic NodeID in OPC UA.
Definition: sopc_builtintypes.h:187
struct SOPC_SecurityPolicy SOPC_SecurityPolicy
Endpoint security policy configuration.
char * clientCertPath
Definition: sopc_user_app_itf.h:243
char * reverseEndpointURLs[SOPC_MAX_CLIENT_SECURE_CONNECTIONS_CONFIG]
Definition: sopc_user_app_itf.h:284
bool finalized
Definition: sopc_user_app_itf.h:233
@ SE_SESSION_REACTIVATING
Definition: sopc_user_app_itf.h:390
OpcUa_UserTokenType userTokenType
Definition: sopc_user_app_itf.h:206
uint8_t nbSecuConfigs
Definition: sopc_user_app_itf.h:141
SOPC_Client_Config clientConfig
Definition: sopc_user_app_itf.h:363
uint32_t SOPC_SessionId
Session identifier type, instances are generated by SE_ACTIVATED_SESSION.
Definition: sopc_user_app_itf.h:369
Client temporary configuration structure used to store client certificate / key / PKI configuration d...
Definition: sopc_user_app_itf.h:242
uint16_t nbClientsToConnect
Definition: sopc_user_app_itf.h:158
Definition: sopc_types.h:921
const SOPC_Client_Config * clientConfigPtr
Definition: sopc_user_app_itf.h:53
uint32_t SOPC_StatusCode
Definition: libs2opc_client.h:60
SOPC_Session_UserName userName
Definition: sopc_user_app_itf.h:209
SOPC_SecretBuffer SOPC_SerializedAsymmetricKey
A serialized representation of an asymmetric key.
Definition: sopc_key_manager.h:44
@ SE_RCV_SESSION_RESPONSE
Definition: sopc_user_app_itf.h:395
Client configuration structure used to store session activation data for a user name token type.
Definition: sopc_user_app_itf.h:195
Defines the user manager, the applicative interface used to authenticate users, and authorize read/wr...
The SOPC_KeyManager provides an API for Asymmetric Key Management such as loading signed public keys ...
Definition: sopc_types.h:893
struct SOPC_Session_UserX509 SOPC_Session_UserX509
Client configuration structure used to store session activation data for an X509 user token type.
char * serverCertPath
Definition: sopc_user_app_itf.h:227
S2OPC configuration.
Definition: sopc_user_app_itf.h:361
OpcUa_ApplicationDescription serverDescription
Definition: sopc_user_app_itf.h:330
OpcUa_MessageSecurityMode
Definition: libs2opc_client.h:89
Definition: sopc_user_manager.h:157
struct SOPC_Endpoint_Config SOPC_Endpoint_Config
Server configuration of a Endpoint connection listener.
bool SOPC_CreateMI_NodeAvailFunc(const SOPC_NodeId *nodeId, OpcUa_NodeClass *outNodeClass, SOPC_StatusCode *outUnavailabilityStatus)
Type of the callback called by CreateMonitoredItem service when a NodeId is not already part of serve...
Definition: sopc_user_app_itf.h:313
SOPC_String securityPolicy
Definition: sopc_user_app_itf.h:100
char * userName
Definition: sopc_user_app_itf.h:196
Client configuration structure used to store session activation configuration data.
Definition: sopc_user_app_itf.h:204
SOPC_PKIProvider * clientPKI
Definition: sopc_user_app_itf.h:276
bool freeCstringsFlag
Definition: sopc_user_app_itf.h:322
struct SOPC_SecureChannel_Config SOPC_SecureChannel_Config
Client configuration of a Secure Channel.
void SOPC_S2OPC_Config_Initialize(SOPC_S2OPC_Config *config)
Initialize the content of the SOPC_S2OPC_Config. Calls both SOPC_ServerConfig_Initialize and SOPC_Cli...
@ SE_SND_REQUEST_FAILED
Definition: sopc_user_app_itf.h:411
uint8_t isClientSc
Definition: sopc_user_app_itf.h:51
@ SE_REVERSE_ENDPOINT_CLOSED
Definition: sopc_user_app_itf.h:377
bool hasDiscoveryEndpoint
Definition: sopc_user_app_itf.h:140
SOPC_Server_ClientToConnect clientsToConnect[SOPC_MAX_REVERSE_CLIENT_CONNECTIONS]
Definition: sopc_user_app_itf.h:160
bool isConfigFromPathsNeeded
Definition: sopc_user_app_itf.h:270
Defines abstract context type that can be use to obtain context associated to a service call (write,...
@ SE_SESSION_ACTIVATION_FAILURE
Definition: sopc_user_app_itf.h:381
SOPC_MethodCallManager * mcm
Definition: sopc_user_app_itf.h:346
const char * reverseURL
Definition: sopc_user_app_itf.h:224
struct SOPC_SecureConnection_Config SOPC_SecureConnection_Config
Structure representing a secure connection configuration (secure channel + session) which allow to es...
The SOPC_KeyCertPair stores a private key and certificate pair and allows to update it and triggering...
char * clientKeyPath
Definition: sopc_user_app_itf.h:245
#define SOPC_MAX_CLIENT_SECURE_CONNECTIONS_CONFIG
Definition: sopc_user_app_itf.h:88
Bytes buffer structure.
Definition: sopc_buffer.h:38
enum _OpcUa_NodeClass OpcUa_NodeClass
void SOPC_ServerConfig_Clear(SOPC_Server_Config *config)
Clear the content of the SOPC_Server_Config.
@ SE_CLOSED_ENDPOINT
Definition: sopc_user_app_itf.h:418
bool serverKeyEncrypted
Definition: sopc_user_app_itf.h:337
struct SOPC_Client_ConfigFromPaths SOPC_Client_ConfigFromPaths
Client temporary configuration structure used to store client certificate / key / PKI configuration d...
SOPC_CreateMI_NodeAvailFunc * nodeAvailFunc
Definition: sopc_user_app_itf.h:350
void SOPC_ClientConfig_Clear(SOPC_Client_Config *config)
Clear the content of the SOPC_Client_Config.
Definition: sopc_types.h:2434
SOPC_Server_Config serverConfig
Definition: sopc_user_app_itf.h:362
This structure provides string encapsulation.
Definition: sopc_builtintypes.h:149
SOPC_UserAuthentication_Manager * authenticationManager
Definition: sopc_user_app_itf.h:152
#define SOPC_MAX_SECU_POLICIES_CFG
Definition: sopc_user_app_itf.h:83
SOPC_PKIProvider * pki
Definition: sopc_user_app_itf.h:344
SOPC_Server_Config * serverConfigPtr
Definition: sopc_user_app_itf.h:138
uint8_t nbOfUserTokenPolicies
Definition: sopc_user_app_itf.h:102
const OpcUa_GetEndpointsResponse * expectedEndpoints
Definition: sopc_user_app_itf.h:57
struct SOPC_Server_ClientToConnect SOPC_Server_ClientToConnect
OPC UA server client to reverse connect configuration type. From specification part 6 (v1....
char * clientApplicationURI
Definition: sopc_user_app_itf.h:128
bool userKeyEncrypted
Definition: sopc_user_app_itf.h:173
union SOPC_Session_Config::@1 userToken
const char * reqSecuPolicyUri
Definition: sopc_user_app_itf.h:69
Definition: sopc_common_build_info.h:26
void SOPC_AddressSpaceNotif_Fct(const SOPC_CallContext *callCtxPtr, SOPC_App_AddSpace_Event event, void *opParam, SOPC_StatusCode opStatus)
Toolkit address space notification events callback type.
Definition: sopc_user_app_itf.h:451
void SOPC_ClientConfig_Initialize(SOPC_Client_Config *config)
Initialize the content of the SOPC_Client_Config.
SOPC_SecureConnection_Config * secureConnections[SOPC_MAX_CLIENT_SECURE_CONNECTIONS_CONFIG]
Definition: sopc_user_app_itf.h:280
uint16_t nbReverseEndpointURLs
Definition: sopc_user_app_itf.h:283
const char * url
Definition: sopc_user_app_itf.h:64
Definition: sopc_user_manager.h:148
uint8_t nbEndpoints
Definition: sopc_user_app_itf.h:339
@ SE_CLOSED_SESSION
Definition: sopc_user_app_itf.h:401
struct SOPC_KeyCertPair SOPC_KeyCertPair
An abstract structure used to store a pair of private key and certificate.
Definition: sopc_key_cert_pair.h:39
uint16_t securityModes
Definition: sopc_user_app_itf.h:101
Contains the types to be used by the method call manager to configure the Call service.
char * serverPkiPath
Definition: sopc_user_app_itf.h:338
uintptr_t internalProtocolData
Definition: sopc_user_app_itf.h:73
OpcUa_ApplicationDescription clientDescription
Definition: sopc_user_app_itf.h:257
char * serverKeyPath
Definition: sopc_user_app_itf.h:335
char * endpointURL
Definition: sopc_user_app_itf.h:139
OpcUa_UserTokenPolicy userTokenPolicies[SOPC_MAX_SECU_POLICIES_CFG]
Definition: sopc_user_app_itf.h:104
SOPC_SecurityPolicy secuConfigurations[SOPC_MAX_SECU_POLICIES_CFG]
Definition: sopc_user_app_itf.h:143
@ AS_WRITE_EVENT
Definition: sopc_user_app_itf.h:438
SOPC_Endpoint_Config * endpoints
Definition: sopc_user_app_itf.h:340
const char * userPolicyId
Definition: sopc_user_app_itf.h:205
uint16_t nbSecureConnections
Definition: sopc_user_app_itf.h:278
Client temporary configuration structure used to store user X509 configuration data from paths....
Definition: sopc_user_app_itf.h:169
SOPC_SecureChannel_Config scConfig
Definition: sopc_user_app_itf.h:223
SOPC_App_Com_Event
Client and Server communication events to be managed by applicative code.
Definition: sopc_user_app_itf.h:375
struct SOPC_Session_Config SOPC_Session_Config
Client configuration structure used to store session activation configuration data.
char ** clientLocaleIds
Definition: sopc_user_app_itf.h:265
SOPC_Session_UserX509_ConfigFromPaths * configFromPaths
Definition: sopc_user_app_itf.h:186
SOPC_SerializedCertificate * certX509
Definition: sopc_user_app_itf.h:181
Client configuration of a Secure Channel.
Definition: sopc_user_app_itf.h:50
char * userPwd
Definition: sopc_user_app_itf.h:197
uint32_t requestedLifetime
Definition: sopc_user_app_itf.h:70
Endpoint security policy configuration.
Definition: sopc_user_app_itf.h:99
const SOPC_SerializedCertificate * peerAppCert
Definition: sopc_user_app_itf.h:66
OpcUa_MessageSecurityMode msgSecurityMode
Definition: sopc_user_app_itf.h:71
SOPC_Client_ConfigFromPaths * configFromPaths
Definition: sopc_user_app_itf.h:271
void SOPC_ComEvent_Fct(SOPC_App_Com_Event event, uint32_t IdOrStatus, void *param, uintptr_t appContext)
Toolkit communication events application callback type.
Definition: sopc_user_app_itf.h:446
char * userKeyPath
Definition: sopc_user_app_itf.h:172
SOPC_KeyCertPair * clientKeyCertPair
Definition: sopc_user_app_itf.h:275
char ** localeIds
Definition: sopc_user_app_itf.h:327
bool freeCstringsFlag
Definition: sopc_user_app_itf.h:263
struct SOPC_Session_UserName SOPC_Session_UserName
Client configuration structure used to store session activation data for a user name token type.
const char * serverUri
Definition: sopc_user_app_itf.h:60
SOPC_App_AddSpace_Event
Server address space access/modification notifications to applicative code.
Definition: sopc_user_app_itf.h:436
bool noListening
Definition: sopc_user_app_itf.h:157
The SOPC_MethodCallManager object defines the common interface for the method manager.
Definition: sopc_call_method_manager.h:113
SOPC_SerializedAsymmetricKey * keyX509
Definition: sopc_user_app_itf.h:182
Structure representing a secure connection configuration (secure channel + session) which allow to es...
Definition: sopc_user_app_itf.h:220
Definition: app_cb_call_context_internal.h:28
@ SE_ACTIVATED_SESSION
Definition: sopc_user_app_itf.h:386
char ** namespaces
Definition: sopc_user_app_itf.h:324
Client configuration structure used to store session activation data for an X509 user token type.
Definition: sopc_user_app_itf.h:180
@ SE_RCV_DISCOVERY_RESPONSE
Definition: sopc_user_app_itf.h:406
char * clientEndpointURL
Definition: sopc_user_app_itf.h:130
const char * userDefinedId
Definition: sopc_user_app_itf.h:221
bool clientKeyEncrypted
Definition: sopc_user_app_itf.h:247
OPC UA client configuration structure.
Definition: sopc_user_app_itf.h:255
SOPC_UserAuthorization_Manager * authorizationManager
Definition: sopc_user_app_itf.h:154
SOPC_KeyCertPair * serverKeyCertPair
Definition: sopc_user_app_itf.h:343
struct SOPC_PKIProvider SOPC_PKIProvider
Definition: sopc_crypto_decl.h:38
bool isConfigFromPathNeeded
Definition: sopc_user_app_itf.h:184
Defines the cryptographic profiles: constants and struct.
char * clientPkiPath
Definition: sopc_user_app_itf.h:248
OPC UA server client to reverse connect configuration type. From specification part 6 (v1....
Definition: sopc_user_app_itf.h:127
@ SE_LOCAL_SERVICE_RESPONSE
Definition: sopc_user_app_itf.h:422
void SOPC_ServerConfig_Initialize(SOPC_Server_Config *config)
Initialize the content of the SOPC_Server_Config.
SOPC_Session_UserX509 userX509
Definition: sopc_user_app_itf.h:210
struct SOPC_Session_UserX509_ConfigFromPaths SOPC_Session_UserX509_ConfigFromPaths
Client temporary configuration structure used to store user X509 configuration data from paths....
struct SOPC_S2OPC_Config SOPC_S2OPC_Config
S2OPC configuration.
SOPC_Session_Config sessionConfig
Definition: sopc_user_app_itf.h:230
char * serverCertPath
Definition: sopc_user_app_itf.h:333
char * userCertPath
Definition: sopc_user_app_itf.h:170
void SOPC_S2OPC_Config_Clear(SOPC_S2OPC_Config *config)
Clear the content of the SOPC_S2OPC_Config Calls both SOPC_ServerConfig_Clear and SOPC_ClientConfig_C...
OPC UA server configuration structure.
Definition: sopc_user_app_itf.h:321