def sign(self, data, hash_context):
if not isinstance(hash_context, hashes.HashContext):
raise TypeError("hash_context must be an instance of hashes.HashContext.")
signer = self._key.signer(hashes.SHA256())
signer._hash_ctx = hash_context
signer.update(data)
r, s = decode_dss_signature(signer.finalize())
# return long_to_bytes(r, 20) + long_to_bytes(s, 20)
size = self.private_numbers.public_numbers.parameter_numbers.q.bit_length() // 8
return long_to_bytes(r, size) + long_to_bytes(s, size)
评论列表
文章目录