def to_bytes(self): """TODO""" public_numbers = self.key.public_numbers() key_size = tools.elliptic_curve_key_size(self.network.curve) prefix = SEC1_MAGIC_NOT_COMPRESSED if self.compressed: if public_numbers.y % 2 == 0: prefix = SEC1_MAGIC_COMPRESSED_0 else: prefix = SEC1_MAGIC_COMPRESSED_1 data = bytearray() data.append(prefix) x = encoding.i2b_bigendian(public_numbers.x, key_size) data.extend(x) if not self.compressed: y = encoding.i2b_bigendian(public_numbers.y, key_size) data.extend(y) return bytes(data)
def to_bytes(self): """TODO""" key_size = tools.elliptic_curve_key_size(self.network.curve) exponent = self.key.private_numbers().private_value return encoding.i2b_bigendian(exponent, key_size)