示例#1
0
    def decrypt_verify_and_load(
        cls: Type[BaseSignedDataTypeVar],
        encrypted: bytes,
        key: SecretKey,
        author_verify_key: VerifyKey,
        expected_author: DeviceID,
        expected_timestamp: DateTime,
        **kwargs,
    ) -> BaseSignedDataTypeVar:
        """
        Raises:
            DataError
        """
        try:
            signed = key.decrypt(encrypted)

        except CryptoError as exc:
            raise DataError(str(exc)) from exc

        return cls.verify_and_load(
            signed,
            author_verify_key=author_verify_key,
            expected_author=expected_author,
            expected_timestamp=expected_timestamp,
            **kwargs,
        )
示例#2
0
    def decrypt_and_load(cls, encrypted: bytes, key: SecretKey,
                         **kwargs) -> "BaseData":
        """
        Raises:
            DataError
        """
        try:
            raw = key.decrypt(encrypted)

        except CryptoError as exc:
            raise DataError(str(exc)) from exc

        return cls.load(raw, **kwargs)
示例#3
0
    def decrypt_and_load(cls: Type[BaseDataTypeVar], encrypted: bytes,
                         key: SecretKey, **kwargs: object) -> BaseDataTypeVar:
        """
        Raises:
            DataError
        """
        try:
            raw = key.decrypt(encrypted)

        except CryptoError as exc:
            raise DataError(str(exc)) from exc

        return cls.load(raw, **kwargs)