massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / pyOpenSSL / OpenSSL / crypto.pyi
1 from datetime import datetime
2 from typing import Any, Callable, Iterable, Sequence, Text, Tuple, Union
3
4 from cryptography.hazmat.primitives.asymmetric.dsa import DSAPrivateKey, DSAPublicKey
5 from cryptography.hazmat.primitives.asymmetric.rsa import RSAPrivateKey, RSAPublicKey
6 from cryptography.x509 import Certificate, CertificateRevocationList, CertificateSigningRequest
7
8 _Key = Union[DSAPrivateKey, DSAPublicKey, RSAPrivateKey, RSAPublicKey]
9
10 FILETYPE_PEM: int
11 FILETYPE_ASN1: int
12 FILETYPE_TEXT: int
13
14 TYPE_RSA: int
15 TYPE_DSA: int
16
17 class _EllipticCurve:
18     def __init__(self, lib: Any | None, nid: int, name: str) -> None: ...
19
20 class Error(Exception): ...
21
22 class PKey:
23     def __init__(self) -> None: ...
24     def bits(self) -> int: ...
25     def check(self) -> bool: ...
26     @classmethod
27     def from_cryptography_key(cls, crypto_key: _Key) -> PKey: ...
28     def generate_key(self, type: int, bits: int) -> None: ...
29     def to_cryptography_key(self) -> _Key: ...
30     def type(self) -> int: ...
31
32 class X509Name:
33     countryName: Text
34     C: Text
35     stateOrProvinceName: Text
36     ST: Text
37     localityName: Text
38     L: Text
39     organizationName: Text
40     O: Text
41     organizationalUnitName: Text
42     OU: Text
43     commonName: Text
44     CN: Text
45     emailAddress: Text
46     def __init__(self, name: X509Name) -> None: ...
47     def der(self) -> bytes: ...
48     def get_components(self) -> list[tuple[bytes, bytes]]: ...
49     def hash(self) -> int: ...
50
51 class X509:
52     def __init__(self) -> None: ...
53     def add_extensions(self, extensions: Iterable[X509Extension]) -> None: ...
54     def digest(self, digest_name: bytes) -> bytes: ...
55     @classmethod
56     def from_cryptography(cls, crypto_cert: Certificate) -> X509: ...
57     def get_extension(self, index: int) -> X509Extension: ...
58     def get_extension_count(self) -> int: ...
59     def get_issuer(self) -> X509Name: ...
60     def get_notAfter(self) -> bytes | None: ...
61     def get_notBefore(self) -> bytes | None: ...
62     def get_pubkey(self) -> PKey: ...
63     def get_serial_number(self) -> int: ...
64     def get_signature_algorithm(self) -> bytes: ...
65     def get_subject(self) -> X509Name: ...
66     def get_version(self) -> int: ...
67     def gmtime_adj_notAfter(self, amount: int) -> None: ...
68     def gmtime_adj_notBefore(self, amount: int) -> None: ...
69     def has_expired(self) -> bool: ...
70     def set_issuer(self, issuer: X509Name) -> None: ...
71     def set_notAfter(self, when: bytes) -> None: ...
72     def set_notBefore(self, when: bytes) -> None: ...
73     def set_pubkey(self, pkey: PKey) -> None: ...
74     def set_serial_number(self, serial: int) -> None: ...
75     def set_subject(self, subject: X509Name) -> None: ...
76     def set_version(self, version: int) -> None: ...
77     def sign(self, pkey: PKey, digest: Text | bytes) -> None: ...
78     def subject_name_hash(self) -> bytes: ...
79     def to_cryptography(self) -> Certificate: ...
80
81 class X509Req:
82     def __init__(self) -> None: ...
83     def add_extensions(self, extensions: Iterable[X509Extension]) -> None: ...
84     @classmethod
85     def from_cryptography(cls, crypto_req: CertificateSigningRequest) -> X509Req: ...
86     def get_extensions(self) -> list[X509Extension]: ...
87     def get_pubkey(self) -> PKey: ...
88     def get_subject(self) -> X509Name: ...
89     def get_version(self) -> int: ...
90     def set_pubkey(self, pkey: PKey) -> None: ...
91     def set_version(self, version: int) -> None: ...
92     def sign(self, pkey: PKey, digest: Text | bytes) -> None: ...
93     def to_cryptography(self) -> CertificateSigningRequest: ...
94     def verify(self, pkey: PKey) -> bool: ...
95
96 class X509Extension:
97     def __init__(
98         self, type_name: bytes, critical: bool, value: bytes, subject: X509 | None = ..., issuer: X509 | None = ...
99     ) -> None: ...
100     def get_critical(self) -> bool: ...
101     def get_data(self) -> bytes: ...
102     def get_short_name(self) -> bytes: ...
103
104 class Revoked:
105     def __init__(self) -> None: ...
106     def all_reasons(self) -> list[bytes]: ...
107     def get_reason(self) -> bytes | None: ...
108     def get_rev_date(self) -> bytes: ...
109     def get_serial(self) -> bytes: ...
110     def set_reason(self, reason: bytes | None) -> None: ...
111     def set_rev_date(self, when: bytes) -> None: ...
112     def set_serial(self, hex_str: bytes) -> None: ...
113
114 class CRL:
115     def __init__(self) -> None: ...
116     def add_revoked(self, revoked: Revoked) -> None: ...
117     def export(self, cert: X509, key: PKey, type: int = ..., days: int = ..., digest: bytes = ...) -> bytes: ...
118     @classmethod
119     def from_cryptography(cls, crypto_crl: CertificateRevocationList) -> CRL: ...
120     def get_issuer(self) -> X509Name: ...
121     def get_revoked(self) -> Tuple[Revoked, ...]: ...
122     def set_lastUpdate(self, when: bytes) -> None: ...
123     def set_nextUpdate(self, when: bytes) -> None: ...
124     def set_version(self, version: int) -> None: ...
125     def sign(self, issuer_cert: X509, issuer_key: PKey, digest: bytes) -> None: ...
126     def to_cryptography(self) -> CertificateRevocationList: ...
127
128 class X509Store:
129     def __init__(self) -> None: ...
130     def add_cert(self, cert: X509) -> None: ...
131     def add_crl(self, crl: CRL) -> None: ...
132     def load_locations(self, cafile: Text | bytes, capath: Text | bytes | None = ...) -> None: ...
133     def set_flags(self, flags: int) -> None: ...
134     def set_time(self, vfy_time: datetime) -> None: ...
135
136 class X509StoreContext:
137     def __init__(self, store: X509Store, certificate: X509, chain: Sequence[X509] | None = ...) -> None: ...
138     def get_verified_chain(self) -> list[X509]: ...
139     def set_store(self, store: X509Store) -> None: ...
140     def verify_certificate(self) -> None: ...
141
142 class X509StoreContextError(Exception):
143     certificate: X509
144     def __init__(self, message: Text | bytes, certificate: X509) -> None: ...
145
146 class X509StoreFlags:
147     CRL_CHECK: int
148     CRL_CHECK_ALL: int
149     IGNORE_CRITICAL: int
150     X509_STRICT: int
151     ALLOW_PROXY_CERTS: int
152     POLICY_CHECK: int
153     EXPLICIT_POLICY: int
154     INHIBIT_MAP: int
155     NOTIFY_POLICY: int
156     CHECK_SS_SIGNATURE: int
157     CB_ISSUER_CHECK: int
158
159 class PKCS7:
160     def get_type_name(self) -> Text: ...
161     def type_is_data(self) -> bool: ...
162     def type_is_enveloped(self) -> bool: ...
163     def type_is_signed(self) -> bool: ...
164     def type_is_signedAndEnveloped(self) -> bool: ...
165
166 class PKCS12:
167     def __init__(self) -> None: ...
168     def export(self, passphrase: bytes | None = ..., iter: int = ..., maciter: int = ...) -> bytes: ...
169     def get_ca_certificates(self) -> Tuple[X509, ...]: ...
170     def get_certificate(self) -> X509: ...
171     def get_friendlyname(self) -> bytes | None: ...
172     def get_privatekey(self) -> PKey: ...
173     def set_ca_certificates(self, cacerts: Iterable[X509] | None) -> None: ...
174     def set_certificate(self, cert: X509) -> None: ...
175     def set_friendlyname(self, name: bytes | None) -> None: ...
176     def set_privatekey(self, pkey: PKey) -> None: ...
177
178 class NetscapeSPKI:
179     def __init__(self) -> None: ...
180     def b64_encode(self) -> bytes: ...
181     def get_pubkey(self) -> PKey: ...
182     def set_pubkey(self, pkey: PKey) -> None: ...
183     def sign(self, pkey: PKey, digest: bytes) -> None: ...
184     def verify(self, key: PKey) -> bool: ...
185
186 def get_elliptic_curves() -> set[_EllipticCurve]: ...
187 def get_elliptic_curve(name: Text) -> _EllipticCurve: ...
188 def dump_certificate(type: int, cert: X509) -> bytes: ...
189 def load_certificate(type: int, buffer: bytes) -> X509: ...
190 def dump_certificate_request(type: int, req: X509Req) -> bytes: ...
191 def load_certificate_request(type: int, buffer: bytes) -> X509Req: ...
192 def dump_privatekey(
193     type: int, pkey: PKey, cipher: bytes | None = ..., passphrase: bytes | Callable[[], bytes] | None = ...
194 ) -> bytes: ...
195 def load_privatekey(type: int, buffer: Text | bytes, passphrase: bytes | Callable[[], bytes] | None = ...) -> PKey: ...
196 def dump_publickey(type: int, pkey: PKey) -> bytes: ...
197 def load_publickey(type: int, buffer: Text | bytes) -> PKey: ...
198 def dump_crl(type: int, crl: CRL) -> bytes: ...
199 def load_crl(type: int, buffer: Text | bytes) -> CRL: ...
200 def load_pkcs7_data(type: int, buffer: Text | bytes) -> PKCS7: ...
201 def load_pkcs12(buffer: Text | bytes, passphrase: bytes | None = ...) -> PKCS12: ...
202 def sign(pkey: PKey, data: Text | bytes, digest: Text | bytes) -> bytes: ...
203 def verify(cert: X509, signature: bytes, data: Text | bytes, digest: Text | bytes) -> None: ...