U
    EZh                     @   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__ZX509_CERTIFICATEZPRE_CERTIFICATE r
   r
   q/home/aprabhat/apps/x.techxrdev.in/venv/lib/python3.8/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edddZeejedddZ	eeje
j
dddZeejeddd	Zeejedd
dZeejedddZeejedddZeejedddZdS )SignedCertificateTimestamp)returnc                 C   s   dS )z*
        Returns the SCT version.
        Nr
   selfr
   r
   r   version'   s    z"SignedCertificateTimestamp.versionc                 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_idc                 C   s   dS )z5
        Returns the timestamp for this SCT.
        Nr
   r   r
   r
   r   	timestamp5   s    z$SignedCertificateTimestamp.timestampc                 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_typec                 C   s   dS )zJ
        Returns the hash algorithm used for the SCT's signature.
        Nr
   r   r
   r
   r   signature_hash_algorithmC   s    z3SignedCertificateTimestamp.signature_hash_algorithmc                 C   s   dS )zM
        Returns the signing algorithm used for the SCT's signature.
        Nr
   r   r
   r
   r   signature_algorithmJ   s    z.SignedCertificateTimestamp.signature_algorithmc                 C   s   dS )z5
        Returns the signature for this SCT.
        Nr
   r   r
   r
   r   	signatureQ   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_bytesX   s    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   &   s0   r   )	metaclass)r   r!   Zcryptographyr   Z"cryptography.hazmat.bindings._rustr   Z	rust_x509Z%cryptography.hazmat.primitives.hashesr   Enumr   r   r   ABCMetar   registerZSctr
   r
   r
   r   <module>   s   :