Уведомления

Группа в Telegram: @pythonsu

#1 Июль 13, 2011 18:22:18

Putsli
От:
Зарегистрирован: 2011-07-12
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

M2Crypto + неправильная кодировка.

Выводит весь сертификат, в полях “subject” и “DirName” utf-ные кракозябры.
Эти поля в сертификате в utf-е.



Офлайн

#2 Июль 13, 2011 18:24:44

Putsli
От:
Зарегистрирован: 2011-07-12
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

M2Crypto + неправильная кодировка.

Непонятно почему “print cert.get_subject().CN” отрабатывает нормально.
Если сделать так: “print cert.get_subject()”, то тоже кракозябры в консоле.



Отредактировано (Июль 13, 2011 18:29:18)

Офлайн

#3 Июль 13, 2011 18:26:12

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

M2Crypto + неправильная кодировка.

Очень странно - если у вас Ubuntu (в которой по-умолчанию язык вывода UTF8) - то все должно отображаться правильно. Может это не utf?
А cp1251 например?
Можете дать файл?

Отредактировано (Июль 13, 2011 18:26:38)

Офлайн

#4 Июль 13, 2011 19:15:23

Putsli
От:
Зарегистрирован: 2011-07-12
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

M2Crypto + неправильная кодировка.

Кинул в личку.



Офлайн

#5 Июль 13, 2011 19:35:04

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

M2Crypto + неправильная кодировка.

print cert.get_ext('subjectAltName').get_value().decode('string-escape')
Вот так надо )

Офлайн

#6 Июль 13, 2011 19:50:48

Putsli
От:
Зарегистрирован: 2011-07-12
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

M2Crypto + неправильная кодировка.

ААА, огромное спасибо, а можете пояснить как-нибудь, на будущее.



Офлайн

#7 Июль 13, 2011 19:59:37

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

M2Crypto + неправильная кодировка.

Просто я не обратил внимание на ‘\x’ в начале символов, обычный уникод начинался бы с ‘\u’, значит строка - escape-кодирована, если открыть файлик как текст - строки читабельны (у меня также линукс) значит это просто декодируем esc-последовательности и вуаля! :)
Подробнее о кодировках тут: http://docs.python.org/library/codecs.html

Отредактировано (Июль 13, 2011 20:00:28)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version