-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Description
import base64
from tongsuopy.crypto import hashes, serialization
from tongsuopy.crypto.asymciphers import ec, utils
# SM2 keys
key = ec.generate_private_key(ec.SM2())
pem = key.public_key().public_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PublicFormat.SubjectPublicKeyInfo,
)
public_key = serialization.load_pem_public_key(pem)
message = "hello"
message_bytes = message.encode('utf-8')
signature_bytes = key.sign(
message_bytes,
utils.Prehashed(hashes.SM3())
)
public_key.verify(
signature_bytes,
message_bytes,
utils.Prehashed(hashes.SM3())
) File "/root/.pyenv/versions/3.9.16/lib/python3.9/site-packages/tongsuopy/backends/tongsuo/ec.py", line 262, in sign
_check_signature_algorithm(signature_algorithm)
File "/root/.pyenv/versions/3.9.16/lib/python3.9/site-packages/tongsuopy/backends/tongsuo/ec.py", line 28, in _check_signature_algorithm
raise UnsupportedAlgorithm(
tongsuopy.crypto.exceptions.UnsupportedAlgorithm: Unsupported elliptic curve signature algorithm.
Metadata
Metadata
Assignees
Labels
No labels