Как/могу ли я создать файл PKCS#12, используя Python и модуль шифрования?Python

Программы на Python
Anonymous
Как/могу ли я создать файл PKCS#12, используя Python и модуль шифрования?

Сообщение Anonymous »

Как я могу создать файл PKCS#12 с помощью Python и модуля шифрования?

Использовать указанный модуль для создания содержимого файла .pem довольно просто. для закрытого ключа:

Код: Выделить всё

keyPEMBytes = privateKey.private_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.TraditionalOpenSSL,
encryption_algorithm=serialization.NoEncryption())
Также легко создать содержимое файла .cer/.pem для связанного сертификата:

Код: Выделить всё

certBytes = certificate.public_bytes(encoding=serialization.Encoding.PEM)
Но мне нужно, чтобы они (и их цепочка) были объединены в один файл .p12 (файл PKCS12). Указанный модуль документирует, как анализировать/использовать форматы PKCS12, но ничего (что я могу найти) о том, как их можно генерировать.

Мое понимание вещей PKI не очень четкое. хотя, может быть, я просто не ищу правильное ключевое слово в документации?

Я могу создать файл .p12 в командной строке в Linux с помощью

Код: Выделить всё

openssl pkcs12 -export -out myIdentity.p12 -inkey myPrivKey.pem -in myCert.crt -certfile myCertChain.crt
Так что я мог бы просто обернуть подобные вызовы с помощью subprocess/cmd и возиться с временными файлами/каналами. Однако я надеялся сохранить все это в памяти/python.

Существует ли другая библиотека TLS Python, которую мне следует рассмотреть, которая может сделать это?

Подробнее здесь: https://stackoverflow.com/questions/546 ... phy-module

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