a
    ϏPf                     @  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__ZX509_CERTIFICATEZPRE_CERTIFICATE r   r   k/var/www/html/python-backend/venv/lib/python3.9/site-packages/cryptography/x509/certificate_transparency.pyr      s   r   c                   @  s   e Zd ZdZdS )Versionr   N)r   r	   r
   Z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__Z	ANONYMOUSZRSAZDSAZECDSAr   r   r   r   r      s
   r   c                   @  s   e Zd ZeejddddZeejddddZeejddd	d
ZeejddddZ	eejddddZ
eejddddZeejddddZeejddddZdS )SignedCertificateTimestampr   )returnc                 C  s   dS )z*
        Returns the SCT version.
        Nr   selfr   r   r   version(   s    z"SignedCertificateTimestamp.versionbytesc                 C  s   dS )zM
        Returns an identifier indicating which log this SCT is for.
        Nr   r   r   r   r   log_id/   s    z!SignedCertificateTimestamp.log_idzdatetime.datetimec                 C  s   dS )z5
        Returns the timestamp for this SCT.
        Nr   r   r   r   r   	timestamp6   s    z$SignedCertificateTimestamp.timestampr   c                 C  s   dS )zV
        Returns whether this is an SCT for a certificate or pre-certificate.
        Nr   r   r   r   r   
entry_type=   s    z%SignedCertificateTimestamp.entry_typer   c                 C  s   dS )zJ
        Returns the hash algorithm used for the SCT's signature.
        Nr   r   r   r   r   signature_hash_algorithmD   s    z3SignedCertificateTimestamp.signature_hash_algorithmr   c                 C  s   dS )zM
        Returns the signing algorithm used for the SCT's signature.
        Nr   r   r   r   r   signature_algorithmK   s    z.SignedCertificateTimestamp.signature_algorithmc                 C  s   dS )z5
        Returns the signature for this SCT.
        Nr   r   r   r   r   	signatureR   s    z$SignedCertificateTimestamp.signaturec                 C  s   dS )zG
        Returns the raw bytes of any extensions for this SCT.
        Nr   r   r   r   r   extension_bytesY   s    z*SignedCertificateTimestamp.extension_bytesN)r   r	   r
   propertyabcabstractmethodr   r   r   r   r   r   r   r   r   r   r   r   r   '   s0   r   )	metaclass)
__future__r   r    datetimeZcryptographyr   Z"cryptography.hazmat.bindings._rustr   Z	rust_x509Z%cryptography.hazmat.primitives.hashesr   Enumr   r   r   ABCMetar   registerZSctr   r   r   r   <module>   s   :