Я преобразовал сертификат CER / DER примерно так:
openssl x509 -inform der -in hostname.cer -out hostname.pem
Результирующий файл PEM содержит только:
-----BEGIN CERTIFICATE-----
... contents here..
-----END CERTIFICATE-----
Но в нем нет ключевой части, это нормально? Поэтому я не могу использовать его в PHP / SOAPClient, потому что он не подключается к хосту.
С другой стороны, я успешно преобразовал формат PFX / P12 в PEM, и полученный файл содержит как сертификат, так и ключ. Но в приведенном выше случае сертификата формата DER это не так.
Я использовал для преобразования PFX в PEM:
openssl pkcs12 -in ALEXANDRU_CATALIN.pfx -clcerts -nokeys -out ALEXANDRU_CATALIN_mycert.pem
openssl pkcs12 -in ALEXANDRU_CATALIN.pfx -nocerts -nodes -out ALEXANDRU_CATALIN_mykey.pem
Затем объедините содержимое обоих файлов в один под названием bundle.pem
. Это сработало, я закончил с файлом с сертификатом и ключом бота, и он подключает через SOAP к API, но, как я уже сказал, DER в PEM не дает мне сертификат, который будет работать.
Есть идеи по этому поводу? Я что-то упускаю? Формат DER не содержит ключа? Мне еще что-нибудь нужно?