
    +h                    $   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ej                        Z G d d	ej                        Z G d
 dej                        Z G d dej                        Zej#                  ej$                         y)    )annotationsN)utils)x509)HashAlgorithmc                      e Zd ZdZdZy)LogEntryTyper      N)__name__
__module____qualname__X509_CERTIFICATEPRE_CERTIFICATE     ]/var/www/html/venv/lib/python3.12/site-packages/cryptography/x509/certificate_transparency.pyr   r      s    Or   r   c                      e Zd ZdZy)Versionr   N)r
   r   r   v1r   r   r   r   r      s    	
Br   r   c                       e Zd ZdZdZdZdZdZy)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     I
C
CEr   r   c                     e Zd Zeej
                  d
d              Zeej
                  dd              Zeej
                  dd              Zeej
                  dd              Z	eej
                  dd              Z
eej
                  dd              Zeej
                  dd              Zeej
                  dd              Zy	)SignedCertificateTimestampc                     y)z*
        Returns the SCT version.
        Nr   selfs    r   versionz"SignedCertificateTimestamp.version(       r   c                     y)zM
        Returns an identifier indicating which log this SCT is for.
        Nr   r!   s    r   log_idz!SignedCertificateTimestamp.log_id/   r$   r   c                     y)z5
        Returns the timestamp for this SCT.
        Nr   r!   s    r   	timestampz$SignedCertificateTimestamp.timestamp6   r$   r   c                     y)zV
        Returns whether this is an SCT for a certificate or pre-certificate.
        Nr   r!   s    r   
entry_typez%SignedCertificateTimestamp.entry_type=   r$   r   c                     y)zJ
        Returns the hash algorithm used for the SCT's signature.
        Nr   r!   s    r   signature_hash_algorithmz3SignedCertificateTimestamp.signature_hash_algorithmD   r$   r   c                     y)zM
        Returns the signing algorithm used for the SCT's signature.
        Nr   r!   s    r   signature_algorithmz.SignedCertificateTimestamp.signature_algorithmK   r$   r   c                     y)z5
        Returns the signature for this SCT.
        Nr   r!   s    r   	signaturez$SignedCertificateTimestamp.signatureR   r$   r   c                     y)zG
        Returns the raw bytes of any extensions for this SCT.
        Nr   r!   s    r   extension_bytesz*SignedCertificateTimestamp.extension_bytesY   r$   r   N)returnr   )r3   bytes)r3   zdatetime.datetime)r3   r   )r3   r   )r3   r   )r
   r   r   propertyabcabstractmethodr#   r&   r(   r*   r,   r.   r0   r2   r   r   r   r   r   '   s     
   
   
   
   
   
   
   r   r   )	metaclass)
__future__r   r6   datetimecryptographyr   "cryptography.hazmat.bindings._rustr   	rust_x509%cryptography.hazmat.primitives.hashesr   Enumr   r   r   ABCMetar   registerSctr   r   r   <module>rC      sn   
 # 
   @ ?5:: 
ejj  73;; 7t  # #IMM 2r   