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 / rsa.pyi
diff --git a/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/rsa.pyi b/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/rsa.pyi
new file mode 100644 (file)
index 0000000..958fc71
--- /dev/null
@@ -0,0 +1,80 @@
+from abc import ABCMeta, abstractmethod
+
+from cryptography.hazmat.backends.interfaces import RSABackend
+from cryptography.hazmat.primitives.asymmetric import AsymmetricVerificationContext
+from cryptography.hazmat.primitives.asymmetric.padding import AsymmetricPadding
+from cryptography.hazmat.primitives.asymmetric.utils import Prehashed
+from cryptography.hazmat.primitives.hashes import HashAlgorithm
+from cryptography.hazmat.primitives.serialization import Encoding, KeySerializationEncryption, PrivateFormat, PublicFormat
+
+class RSAPrivateKey(metaclass=ABCMeta):
+    @property
+    @abstractmethod
+    def key_size(self) -> int: ...
+    @abstractmethod
+    def decrypt(self, ciphertext: bytes, padding: AsymmetricPadding) -> bytes: ...
+    @abstractmethod
+    def public_key(self) -> RSAPublicKey: ...
+    @abstractmethod
+    def sign(self, data: bytes, padding: AsymmetricPadding, algorithm: HashAlgorithm | Prehashed) -> bytes: ...
+
+class RSAPrivateKeyWithSerialization(RSAPrivateKey):
+    @abstractmethod
+    def private_bytes(
+        self, encoding: Encoding, format: PrivateFormat, encryption_algorithm: KeySerializationEncryption
+    ) -> bytes: ...
+    @abstractmethod
+    def private_numbers(self) -> RSAPrivateNumbers: ...
+
+class RSAPublicKey(metaclass=ABCMeta):
+    @property
+    @abstractmethod
+    def key_size(self) -> int: ...
+    @abstractmethod
+    def encrypt(self, plaintext: bytes, padding: AsymmetricPadding) -> bytes: ...
+    @abstractmethod
+    def public_bytes(self, encoding: Encoding, format: PublicFormat) -> bytes: ...
+    @abstractmethod
+    def public_numbers(self) -> RSAPublicNumbers: ...
+    @abstractmethod
+    def verifier(
+        self, signature: bytes, padding: AsymmetricPadding, algorithm: HashAlgorithm | Prehashed
+    ) -> AsymmetricVerificationContext: ...
+    @abstractmethod
+    def verify(self, signature: bytes, data: bytes, padding: AsymmetricPadding, algorithm: HashAlgorithm | Prehashed) -> None: ...
+
+RSAPublicKeyWithSerialization = RSAPublicKey
+
+def generate_private_key(
+    public_exponent: int, key_size: int, backend: RSABackend | None = ...
+) -> RSAPrivateKeyWithSerialization: ...
+def rsa_crt_iqmp(p: int, q: int) -> int: ...
+def rsa_crt_dmp1(private_exponent: int, p: int) -> int: ...
+def rsa_crt_dmq1(private_exponent: int, q: int) -> int: ...
+def rsa_recover_prime_factors(n: int, e: int, d: int) -> tuple[int, int]: ...
+
+class RSAPrivateNumbers(object):
+    def __init__(self, p: int, q: int, d: int, dmp1: int, dmq1: int, iqmp: int, public_numbers: RSAPublicNumbers) -> None: ...
+    @property
+    def p(self) -> int: ...
+    @property
+    def q(self) -> int: ...
+    @property
+    def d(self) -> int: ...
+    @property
+    def dmp1(self) -> int: ...
+    @property
+    def dmq1(self) -> int: ...
+    @property
+    def iqmp(self) -> int: ...
+    @property
+    def public_numbers(self) -> RSAPublicNumbers: ...
+    def private_key(self, backend: RSABackend | None = ...) -> RSAPrivateKey: ...
+
+class RSAPublicNumbers(object):
+    def __init__(self, e: int, n: int) -> None: ...
+    @property
+    def e(self) -> int: ...
+    @property
+    def n(self) -> int: ...
+    def public_key(self, backend: RSABackend | None = ...) -> RSAPublicKey: ...