Onionr/static-data/official-plugins/wot/wot/crypto/signatures.py

21 lines
618 B
Python

from typing import TYPE_CHECKING
import result
import nacl.signing
import nacl.exceptions
if TYPE_CHECKING:
from identity import Identity
def create_signature_by_identity(
identity: 'Identity', message: bytes) -> result.Result[nacl.signing.SignedMessage]:
return result.as_result(nacl.exceptions.CryptoError)(identity.private_key.sign)(message)
def verify_signature_by_identity(
identity: 'Identity',
message: bytes, signature: bytes) -> result.Result[str]:
return result.as_result(nacl.exceptions.CryptoError)(nacl.signing.verify)(
identity.key, message, signature)