o
    ÖèFhÕ  ã                   @  sš   d dl mZ d dlZd dlZd dlmZ d dlmZ d dl	m
Z
 G dd„ dejƒZG dd	„ d	ejƒZG d
d„ dejƒZG dd„ dejd�Ze ej¡ dS )é    )ÚannotationsN)Úutils)Úx509)ÚHashAlgorithmc                   @  s   e Zd ZdZdZdS )ÚLogEntryTyper   é   N)Ú__name__Ú
__module__Ú__qualname__ÚX509_CERTIFICATEÚPRE_CERTIFICATE© r   r   úc/var/www/html/loop/nvenv/lib/python3.10/site-packages/cryptography/x509/certificate_transparency.pyr      s    r   c                   @  s   e Zd ZdZdS )ÚVersionr   N)r   r	   r
   Úv1r   r   r   r   r      s    r   c                   @  s    e Zd ZdZdZdZdZdZdS )ÚSignatureAlgorithmzÐ
    Signature algorithms that are valid for SCTs.

    These are exactly the same as SignatureAlgorithm in RFC 5246 (TLS 1.2).

    See: <https://datatracker.ietf.org/doc/html/rfc5246#section-7.4.1.4.1>
    r   r   é   é   N)r   r	   r
   Ú__doc__Ú	ANONYMOUSÚRSAÚDSAÚECDSAr   r   r   r   r      s    r   c                   @  s¬   e Zd Zeejddd„ƒƒZeejddd„ƒƒZeejdd	d
„ƒƒZeejddd„ƒƒZ	eejddd„ƒƒZ
eejddd„ƒƒZeejddd„ƒƒZeejddd„ƒƒZdS )ÚSignedCertificateTimestampÚreturnr   c                 C  ó   dS )z*
        Returns the SCT version.
        Nr   ©Úselfr   r   r   Úversion(   ó    z"SignedCertificateTimestamp.versionÚbytesc                 C  r   )zM
        Returns an identifier indicating which log this SCT is for.
        Nr   r   r   r   r   Úlog_id/   r   z!SignedCertificateTimestamp.log_idúdatetime.datetimec                 C  r   )z5
        Returns the timestamp for this SCT.
        Nr   r   r   r   r   Ú	timestamp6   r   z$SignedCertificateTimestamp.timestampr   c                 C  r   )zV
        Returns whether this is an SCT for a certificate or pre-certificate.
        Nr   r   r   r   r   Ú
entry_type=   r   z%SignedCertificateTimestamp.entry_typer   c                 C  r   )zJ
        Returns the hash algorithm used for the SCT's signature.
        Nr   r   r   r   r   Úsignature_hash_algorithmD   r   z3SignedCertificateTimestamp.signature_hash_algorithmr   c                 C  r   )zM
        Returns the signing algorithm used for the SCT's signature.
        Nr   r   r   r   r   Úsignature_algorithmK   r   z.SignedCertificateTimestamp.signature_algorithmc                 C  r   )z5
        Returns the signature for this SCT.
        Nr   r   r   r   r   Ú	signatureR   r   z$SignedCertificateTimestamp.signaturec                 C  r   )zG
        Returns the raw bytes of any extensions for this SCT.
        Nr   r   r   r   r   Úextension_bytesY   r   z*SignedCertificateTimestamp.extension_bytesN)r   r   )r   r    )r   r"   )r   r   )r   r   )r   r   )r   r	   r
   ÚpropertyÚabcÚabstractmethodr   r!   r#   r$   r%   r&   r'   r(   r   r   r   r   r   '   s2    r   )Ú	metaclass)Ú
__future__r   r*   ÚdatetimeÚcryptographyr   Ú"cryptography.hazmat.bindings._rustr   Ú	rust_x509Ú%cryptography.hazmat.primitives.hashesr   ÚEnumr   r   r   ÚABCMetar   ÚregisterÚSctr   r   r   r   Ú<module>   s   :