EncryptedCredentials

class telegram.EncryptedCredentials(data, hash, secret, *, api_kwargs=None)[source]

Bases: telegram.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 | 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.

data[source]

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

Type:

telegram.Credentials | str

hash[source]

Base64-encoded data hash for data authentication.

Type:

str

secret[source]

Decrypted or encrypted secret used for decryption.

Type:

str

property decrypted_data[source]
Lazily decrypt and return credentials data. This object

also contains the user specified nonce as decrypted_data.nonce.

Raises:

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

Type:

telegram.Credentials

property decrypted_secret[source]

Lazily decrypt and return secret.

Raises:

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

Type:

bytes