Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)