Convert OPC UA secure message to binary. The only supported types are SecureOpen, SecureMessage, SecureClose if message_type is SecureMessage, the AlgoritmHeader should be passed as arg
(self, message, message_type=ua.MessageType.SecureMessage, request_id=0)
| 229 | self.security_policy.make_local_symmetric_key(self.remote_nonce, self.local_nonce) |
| 230 | |
| 231 | def message_to_binary(self, message, message_type=ua.MessageType.SecureMessage, request_id=0): |
| 232 | """ |
| 233 | Convert OPC UA secure message to binary. |
| 234 | The only supported types are SecureOpen, SecureMessage, SecureClose |
| 235 | if message_type is SecureMessage, the AlgoritmHeader should be passed as arg |
| 236 | """ |
| 237 | chunks = MessageChunk.message_to_chunks(self.security_policy, message, self._max_chunk_size, message_type=message_type, channel_id=self.security_token.ChannelId, request_id=request_id, token_id=self.security_token.TokenId) |
| 238 | for chunk in chunks: |
| 239 | self._sequence_number += 1 |
| 240 | if self._sequence_number >= (1 << 32): |
| 241 | logger.debug("Wrapping sequence number: %d -> 1", self._sequence_number) |
| 242 | self._sequence_number = 1 |
| 243 | chunk.SequenceHeader.SequenceNumber = self._sequence_number |
| 244 | return b"".join([chunk.to_binary() for chunk in chunks]) |
| 245 | |
| 246 | def _check_sym_header(self, securityHeader): |
| 247 | """ |
no test coverage detected