o
    c                     @   s   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 )    N)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   W/opt/certbot/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efddZeejdefddZ	eejde
j
fddZeejdefdd	Zeejdefd
dZeejdefddZeejdefddZeejdefddZdS )SignedCertificateTimestampreturnc                 C      dS )z*
        Returns the SCT version.
        Nr   selfr   r   r   version'       z"SignedCertificateTimestamp.versionc                 C   r   )zM
        Returns an identifier indicating which log this SCT is for.
        Nr   r   r   r   r   log_id.   r   z!SignedCertificateTimestamp.log_idc                 C   r   )z5
        Returns the timestamp for this SCT.
        Nr   r   r   r   r   	timestamp5   r   z$SignedCertificateTimestamp.timestampc                 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_typec                 C   r   )zJ
        Returns the hash algorithm used for the SCT's signature.
        Nr   r   r   r   r   signature_hash_algorithmC   r   z3SignedCertificateTimestamp.signature_hash_algorithmc                 C   r   )zM
        Returns the signing algorithm used for the SCT's signature.
        Nr   r   r   r   r   signature_algorithmJ   r   z.SignedCertificateTimestamp.signature_algorithmc                 C   r   )z5
        Returns the signature for this SCT.
        Nr   r   r   r   r   	signatureQ   r   z$SignedCertificateTimestamp.signaturec                 C   r   )zG
        Returns the raw bytes of any extensions for this SCT.
        Nr   r   r   r   r   extension_bytesX   r   z*SignedCertificateTimestamp.extension_bytesN)r   r   r	   propertyabcabstractmethodr   r   bytesr   datetimer    r   r!   r   r"   r   r#   r$   r%   r   r   r   r   r   &   s2    r   )	metaclass)r'   r*   cryptographyr   "cryptography.hazmat.bindings._rustr   	rust_x509%cryptography.hazmat.primitives.hashesr   Enumr   r   r   ABCMetar   registerSctr   r   r   r   <module>   s   :