code: def sign(self, h):
          
          if not self.is_private():
              raise RuntimeError("Key must be private to be able to sign")
          val = from_bytes_32(h)
          r, s = self._generator.sign(self.secret_exponent(), val)
          return sigencode_der(r, s)
docs: Return a der-encoded signature for a hash h.
          Will throw a RuntimeError if this key is not a private key