|
#define | UA_SECURECHANNEL_MESSAGEHEADER_LENGTH 8 |
|
#define | UA_SECURECHANNEL_CHANNELHEADER_LENGTH 12 |
|
#define | UA_SECURECHANNEL_SYMMETRIC_SECURITYHEADER_LENGTH 4 |
|
#define | UA_SECURECHANNEL_SEQUENCEHEADER_LENGTH 8 |
|
#define | UA_SECURECHANNEL_SYMMETRIC_HEADER_UNENCRYPTEDLENGTH |
|
#define | UA_SECURECHANNEL_SYMMETRIC_HEADER_TOTALLENGTH |
|
#define | UA_SECURECHANNEL_MESSAGE_MIN_LENGTH 16 |
|
#define | UA_LOG_TRACE_CHANNEL_INTERNAL(LOGGER, CHANNEL, MSG, ...) |
|
#define | UA_LOG_TRACE_CHANNEL(LOGGER, CHANNEL, ...) UA_MACRO_EXPAND(UA_LOG_TRACE_CHANNEL_INTERNAL(LOGGER, CHANNEL, __VA_ARGS__, "")) |
|
#define | UA_LOG_DEBUG_CHANNEL_INTERNAL(LOGGER, CHANNEL, MSG, ...) |
|
#define | UA_LOG_DEBUG_CHANNEL(LOGGER, CHANNEL, ...) UA_MACRO_EXPAND(UA_LOG_DEBUG_CHANNEL_INTERNAL(LOGGER, CHANNEL, __VA_ARGS__, "")) |
|
#define | UA_LOG_INFO_CHANNEL_INTERNAL(LOGGER, CHANNEL, MSG, ...) |
|
#define | UA_LOG_INFO_CHANNEL(LOGGER, CHANNEL, ...) UA_MACRO_EXPAND(UA_LOG_INFO_CHANNEL_INTERNAL(LOGGER, CHANNEL, __VA_ARGS__, "")) |
|
#define | UA_LOG_WARNING_CHANNEL_INTERNAL(LOGGER, CHANNEL, MSG, ...) |
|
#define | UA_LOG_WARNING_CHANNEL(LOGGER, CHANNEL, ...) UA_MACRO_EXPAND(UA_LOG_WARNING_CHANNEL_INTERNAL(LOGGER, CHANNEL, __VA_ARGS__, "")) |
|
#define | UA_LOG_ERROR_CHANNEL_INTERNAL(LOGGER, CHANNEL, MSG, ...) |
|
#define | UA_LOG_ERROR_CHANNEL(LOGGER, CHANNEL, ...) UA_MACRO_EXPAND(UA_LOG_ERROR_CHANNEL_INTERNAL(LOGGER, CHANNEL, __VA_ARGS__, "")) |
|
#define | UA_LOG_FATAL_CHANNEL_INTERNAL(LOGGER, CHANNEL, MSG, ...) |
|
#define | UA_LOG_FATAL_CHANNEL(LOGGER, CHANNEL, ...) UA_MACRO_EXPAND(UA_LOG_FATAL_CHANNEL_INTERNAL(LOGGER, CHANNEL, __VA_ARGS__, "")) |
|
|
typedef | SIMPLEQ_HEAD (UA_ChunkQueue, UA_Chunk) UA_ChunkQueue |
|
void | UA_SecureChannel_init (UA_SecureChannel *channel, const UA_ConnectionConfig *config) |
|
void | UA_SecureChannel_close (UA_SecureChannel *channel) |
|
UA_StatusCode | UA_SecureChannel_processHELACK (UA_SecureChannel *channel, const UA_TcpAcknowledgeMessage *remoteConfig) |
|
UA_StatusCode | UA_SecureChannel_setSecurityPolicy (UA_SecureChannel *channel, const UA_SecurityPolicy *securityPolicy, const UA_ByteString *remoteCertificate) |
|
void | UA_SecureChannel_deleteBuffered (UA_SecureChannel *channel) |
|
UA_StatusCode | UA_SecureChannel_generateLocalNonce (UA_SecureChannel *channel) |
|
UA_StatusCode | UA_SecureChannel_generateLocalKeys (const UA_SecureChannel *channel) |
|
UA_StatusCode | generateRemoteKeys (const UA_SecureChannel *channel) |
|
UA_StatusCode | UA_SecureChannel_sendAsymmetricOPNMessage (UA_SecureChannel *channel, UA_UInt32 requestId, const void *content, const UA_DataType *contentType) |
|
UA_StatusCode | UA_SecureChannel_sendSymmetricMessage (UA_SecureChannel *channel, UA_UInt32 requestId, UA_MessageType messageType, void *payload, const UA_DataType *payloadType) |
|
UA_StatusCode | UA_MessageContext_begin (UA_MessageContext *mc, UA_SecureChannel *channel, UA_UInt32 requestId, UA_MessageType messageType) |
|
UA_StatusCode | UA_MessageContext_encode (UA_MessageContext *mc, const void *content, const UA_DataType *contentType) |
|
UA_StatusCode | UA_MessageContext_finish (UA_MessageContext *mc) |
|
void | UA_MessageContext_abort (UA_MessageContext *mc) |
|
UA_StatusCode | UA_SecureChannel_processBuffer (UA_SecureChannel *channel, void *application, UA_ProcessMessageCallback callback, const UA_ByteString *buffer) |
|
UA_StatusCode | UA_SecureChannel_receive (UA_SecureChannel *channel, void *application, UA_ProcessMessageCallback callback, UA_UInt32 timeout) |
|
void | hideBytesAsym (const UA_SecureChannel *channel, UA_Byte **buf_start, const UA_Byte **buf_end) |
|
UA_StatusCode | decryptAndVerifyChunk (const UA_SecureChannel *channel, const UA_SecurityPolicyCryptoModule *cryptoModule, UA_MessageType messageType, UA_ByteString *chunk, size_t offset) |
|
size_t | calculateAsymAlgSecurityHeaderLength (const UA_SecureChannel *channel) |
|
UA_StatusCode | prependHeadersAsym (UA_SecureChannel *const channel, UA_Byte *header_pos, const UA_Byte *buf_end, size_t totalLength, size_t securityHeaderLength, UA_UInt32 requestId, size_t *const finalLength) |
|
void | setBufPos (UA_MessageContext *mc) |
|
UA_StatusCode | checkSymHeader (UA_SecureChannel *channel, const UA_UInt32 tokenId) |
|
UA_StatusCode | checkAsymHeader (UA_SecureChannel *channel, const UA_AsymmetricAlgorithmSecurityHeader *asymHeader) |
|
void | padChunk (UA_SecureChannel *channel, const UA_SecurityPolicyCryptoModule *cm, const UA_Byte *start, UA_Byte **pos) |
|
UA_StatusCode | signAndEncryptAsym (UA_SecureChannel *channel, size_t preSignLength, UA_ByteString *buf, size_t securityHeaderLength, size_t totalLength) |
|
UA_StatusCode | signAndEncryptSym (UA_MessageContext *messageContext, size_t preSigLength, size_t totalLength) |
|
#define UA_SECURECHANNEL_MESSAGEHEADER_LENGTH 8 |
This Source Code Form is subject to the terms of the Mozilla Public License, v.
2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
Copyright 2014-2020 (c) Fraunhofer IOSB (Author: Julius Pfrommer) Copyright 2017 (c) Florian Palm Copyright 2017 (c) Stefan Profanter, fortiss GmbH Copyright 2017 (c) Mark Giraud, Fraunhofer IOSB The message header of the OPC UA binary protocol is structured as follows:
- MessageType (3 Byte)
- IsFinal (1 Byte)
- MessageSize (4 Byte) *** UA_SECURECHANNEL_MESSAGEHEADER_LENGTH ***
- SecureChannelId (4 Byte) *** UA_SECURECHANNEL_CHANNELHEADER_LENGTH ***
- SecurityHeader (4 Byte TokenId for symmetric, otherwise dynamic length)
- SequenceHeader (8 Byte)
Definition at line 39 of file ua_securechannel.h.