109 lines
3.5 KiB
Python
109 lines
3.5 KiB
Python
|
# This file is dual licensed under the terms of the Apache License, Version
|
||
|
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
|
||
|
# for complete details.
|
||
|
|
||
|
import datetime
|
||
|
import typing
|
||
|
|
||
|
from cryptography import x509
|
||
|
from cryptography.hazmat.primitives import hashes
|
||
|
from cryptography.hazmat.primitives.asymmetric.padding import PSS, PKCS1v15
|
||
|
from cryptography.hazmat.primitives.asymmetric.types import PrivateKeyTypes
|
||
|
|
||
|
def load_pem_x509_certificate(
|
||
|
data: bytes, backend: typing.Any = None
|
||
|
) -> x509.Certificate: ...
|
||
|
def load_der_x509_certificate(
|
||
|
data: bytes, backend: typing.Any = None
|
||
|
) -> x509.Certificate: ...
|
||
|
def load_pem_x509_certificates(
|
||
|
data: bytes,
|
||
|
) -> list[x509.Certificate]: ...
|
||
|
def load_pem_x509_crl(
|
||
|
data: bytes, backend: typing.Any = None
|
||
|
) -> x509.CertificateRevocationList: ...
|
||
|
def load_der_x509_crl(
|
||
|
data: bytes, backend: typing.Any = None
|
||
|
) -> x509.CertificateRevocationList: ...
|
||
|
def load_pem_x509_csr(
|
||
|
data: bytes, backend: typing.Any = None
|
||
|
) -> x509.CertificateSigningRequest: ...
|
||
|
def load_der_x509_csr(
|
||
|
data: bytes, backend: typing.Any = None
|
||
|
) -> x509.CertificateSigningRequest: ...
|
||
|
def encode_name_bytes(name: x509.Name) -> bytes: ...
|
||
|
def encode_extension_value(extension: x509.ExtensionType) -> bytes: ...
|
||
|
def create_x509_certificate(
|
||
|
builder: x509.CertificateBuilder,
|
||
|
private_key: PrivateKeyTypes,
|
||
|
hash_algorithm: hashes.HashAlgorithm | None,
|
||
|
rsa_padding: PKCS1v15 | PSS | None,
|
||
|
) -> x509.Certificate: ...
|
||
|
def create_x509_csr(
|
||
|
builder: x509.CertificateSigningRequestBuilder,
|
||
|
private_key: PrivateKeyTypes,
|
||
|
hash_algorithm: hashes.HashAlgorithm | None,
|
||
|
rsa_padding: PKCS1v15 | PSS | None,
|
||
|
) -> x509.CertificateSigningRequest: ...
|
||
|
def create_x509_crl(
|
||
|
builder: x509.CertificateRevocationListBuilder,
|
||
|
private_key: PrivateKeyTypes,
|
||
|
hash_algorithm: hashes.HashAlgorithm | None,
|
||
|
rsa_padding: PKCS1v15 | PSS | None,
|
||
|
) -> x509.CertificateRevocationList: ...
|
||
|
|
||
|
class Sct: ...
|
||
|
class Certificate: ...
|
||
|
class RevokedCertificate: ...
|
||
|
class CertificateRevocationList: ...
|
||
|
class CertificateSigningRequest: ...
|
||
|
|
||
|
class PolicyBuilder:
|
||
|
def time(self, new_time: datetime.datetime) -> PolicyBuilder: ...
|
||
|
def store(self, new_store: Store) -> PolicyBuilder: ...
|
||
|
def max_chain_depth(self, new_max_chain_depth: int) -> PolicyBuilder: ...
|
||
|
def build_client_verifier(self) -> ClientVerifier: ...
|
||
|
def build_server_verifier(
|
||
|
self, subject: x509.verification.Subject
|
||
|
) -> ServerVerifier: ...
|
||
|
|
||
|
class VerifiedClient:
|
||
|
@property
|
||
|
def subjects(self) -> list[x509.GeneralName]: ...
|
||
|
@property
|
||
|
def chain(self) -> list[x509.Certificate]: ...
|
||
|
|
||
|
class ClientVerifier:
|
||
|
@property
|
||
|
def validation_time(self) -> datetime.datetime: ...
|
||
|
@property
|
||
|
def store(self) -> Store: ...
|
||
|
@property
|
||
|
def max_chain_depth(self) -> int: ...
|
||
|
def verify(
|
||
|
self,
|
||
|
leaf: x509.Certificate,
|
||
|
intermediates: list[x509.Certificate],
|
||
|
) -> VerifiedClient: ...
|
||
|
|
||
|
class ServerVerifier:
|
||
|
@property
|
||
|
def subject(self) -> x509.verification.Subject: ...
|
||
|
@property
|
||
|
def validation_time(self) -> datetime.datetime: ...
|
||
|
@property
|
||
|
def store(self) -> Store: ...
|
||
|
@property
|
||
|
def max_chain_depth(self) -> int: ...
|
||
|
def verify(
|
||
|
self,
|
||
|
leaf: x509.Certificate,
|
||
|
intermediates: list[x509.Certificate],
|
||
|
) -> list[x509.Certificate]: ...
|
||
|
|
||
|
class Store:
|
||
|
def __init__(self, certs: list[x509.Certificate]) -> None: ...
|
||
|
|
||
|
class VerificationError(Exception):
|
||
|
pass
|