Что происходит, когда я не включил всю иерархию файлов .cert при генерации файлов PFX - PullRequest
0 голосов
/ 03 июня 2019

trying пытаюсь а) экспортировать файл PFX из доступных файлов сертификатов и личного файла, когда я экспортирую, используя всю доступную иерархию сертификатов, как показано ниже - я получаю следующую ошибку

pkcs12 -export -out C:\Users\YSW\SCI\prp\preproduction-abc.com.pfx -inkey C:\Users\YSW\PCI\prp\pk.preproduction-abc.com.txt -in C:\Users\YSW\SCI\prp\pk.preproduction-abc.com.txt -in C:\Users\YSW\PCI\prp\TrustedSecureCertificateAuthority5.crt -in C:\Users\YSW\PCI\prp\USERTrustRSAAddTrustCA.crt -in C:\Users\YSW\PCI\prp\AddTrustExternalCARoot.crt

Ошибка "" Ни один сертификат не соответствует закрытому ключу, ошибка в pkcs12 ""

б) Когда я удаляю сертификаты в иерархии и сохраняю только основной сертификат, как показано ниже, он работает хорошо для меня без каких-либо ошибок

pkcs12 -export -out C:\Users\YSW\SCI\prp\preproduction-abc.com.pfx -inkey C:\Users\YSW\PCI\prp\pk.preproduction-abc.com.txt -in C:\Users\YSW\SCI\prp\pk.preproduction-abc.com.txt

Перед тем как загрузить этот файл PFX на сервер, я хочу убедиться, что нормально исключать другие сертификаты в иерархии при генерации файла PFX

Обратите внимание, что я дал сертификаты в иерархии, как я вижу, когда я вижу их в сертификате, самый низкий по иерархии, первый и самый высокий по иерархии, последний

"" - в C: \ Users \ YSW \ SCI \ prp \ pk.preproduction-abc.com.txt -in C: \ Users \ YSW \ PCI \ prp \ TrustedSecureCertificateAuthority5.crt -in C: \ Users \ YSW \ PCI \ prp \ USERTrustRSAAddTrustCA.crt -in C: \ Users \ YSW \ PCI \ prp \ AddTrustExternalCARoot.crt ""

Я хотел бы знать, что произойдет, если я продолжу использовать PFX, который экспортируется из основного сертификата, или дайте мне знать, как решить проблему отсутствия сертификата, если ошибка закрытого ключа

1 Ответ

1 голос
/ 03 июня 2019

Команда openssl pkcs12 допускает только 1 аргумент для параметра "-in".Поэтому, указав его несколько раз, он будет принимать только последний параметр, поэтому вы получаете сообщение об ошибке.

Обычно, если вы хотите добавить только один промежуточный сертификат, вы также можете указать "-certfile"параметр, чтобы добавить еще один сертификат в файл PFX.Поскольку вы хотите добавить более одного дополнительного сертификата, лучший способ сделать это - объединить все ваши сертификаты в один файл.

Все эти файлы должны быть текстовыми, поэтому я бы объединил все эти файлы в один файл ипередать их все как один "-in" параметр.

например (для windows)

copy pk.preproduction-abc.com.txt+TrustedSecureCertificateAuthority5.crt+USERTrustRSAAddTrustCA.crt+AddTrustExternalCARoot.crt allcertificates.pem

(для linux)

cat pk.preproduction-abc.com.txt TrustedSecureCertificateAuthority5.crt USERTrustRSAAddTrustCA.crt AddTrustExternalCARoot.crt > allcertificates.pem

Затем преобразовать все сертификаты.pem to pfx:

openssl pkcs12 -export -in allcertificates.pem -out preproduction-abc.com.pfx
...