xbox.webapi.common.request_signer module

Request Signer

Employed for generating the “Signature” header in authentication requests.

class xbox.webapi.common.request_signer.RequestSigner(signing_key=None, signing_policy=None)[source]

Bases: object

export_signing_key()[source]
Return type:

str

static import_signing_key(signing_key)[source]
Parameters:

signing_key (str) –

Return type:

SigningKey

classmethod from_pem(pem_string)[source]
Parameters:

pem_string (str) –

static get_timestamp_buffer(dt)[source]

Get usable buffer from datetime

dt: Input datetime

Returns:

FILETIME buffer (network order/big endian)

Return type:

bytes

Parameters:

dt (datetime) –

static get_signature_version_buffer(version)[source]

Get big endian uint32 bytes-representation from signature version

version: Signature version

Returns: Version as uint32 big endian bytes

Parameters:

version (int) –

Return type:

bytes

verify_digest(signature, digest, verifying_key=None)[source]

Verify signature against digest

signature: Signature to validate message: Digest to verify verifying_key: Public key to use for verification.

If that key is not provided, the private key used for signing is used.

Returns: True on successful verification, False otherwise

Parameters:
  • signature (bytes) –

  • digest (bytes) –

  • verifying_key (VerifyingKey | None) –

Return type:

bool

sign(method, path_and_query, body=b'', authorization='', timestamp=None)[source]
Parameters:
Return type:

str