Форум сайта python.su
0
Приветствую,
сразу хочу сообщить что я ни разу не программист. Есть задача вытащить из сертификата дополнение “subjectAltName”.
Насколько я понимаю, в моём сертификате, это поле “DirName”. Почитав немного о модуле M2Crypto,
налабал такой “код”:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import glob, M2Crypto.X509 as pki
for file in glob.glob("*.cer"):
cert = pki.load_cert(('%s' % file), format=0)
print cert.get_ext('subjectAltName').get_value()
Отредактировано (Июль 12, 2011 18:30:34)
Офлайн
25
fd = open( "filename", 'rb' )
key = fd.read().encode( 'ascii' )
Офлайн
0
Хм, я вроде как не обычный файл открываю, а сертификат.
Офлайн
25
PutsliА разница в чем? Этот пример из моего опыта работы с M2Crypto. Python открывает файл как unicode, M2Crypto (вернее его нижняя с-обвязка) хочет ascii.
Хм, я вроде как не обычный файл открываю, а сертификат.
Офлайн
0
key = fd.read().encode( 'ascii' )
UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 1: ordinal not in range(128)
Офлайн
25
Ну как так )
Я же привел общий код, в вашем случае:
print cert.get_ext('subjectAltName').get_value().encode( 'ascii' )Офлайн
0
Это я попробовал первым делом, на выходе по прежнему точно такие же кракозябры.
Отредактировано (Июль 13, 2011 17:25:20)
Офлайн
25
Так, а какая система у вас?
Офлайн
0
Linux, Ubuntu 11.04, причём вот это:
print cert.get_subject().CN
Офлайн
25
print cert.as_text()
Офлайн