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 / ec.pyi
diff --git a/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/ec.pyi b/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stubs/cryptography/cryptography/hazmat/primitives/asymmetric/ec.pyi
new file mode 100644 (file)
index 0000000..33fb4cb
--- /dev/null
@@ -0,0 +1,196 @@
+from abc import ABCMeta, abstractmethod
+from typing import ClassVar
+
+from cryptography.hazmat.backends.interfaces import EllipticCurveBackend
+from cryptography.hazmat.primitives.asymmetric import AsymmetricVerificationContext
+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
+from cryptography.x509 import ObjectIdentifier
+
+class EllipticCurve(metaclass=ABCMeta):
+    @property
+    @abstractmethod
+    def key_size(self) -> int: ...
+    @property
+    @abstractmethod
+    def name(self) -> str: ...
+
+class BrainpoolP256R1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class BrainpoolP384R1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class BrainpoolP512R1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECP192R1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECP224R1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECP256K1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECP256R1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECP384R1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECP521R1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECT163K1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECT163R2(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECT233K1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECT233R1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECT283K1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECT283R1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECT409K1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECT409R1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECT571K1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class SECT571R1(EllipticCurve):
+    key_size: int = ...
+    name: str = ...
+
+class EllipticCurveOID(object):
+    SECP192R1: ClassVar[ObjectIdentifier]
+    SECP224R1: ClassVar[ObjectIdentifier]
+    SECP256K1: ClassVar[ObjectIdentifier]
+    SECP256R1: ClassVar[ObjectIdentifier]
+    SECP384R1: ClassVar[ObjectIdentifier]
+    SECP521R1: ClassVar[ObjectIdentifier]
+    BRAINPOOLP256R1: ClassVar[ObjectIdentifier]
+    BRAINPOOLP384R1: ClassVar[ObjectIdentifier]
+    BRAINPOOLP512R1: ClassVar[ObjectIdentifier]
+    SECT163K1: ClassVar[ObjectIdentifier]
+    SECT163R2: ClassVar[ObjectIdentifier]
+    SECT233K1: ClassVar[ObjectIdentifier]
+    SECT233R1: ClassVar[ObjectIdentifier]
+    SECT283K1: ClassVar[ObjectIdentifier]
+    SECT283R1: ClassVar[ObjectIdentifier]
+    SECT409K1: ClassVar[ObjectIdentifier]
+    SECT409R1: ClassVar[ObjectIdentifier]
+    SECT571K1: ClassVar[ObjectIdentifier]
+    SECT571R1: ClassVar[ObjectIdentifier]
+
+class EllipticCurvePrivateKey(metaclass=ABCMeta):
+    @property
+    @abstractmethod
+    def curve(self) -> EllipticCurve: ...
+    @property
+    @abstractmethod
+    def key_size(self) -> int: ...
+    @abstractmethod
+    def exchange(self, algorithm: ECDH, peer_public_key: EllipticCurvePublicKey) -> bytes: ...
+    @abstractmethod
+    def public_key(self) -> EllipticCurvePublicKey: ...
+    @abstractmethod
+    def sign(self, data: bytes, signature_algorithm: EllipticCurveSignatureAlgorithm) -> bytes: ...
+
+class EllipticCurvePrivateKeyWithSerialization(EllipticCurvePrivateKey):
+    @abstractmethod
+    def private_bytes(
+        self, encoding: Encoding, format: PrivateFormat, encryption_algorithm: KeySerializationEncryption
+    ) -> bytes: ...
+    @abstractmethod
+    def private_numbers(self) -> EllipticCurvePrivateNumbers: ...
+
+class EllipticCurvePrivateNumbers(object):
+    @property
+    def private_value(self) -> int: ...
+    @property
+    def public_numbers(self) -> EllipticCurvePublicNumbers: ...
+    def __init__(self, private_value: int, public_numbers: EllipticCurvePublicNumbers) -> None: ...
+    def private_key(self, backend: EllipticCurveBackend | None = ...) -> EllipticCurvePrivateKey: ...
+
+class EllipticCurvePublicKey(metaclass=ABCMeta):
+    @property
+    @abstractmethod
+    def curve(self) -> EllipticCurve: ...
+    @property
+    @abstractmethod
+    def key_size(self) -> int: ...
+    @classmethod
+    def from_encoded_point(cls, curve: EllipticCurve, data: bytes) -> EllipticCurvePublicKey: ...
+    @abstractmethod
+    def public_bytes(self, encoding: Encoding, format: PublicFormat) -> bytes: ...
+    @abstractmethod
+    def public_numbers(self) -> EllipticCurvePublicNumbers: ...
+    @abstractmethod
+    def verifier(
+        self, signature: bytes, signature_algorithm: EllipticCurveSignatureAlgorithm
+    ) -> AsymmetricVerificationContext: ...
+    @abstractmethod
+    def verify(self, signature: bytes, data: bytes, signature_algorithm: EllipticCurveSignatureAlgorithm) -> None: ...
+
+EllipticCurvePublicKeyWithSerialization = EllipticCurvePublicKey
+
+class EllipticCurvePublicNumbers(object):
+    @property
+    def curve(self) -> EllipticCurve: ...
+    @property
+    def x(self) -> int: ...
+    @property
+    def y(self) -> int: ...
+    def __init__(self, x: int, y: int, curve: EllipticCurve) -> None: ...
+    @classmethod
+    def from_encoded_point(cls, curve: EllipticCurve, data: bytes) -> EllipticCurvePublicNumbers: ...
+    def public_key(self, backend: EllipticCurveBackend | None = ...) -> EllipticCurvePublicKey: ...
+
+class EllipticCurveSignatureAlgorithm(metaclass=ABCMeta):
+    @property
+    @abstractmethod
+    def algorithm(self) -> HashAlgorithm | Prehashed: ...
+
+class ECDH(object): ...
+
+class ECDSA(EllipticCurveSignatureAlgorithm):
+    def __init__(self, algorithm: HashAlgorithm | Prehashed): ...
+    @property
+    def algorithm(self) -> HashAlgorithm | Prehashed: ...
+
+def derive_private_key(
+    private_value: int, curve: EllipticCurve, backend: EllipticCurveBackend | None = ...
+) -> EllipticCurvePrivateKey: ...
+def generate_private_key(curve: EllipticCurve, backend: EllipticCurveBackend | None = ...) -> EllipticCurvePrivateKey: ...
+def get_curve_for_oid(oid: ObjectIdentifier) -> EllipticCurve: ...