a
    còfÕ  ã                   @  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   úg/home/httpd/docs/test/DocsMgr/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
   Ú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   :