Example #1
0
 async def activate_session(self,
                            username: str = None,
                            password: str = None,
                            certificate=None):
     """
     Activate session using either username and password or private_key
     """
     params = ua.ActivateSessionParameters()
     challenge = b""
     if self.security_policy.peer_certificate is not None:
         challenge += self.security_policy.peer_certificate
     if self._server_nonce is not None:
         challenge += self._server_nonce
     if self.security_policy.AsymmetricSignatureURI:
         params.ClientSignature.Algorithm = self.security_policy.AsymmetricSignatureURI
     else:
         params.ClientSignature.Algorithm = (
             security_policies.SecurityPolicyBasic256.AsymmetricSignatureURI
         )
     params.ClientSignature.Signature = self.security_policy.asymmetric_cryptography.signature(
         challenge)
     params.LocaleIds.append("en")
     if not username and not certificate:
         self._add_anonymous_auth(params)
     elif certificate:
         self._add_certificate_auth(params, certificate, challenge)
     else:
         self._add_user_auth(params, username, password)
     return await self.uaclient.activate_session(params)
Example #2
0
 async def activate_session(self, username: str = None, password: str = None, certificate=None):
     """
     Activate session using either username and password or private_key
     """
     params = ua.ActivateSessionParameters()
     challenge = b""
     if self.security_policy.server_certificate is not None:
         challenge += self.security_policy.server_certificate
     if self._server_nonce is not None:
         challenge += self._server_nonce
     params.ClientSignature.Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1"
     params.ClientSignature.Signature = self.security_policy.asymmetric_cryptography.signature(challenge)
     params.LocaleIds.append("en")
     if not username and not certificate:
         self._add_anonymous_auth(params)
     elif certificate:
         self._add_certificate_auth(params, certificate, challenge)
     else:
         self._add_user_auth(params, username, password)
     return await self.uaclient.activate_session(params)