o
    Df                     @  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/home/ubuntu/webapp/venv/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   :