Как преобразовать подпись RSA в строку в Python для включения в список JSON? - PullRequest
0 голосов
/ 06 мая 2020

Построение P2P-сети и узловые соединения требуют обмена сертификатами. Сертификат имеет вид json:

[[time(),
requestingPeersID,
localPeersPublicRSAkey],
RSAsignature]
  • PeerID - это SHA512 [: 16] ha sh их опубликованных c ключей.
  • Криптография - это библиотека I Я использую для ключевых функций (настройки по умолчанию).

Цель состоит в том, чтобы получить все в байтах для отправки через sendall ().

Проблема:

def cert(self, ID):
    ID = ID.decode()
    cert = dumps([time(), ID, self.public.decode()])
    return dumps([cert, self.sign(cert.encode()).decode()]).encode()

Когда я пытаюсь преобразовать свою подпись RSA в строку (чтобы я мог выгрузить весь сертификат в строку, я получаю:

UnicodeDecodeError: 'utf-8' code c не могу декодировать байт 0xae в позиции 2: недопустимый начальный байт

Я читал, что существуют другие форматы, кроме utf-8. Было бы неплохо использовать один из них?

...