massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / cryptography / cryptography / hazmat / primitives / serialization / pkcs7.pyi
1 from enum import Enum
2 from typing import Any, Iterable
3
4 from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurvePrivateKey
5 from cryptography.hazmat.primitives.asymmetric.rsa import RSAPrivateKey
6 from cryptography.hazmat.primitives.hashes import SHA1, SHA224, SHA256, SHA384, SHA512
7 from cryptography.hazmat.primitives.serialization import Encoding
8 from cryptography.x509 import Certificate
9
10 def load_pem_pkcs7_certificates(data: bytes) -> list[Certificate]: ...
11 def load_der_pkcs7_certificates(data: bytes) -> list[Certificate]: ...
12
13 class PKCS7Options(Enum):
14     Text: str
15     Binary: str
16     DetachedSignature: str
17     NoCapabilities: str
18     NoAttributes: str
19     NoCerts: str
20
21 class PKCS7SignatureBuilder:
22     def set_data(self, data: bytes) -> PKCS7SignatureBuilder: ...
23     def add_signer(
24         self,
25         certificate: Certificate,
26         private_key: RSAPrivateKey | EllipticCurvePrivateKey,
27         hash_algorithm: SHA1 | SHA224 | SHA256 | SHA384 | SHA512,
28     ) -> PKCS7SignatureBuilder: ...
29     def add_certificate(self, certificate: Certificate) -> PKCS7SignatureBuilder: ...
30     def sign(self, encoding: Encoding, options: Iterable[PKCS7Options], backend: Any | None = ...) -> bytes: ...