Python: чтение сертификата pkcs12 с pyOpenSSL.криптографический
У меня есть действительный сертификат, выданный испанским органом (FNMT), и я хочу поиграть с ним, чтобы узнать больше об этом. Файл имеет расширение .Р12
Я хотел бы прочитать информацию в нем (имя и фамилия) и проверить, действителен ли сертификат. Возможно ли это сделать с pyOpenSSL? Думаю, я должен использовать крипто-модуль в OpenSSL. Любая помощь или полезная ссылка? Попробуйте прочитать здесь:http://packages.python.org/pyOpenSSL/openssl-crypto.html но не много информации :-(
1 ответов
Это довольно прямолинейно использовать. Это не тестируется, но должно работать:
# load OpenSSL.crypto
from OpenSSL import crypto
# open it, using password. Supply/read your own from stdin.
p12 = crypto.load_pkcs12(open("/path/to/cert.p12", 'rb').read(), passwd)
# get various properties of said file.
# note these are PyOpenSSL objects, not strings although you
# can convert them to PEM-encoded strings.
p12.get_certificate() # (signed) certificate object
p12.get_privatekey() # private key.
p12.get_ca_certificates() # ca chain.
для получения дополнительных примеров просмотрите модульный тестовый код pyopenssl. Практически каждый способ, которым вы можете использовать библиотеку, есть