Форум сайта python.su
0
Выводит весь сертификат, в полях “subject” и “DirName” utf-ные кракозябры.
Эти поля в сертификате в utf-е.
Офлайн
0
Непонятно почему “print cert.get_subject().CN” отрабатывает нормально.
Если сделать так: “print cert.get_subject()”, то тоже кракозябры в консоле.
Отредактировано (Июль 13, 2011 18:29:18)
Офлайн
25
Очень странно - если у вас Ubuntu (в которой по-умолчанию язык вывода UTF8) - то все должно отображаться правильно. Может это не utf?
А cp1251 например?
Можете дать файл?
Отредактировано (Июль 13, 2011 18:26:38)
Офлайн
0
Кинул в личку.
Офлайн
25
print cert.get_ext('subjectAltName').get_value().decode('string-escape')Офлайн
0
ААА, огромное спасибо, а можете пояснить как-нибудь, на будущее.
Офлайн
25
Просто я не обратил внимание на ‘\x’ в начале символов, обычный уникод начинался бы с ‘\u’, значит строка - escape-кодирована, если открыть файлик как текст - строки читабельны (у меня также линукс) значит это просто декодируем esc-последовательности и вуаля! :)
Подробнее о кодировках тут: http://docs.python.org/library/codecs.html
Отредактировано (Июль 13, 2011 20:00:28)
Офлайн