Example #1
0
 def __init__(self, sk_bytes):
     if not isinstance(sk_bytes, type("")):
         raise TypeError("must be bytes, not %s" % type(sk_bytes))
     if len(sk_bytes) != 32:
         raise ValueError("must be exactly 32 bytes")
     vk_bytes, sk_and_vk = _ed25519.publickey(sk_bytes)
     assert sk_and_vk[:32] == sk_bytes
     assert vk_bytes == sk_and_vk[32:]
     self.vk_bytes = vk_bytes
     self.sk_and_vk = sk_and_vk
Example #2
0
 def __init__(self, sk_s, prefix="", encoding=None):
     assert isinstance(sk_s, type("")) # string, really bytes
     sk_s = remove_prefix(sk_s, prefix)
     if encoding is not None:
         sk_s = from_ascii(sk_s, encoding=encoding)
     if len(sk_s) == 32:
         # create from seed
         vk_s, sk_s = _ed25519.publickey(sk_s)
     else:
         if len(sk_s) != 32+32:
             raise ValueError("SigningKey takes 32-byte seed or 64-byte string")
     self.sk_s = sk_s # seed+pubkey
     self.vk_s = sk_s[32:] # just pubkey