massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / cryptography / cryptography / hazmat / primitives / asymmetric / dsa.pyi
1 from abc import ABCMeta, abstractmethod
2
3 from cryptography.hazmat.backends.interfaces import DSABackend
4 from cryptography.hazmat.primitives.asymmetric import AsymmetricVerificationContext
5 from cryptography.hazmat.primitives.asymmetric.utils import Prehashed
6 from cryptography.hazmat.primitives.hashes import HashAlgorithm
7 from cryptography.hazmat.primitives.serialization import Encoding, KeySerializationEncryption, PrivateFormat, PublicFormat
8
9 class DSAParameters(metaclass=ABCMeta):
10     @abstractmethod
11     def generate_private_key(self) -> DSAPrivateKey: ...
12
13 class DSAParametersWithNumbers(DSAParameters):
14     @abstractmethod
15     def parameter_numbers(self) -> DSAParameterNumbers: ...
16
17 class DSAParameterNumbers(object):
18     @property
19     def p(self) -> int: ...
20     @property
21     def q(self) -> int: ...
22     @property
23     def g(self) -> int: ...
24     def __init__(self, p: int, q: int, g: int) -> None: ...
25     def parameters(self, backend: DSABackend | None = ...) -> DSAParameters: ...
26
27 class DSAPrivateKey(metaclass=ABCMeta):
28     @property
29     @abstractmethod
30     def key_size(self) -> int: ...
31     @abstractmethod
32     def parameters(self) -> DSAParameters: ...
33     @abstractmethod
34     def public_key(self) -> DSAPublicKey: ...
35     @abstractmethod
36     def sign(self, data: bytes, algorithm: HashAlgorithm | Prehashed) -> bytes: ...
37
38 class DSAPrivateKeyWithSerialization(DSAPrivateKey):
39     @abstractmethod
40     def private_bytes(
41         self, encoding: Encoding, format: PrivateFormat, encryption_algorithm: KeySerializationEncryption
42     ) -> bytes: ...
43     @abstractmethod
44     def private_numbers(self) -> DSAPrivateNumbers: ...
45
46 class DSAPrivateNumbers(object):
47     @property
48     def x(self) -> int: ...
49     @property
50     def public_numbers(self) -> DSAPublicNumbers: ...
51     def __init__(self, x: int, public_numbers: DSAPublicNumbers) -> None: ...
52
53 class DSAPublicKey(metaclass=ABCMeta):
54     @property
55     @abstractmethod
56     def key_size(self) -> int: ...
57     @abstractmethod
58     def public_bytes(self, encoding: Encoding, format: PublicFormat) -> bytes: ...
59     @abstractmethod
60     def public_numbers(self) -> DSAPublicNumbers: ...
61     @abstractmethod
62     def verifier(self, signature: bytes, signature_algorithm: HashAlgorithm | Prehashed) -> AsymmetricVerificationContext: ...
63     @abstractmethod
64     def verify(self, signature: bytes, data: bytes, algorithm: HashAlgorithm | Prehashed) -> None: ...
65
66 DSAPublicKeyWithSerialization = DSAPublicKey
67
68 class DSAPublicNumbers(object):
69     @property
70     def y(self) -> int: ...
71     @property
72     def parameter_numbers(self) -> DSAParameterNumbers: ...
73     def __init__(self, y: int, parameter_numbers: DSAParameterNumbers) -> None: ...
74
75 def generate_parameters(key_size: int, backend: DSABackend | None = ...) -> DSAParameters: ...
76 def generate_private_key(key_size: int, backend: DSABackend | None = ...) -> DSAPrivateKey: ...