pfx формат

Еще раз картинку в студию :

фотка 1

pfx это бинарник , то есть двоичный файл .

В pfx хранится открытый ключ и закрытый ключ.

Создаем pfx файл

Создается pfx на openssl таким образом (из файла .)

openssl pkcs12 -export -out leaf.pfx -inkey leaf.key.pem -in leaf.pem.cer -certfile intermediate.chain.pem

Но есть нюанс leaf.pem.cer должен быть в формате PEM (а может быть и в DER).

Еще нюанс , что при создании будет запрошен пароль (который не стоит забывать), или можно пароль не указать.

Примечание: кстати естественно этот пароль не является частью закрытого или открытого ключа и хранится где-то отдельно.

Теперь пробуем вывести информацию из pfx файла

openssl pkcs12 -info -in leaf.pfx
или так
openssl pkcs12 -info -in leaf.pfx -passin pass:"1234"

При извлечении информации из pfx файла будет затребован пароль и самое интересное не один .

Первый пароль откроет информацию по данным leaf.pem.cer :
данные leaf
открытая часть ключа leaf
данные intermediate.chain.pem
и открытая часть ключа intermediate.chain.pem

Второй пароль откроет информацию по какому-то закрытому ключу...
-----BEGIN ENCRYPTED PRIVATE KEY-----
.................................
-----END ENCRYPTED PRIVATE KEY-----


Вывод информации из pfd с наличием русских символов

OpenSSL> pkcs12 -info -in somecert.pfx
Enter Import Password:
MAC: sha1, Iteration 2000
MAC length: 20, salt length: 20
PKCS7 Data
Shrouded Keybag: undefined, Iteration 2000
Bag Attributes
    localKeyID: 01 00 00 00
    Microsoft CSP Name: Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
    friendlyName: 47044313@2020-11-16-↔01>B>20 ∟048=0 ►=20@>2=0_:>?8O_0f242ef0 - Copy
Error outputting keys and certificates
9616:error:06074079:digital envelope routines:EVP_PBE_CipherInit:unknown pbe algorithm:cryptoevpevp_pbe.c:95:TYPE=1.2.840.113549.1.12.1.80
9616:error:23077073:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 algor cipherinit error:cryptopkcs12p12_decr.c:41:
9616:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:cryptopkcs12p12_decr.c:94:
error in pkcs12

Выше явно происходит затык на строке UTF8 с русскими буквами (friendlyName ...) .

pkcs12 -export -in "some.pfx" -out "newfile.pem"

OpenSSL> pkcs12 -export -in "some.pfx" -out "newfile.pem"
unable to load private key
9616:error:0909006C:PEM routines:get_name:no start line:cryptopempem_lib.c:745:Expecting: ANY PRIVATE KEY
error in pkcs12


К сожалению бывает есть файл pfx , а установить его с закрытой частью ключа на ПК никак не получается стандартными способами, например: