MCPcopy Create free account
hub / github.com/FreeOpcUa/python-opcua / activate_session

Method activate_session

opcua/client/client.py:437–464  ·  view source on GitHub ↗

Activate session using either username and password or private_key

(self, username=None, password=None, certificate=None)

Source from the content-addressed store, hash-verified

435 return self.security_policy.URI
436
437 def activate_session(self, username=None, password=None, certificate=None):
438 """
439 Activate session using either username and password or private_key
440 """
441 params = ua.ActivateSessionParameters()
442 challenge = b""
443 if self.security_policy.server_certificate is not None:
444 challenge += self.security_policy.server_certificate
445 if self._server_nonce is not None:
446 challenge += self._server_nonce
447
448 if self.security_policy.AsymmetricSignatureURI:
449 params.ClientSignature.Algorithm = (
450 self.security_policy.AsymmetricSignatureURI
451 )
452 else:
453 params.ClientSignature.Algorithm = (
454 security_policies.SecurityPolicyBasic256.AsymmetricSignatureURI
455 )
456 params.ClientSignature.Signature = self.security_policy.asymmetric_cryptography.signature(challenge)
457 params.LocaleIds.append("en")
458 if not username and not certificate:
459 self._add_anonymous_auth(params)
460 elif certificate:
461 self._add_certificate_auth(params, certificate, challenge)
462 else:
463 self._add_user_auth(params, username, password)
464 return self.uaclient.activate_session(params)
465
466 def _add_anonymous_auth(self, params):
467 params.UserIdentityToken = ua.AnonymousIdentityToken()

Callers 1

connectMethod · 0.95

Calls 4

_add_anonymous_authMethod · 0.95
_add_certificate_authMethod · 0.95
_add_user_authMethod · 0.95
signatureMethod · 0.45

Tested by

no test coverage detected