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