Activate session using either username and password or private_key
(self, username=None, password=None, certificate=None)
| 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() |
no test coverage detected