secure_channel.h
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 #ifndef __OPC_UA_MESSAGES_SECURE_CHANNEL_H__
00012 #define __OPC_UA_MESSAGES_SECURE_CHANNEL_H__
00013 
00014 #include <opc/ua/protocol/types.h>
00015 
00016 namespace OpcUa
00017 {
00018   // OpenSecureChannel
00019   // os << SecureHeader 
00020   //    << AssymmetricAlgoripthmHeader
00021   //    << SequenceHeader
00022   //    << NodeId << ExpandedNodeId // if present
00023   //    << RequestHeader
00024   //    << OpenSecureChannel
00025 
00026   struct OpenSecureChannelParameters
00027   {
00028     uint32_t ClientProtocolVersion;
00029     SecurityTokenRequestType RequestType;
00030     MessageSecurityMode SecurityMode;
00031     std::vector<uint8_t> ClientNonce;
00032     uint32_t RequestLifeTime;
00033 
00034     OpenSecureChannelParameters();
00035   };
00036 
00037   struct OpenSecureChannelRequest
00038   {
00039     ExpandedNodeId TypeId;
00040     RequestHeader Header;
00041     OpenSecureChannelParameters Parameters;
00042 
00043     OpenSecureChannelRequest();
00044   };
00045 
00046   
00047   // OpenSecureChannelResponse
00048   // is >> SecureHeader 
00049   //    >> AsymmetricAlgorithmHeader 
00050   //    >> SequenceHeader 
00051   //    >> ResponseHeader
00052   //    >> GetEndpointsResponse
00053 
00054   struct SecurityToken
00055   {
00056     uint32_t SecureChannelId;
00057     uint32_t TokenId;
00058     DateTime CreatedAt;
00059     int32_t RevisedLifetime;
00060 
00061     SecurityToken()
00062       : SecureChannelId(0)
00063       , TokenId(0)
00064       , CreatedAt(0)
00065       , RevisedLifetime(0)
00066     {
00067     }
00068   };
00069 
00070   struct OpenSecureChannelResponse
00071   {
00072     NodeId TypeId;
00073     ResponseHeader Header;
00074 
00075     uint32_t ServerProtocolVersion;
00076     SecurityToken ChannelSecurityToken;
00077     std::vector<uint8_t> ServerNonce;
00078 
00079     OpenSecureChannelResponse();
00080   };
00081 
00082   struct CloseSecureChannelRequest
00083   {
00084     NodeId TypeId;
00085     RequestHeader Header;
00086 
00087     CloseSecureChannelRequest();
00088   };
00089 
00090 } // namespace OpcUa
00091 
00092 #endif // __OPC_UA_MESSAGES_SECURE_CHANNEL_H__
00093 


ros_opcua_impl_freeopcua
Author(s): Denis Štogl
autogenerated on Sat Jun 8 2019 18:24:56