1 from abc import ABCMeta, abstractmethod
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
9 class DSAParameters(metaclass=ABCMeta):
11 def generate_private_key(self) -> DSAPrivateKey: ...
13 class DSAParametersWithNumbers(DSAParameters):
15 def parameter_numbers(self) -> DSAParameterNumbers: ...
17 class DSAParameterNumbers(object):
19 def p(self) -> int: ...
21 def q(self) -> int: ...
23 def g(self) -> int: ...
24 def __init__(self, p: int, q: int, g: int) -> None: ...
25 def parameters(self, backend: DSABackend | None = ...) -> DSAParameters: ...
27 class DSAPrivateKey(metaclass=ABCMeta):
30 def key_size(self) -> int: ...
32 def parameters(self) -> DSAParameters: ...
34 def public_key(self) -> DSAPublicKey: ...
36 def sign(self, data: bytes, algorithm: HashAlgorithm | Prehashed) -> bytes: ...
38 class DSAPrivateKeyWithSerialization(DSAPrivateKey):
41 self, encoding: Encoding, format: PrivateFormat, encryption_algorithm: KeySerializationEncryption
44 def private_numbers(self) -> DSAPrivateNumbers: ...
46 class DSAPrivateNumbers(object):
48 def x(self) -> int: ...
50 def public_numbers(self) -> DSAPublicNumbers: ...
51 def __init__(self, x: int, public_numbers: DSAPublicNumbers) -> None: ...
53 class DSAPublicKey(metaclass=ABCMeta):
56 def key_size(self) -> int: ...
58 def public_bytes(self, encoding: Encoding, format: PublicFormat) -> bytes: ...
60 def public_numbers(self) -> DSAPublicNumbers: ...
62 def verifier(self, signature: bytes, signature_algorithm: HashAlgorithm | Prehashed) -> AsymmetricVerificationContext: ...
64 def verify(self, signature: bytes, data: bytes, algorithm: HashAlgorithm | Prehashed) -> None: ...
66 DSAPublicKeyWithSerialization = DSAPublicKey
68 class DSAPublicNumbers(object):
70 def y(self) -> int: ...
72 def parameter_numbers(self) -> DSAParameterNumbers: ...
73 def __init__(self, y: int, parameter_numbers: DSAParameterNumbers) -> None: ...
75 def generate_parameters(key_size: int, backend: DSABackend | None = ...) -> DSAParameters: ...
76 def generate_private_key(key_size: int, backend: DSABackend | None = ...) -> DSAPrivateKey: ...