Задать вопрос

Как в linux использовать сертификат сгенерированный в windows?

День добрый. Пытаюсь установить с помощью PHP в Ubuntu 14.10 подключение к одному SOAP-сервису. Что было сделано:
Фрагмент документации:
Создание и настройка сертификатов
Для самостоятельного создания сертификата выполните следующие действия:
1. Выполните следующую команду для создания сертификата:
makecert.exe -n "CN=name" -ss My -r -m 120 -pe -sky exchange -a sha1
2. С помощью оснастки «Сертификаты» экспортируйте созданный сертификат в .cer файл и отправьте его на адрес, предоставленной службы технической поддержки.
3. С помощью оснастки «Сертификаты» импортируйте файл сертификата в «Доверенные лица» (Trusted people).


Теперь у меня имеется эта пара сертификатов *.cer. Моё затруднение в том, чтобы понять, как этими сертификатами воспользоваться. Пытался создавать стандартный SoapClient указывая в настройках присланный мне сертификат конвертированный в pem-формат, соединение молчком отваливается по таймауту.
Попытался отправить запрос с помощью curl без soap-клиента, тогда уже вернулась ошибка о подписи и безопасности. Насколько помню (давно воюю) я взял сертификат сгенерированный на нашей стороне в Windows, извлёк из него открытый и закрытый ключ в pem-формате, указал их в настройках curl с помощью CURLOPT_SSH_PUBLIC_KEYFILE и CURLOPT_SSH_PRIVATE_KEYFILE, указал сертификат присланный техподдержкой сервиса в pem-формате с помощью CURLOPT_SSLCERT, но всё равно ошибка та же.
Ранее приходилось работать только с сертификатами от crypto, но там помимо сертификаты присылали ещё шесть файлов ключей и приходилось делать подмену библиотеки, чтобы использовать курл от криптопро, но как я понимаю, здесь не тот случай.
Вообще, как я понимаю, для подключения нужно использовать открытый и закрытый ключ той машины, на который генерировался сертификат, он же ведь подтверждает только пару этой машины?
Ещё пытался запускать скрипт получив доступ к той машине в windows в которой генерировался сертификат, предварительно добавив его с помощью оснастки в доверенные, но получил те же самые ошибки о подписи и безопасности. "An error occurred when verifying security for the message."

Направьте меня пожалуйста на путь истинный.
  • Вопрос задан
  • 4438 просмотров
Подписаться 6 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
justabaka
@justabaka
А какой второй .cer-файл получился, не ca.cer ли, случаем? CER легко конвертируется в CRT: stackoverflow.com/a/5478901

Скажем, для использования wget с аутентификацией по ключу требуется следующее:
* CA-сертификат для валидации сертификата сервера (обычно ca.crt);
* client.crt - клиентский сертификат (открытый ключ);
* client.pem (.key) - клиентский закрытый ключ
Ответ написан
Комментировать
EminH
@EminH
Скачайте openssl для windows и конвертируйте в нужный формат
Или используйте онлайн конвертер
https://www.sslshopper.com/ssl-converter.html
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы