Кодирование сертификата в токен JWT: почему строки сертификата не совпадают?Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Кодирование сертификата в токен JWT: почему строки сертификата не совпадают?

Сообщение Гость »


Я создаю токен JWT с содержимым файла cert.pem, как утверждает эмитент. Когда я использую сертификат в утверждении эмитента для проверки токена, он терпит неудачу. При повторной загрузке с диска проверка подписи проходит. Каково объяснение этого несоответствия? В функцииverify_token я заметил, что она терпит неудачу.
def load_private_key(путь): с open(path) как f: частный_ключ = сериализация.load_pem_private_key( f.read().encode(), пароль = нет) Private_pem = Private_key.private_bytes( кодирование = сериализация.Кодирование.PEM, формат = сериализация.PrivateFormat.PKCS8, шифрования_алгоритм = сериализация.NoEncryption() ) вернуть Private_pem.decode('utf-8') защита load_cert_str (путь): с open(path) как f: cert_str = f.read() вернуть cert_str защита cert_str_to_obj(cert_str): return load_pem_x509_certificate(str.encode(cert_str), default_backend()) Защиту create_token (private_key, org, aud = 'audi'): cert_str = load_cert_str('/путь/к/cert.pem') полезная нагрузка = { 'ауд': ауд, 'орг': организация, 'исс': cert_str, 'iat': datetime.datetime.utcnow(), 'exp': datetime.datetime.utcnow() + datetime.timedelta(часы=1) } return jwt.encode(полезная нагрузка, частный_ключ, алгоритм = 'ES256') Защиту проверить_токен (токен, организация, root_cert_str = нет, aud = 'SA-UAM'): претензии = jwt.decode(токен, параметры = {"verify_signature": False}) # это декодирование успешно jwt.decode(jwt=токен, ключ=cert_str_to_obj(load_cert_str(cert_path)).public_key(), алгоритмы=['ES256'], аудитория=audi) # это декодирование не удалось jwt.decode(jwt=token, key=cert_str_to_obj(claims['iss']).public_key(), алгоритмы=['ES256'], аудитория=audi) претензии по возврату токен = create_token(load_private_key(key_path), org_name) печать (токен) Распечатать() print(verify_token(токен, org_name))
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ, комментарий, отзыв

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»