| 231 | self._policyIDs = policyIDs |
| 232 | |
| 233 | def _setup_server_nodes(self): |
| 234 | # to be called just before starting server since it needs all parameters to be setup |
| 235 | if ua.SecurityPolicyType.NoSecurity in self._security_policy: |
| 236 | self._set_endpoints() |
| 237 | self._policies = [ua.SecurityPolicyFactory()] |
| 238 | |
| 239 | if self._security_policy != [ua.SecurityPolicyType.NoSecurity]: |
| 240 | if not (self.certificate and self.private_key): |
| 241 | self.logger.warning("Endpoints other than open requested but private key and certificate are not set.") |
| 242 | return |
| 243 | |
| 244 | if ua.SecurityPolicyType.NoSecurity in self._security_policy: |
| 245 | self.logger.warning("Creating an open endpoint to the server, although encrypted endpoints are enabled.") |
| 246 | |
| 247 | if ua.SecurityPolicyType.Basic256Sha256_SignAndEncrypt in self._security_policy: |
| 248 | self._set_endpoints(security_policies.SecurityPolicyBasic256Sha256, |
| 249 | ua.MessageSecurityMode.SignAndEncrypt) |
| 250 | self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256Sha256, |
| 251 | ua.MessageSecurityMode.SignAndEncrypt, |
| 252 | self.certificate, |
| 253 | self.private_key) |
| 254 | ) |
| 255 | if ua.SecurityPolicyType.Basic256Sha256_Sign in self._security_policy: |
| 256 | self._set_endpoints(security_policies.SecurityPolicyBasic256Sha256, |
| 257 | ua.MessageSecurityMode.Sign) |
| 258 | self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256Sha256, |
| 259 | ua.MessageSecurityMode.Sign, |
| 260 | self.certificate, |
| 261 | self.private_key) |
| 262 | ) |
| 263 | |
| 264 | def _set_endpoints(self, policy=ua.SecurityPolicy, mode=ua.MessageSecurityMode.None_): |
| 265 | idtokens = [] |