Files
app-ethereum/tests/ragger/keys.py
T

24 lines
664 B
Python

import os
import hashlib
from ecdsa.util import sigencode_der
from ecdsa import SigningKey
from enum import Enum, auto
class Key(Enum):
CAL = auto()
TRUSTED_NAME = auto()
_keys: dict[Key, SigningKey] = dict()
def _init_key(key: Key):
global _keys
with open("%s/keys/%s.pem" % (os.path.dirname(__file__), key.name.lower())) as pem_file:
_keys[key] = SigningKey.from_pem(pem_file.read(), hashlib.sha256)
assert (key in _keys) and (_keys[key] != None)
def key_sign(key: Key, data: bytes) -> bytes:
global _keys
if key not in _keys:
_init_key(key)
return _keys[key].sign_deterministic(data, sigencode=sigencode_der)