Вебсервер Apache вимагає наявності наступних двох файлів у разі, якщо сайт використовує SSL:
1 – Server.key : приватний ключ, що асоційований із сертифікатом
2 – Server.crt : власне SSL сертифікат, що виданий довіреним центром сертифікації
Якщо у вас .pfx файл замість двох фійлів ( .pfx файл – це сертифікат + приватний ключ, що скомбіновані у одному файлі) ви можете видобути приватний ключ із pfx та конвертувати pfx у pem використовуючи наступні команди OpenSSL:
Конвертація pfx у pem у Linux
Щоб видобути приватний ключ із pfx файлу, запустіть наступну команду OpenSSL:
1 |
openssl pkcs12 -in myCert.pfx -nocerts -out privateKey.pem |
Ця команда видобуває зашифрований приватний ключ. Щоб розшифрувати його, введіть наступну команду:
1 |
openssl rsa -in privateKey.pem -out private.pem |
Згенерований файл private.pem являє собою розшифрований приватний ключ який нам потрібен. Відкрийте його Блокнотом і упевніться що там немає нічого лишнього адже там можуть бути додаткові рядки із DN та Bag атрибутами. Видаліть їх, щоб отримати файл на кшталт того, що наведено нижче:
1 2 3 4 5 6 7 8 9 |
-----BEGIN RSA PRIVATE KEY----- j/L6vFFXzSHhhMIIRogvwIOMFbL2G1A1H7MokLwnEsm0UckgBTRVa2bsV4Y4kffV jljcMlznHXb7WRVPU6BAZGBWLElQjFuqoX5GTLnyrIUnLtEjWtzToVH3P7dq6yjk A34ga07NChk6PUVlstIePrywQwXGOKsCqSHXpwIDAQABAoIBAG6EMVyo0BMCNQfm IiyhSYWSLqLozXeVbtH5+ddzhyVkElSc/1iprPuBL8WD/eQ8Dq29Zj40ZBJtWuXn HRkhs8VwztO+IeGQEzd0DIp9LK+3nGoakrKn+XjlfIBqZRvRPDzHZ6hVJUj9ieJ7 tRMTL/uXQF7lf8ScyP4NFUlHNnlhX7LCrMlJEf7PwWaC/zrDLxR5RnJd0Ch3ecfe nYfP3BYrNpJAlnWIeQcXr8Ob8Fz5qMi2apj72R+FGtvymOq0676788sSsTasdMXs -----END RSA PRIVATE KEY----- |
Тепер його можна використовувати як Server.key вашого вебсервера Apache.
Щоб видобути сертифікат і сконвертувати його у pem, виконайте наступну команду:
1 |
openssl pkcs12 -in myCert.pfx -clcerts -nokeys -out EntrustCert.pem |
Тепер його можна використовувати як Server.crt вашого вебсервера Apache.
Конвертація pfx у pem у Windows
Для Windows команди такі самі, проте вам може знадобитися вказати повний шлях до openssl.exe якщо він не внесений до системної змінної PATH.