telegram.EncryptedCredentials

class telegram.EncryptedCredentials(data, hash, secret, bot=None, **_kwargs)

Bases: TelegramObject

Contains data required for decrypting and authenticating EncryptedPassportElement. See the Telegram Passport Documentation for a complete description of the data decryption and authentication processes.

Objects of this class are comparable in terms of equality. Two objects of this class are considered equal, if their data, hash and secret are equal.

Note

This object is decrypted only when originating from telegram.PassportData.decrypted_credentials.

Parameters:
  • data (telegram.Credentials or str) – Decrypted data with unique user’s nonce, data hashes and secrets used for EncryptedPassportElement decryption and authentication or base64 encrypted data.

  • hash (str) – Base64-encoded data hash for data authentication.

  • secret (str) – Decrypted or encrypted secret used for decryption.

  • **kwargs (dict) – Arbitrary keyword arguments.

data

Decrypted data with unique user’s nonce, data hashes and secrets used for EncryptedPassportElement decryption and authentication or base64 encrypted data.

Type:

telegram.Credentials or str

hash

Base64-encoded data hash for data authentication.

Type:

str

secret

Decrypted or encrypted secret used for decryption.

Type:

str

property decrypted_data
Lazily decrypt and return credentials data. This object

also contains the user specified nonce as decrypted_data.nonce.

Raises:

telegram.TelegramDecryptionError – Decryption failed. Usually due to bad private/public key but can also suggest malformed/tampered data.

Type:

telegram.Credentials

property decrypted_secret

Lazily decrypt and return secret.

Raises:

telegram.TelegramDecryptionError – Decryption failed. Usually due to bad private/public key but can also suggest malformed/tampered data.

Type:

str