Rails + RestClient + SSL + PFX (p12) = как быть вообще, а?
Добрый день господа.
Отчаянно нуждаюсь в вашем совете.
Встала задача - подключиться через рельсовое приложение к удалённому API, авторизация в котором происходит только по ключу.
Ключ нам выдали в формате .pfx. Возможно кто-то знает что это вообще за безобразие.
Во всех примерах что мне удалось найти используется либо пачка .pem-файлов, либо, в редких случаях - .p12
Однако сколько бы я не пробовал их вытаскивать из .pfx и использовать в RestClient - авторизация проваливается.
Суть проблемы заключается в том, что я вообще слабо себе представляю принцип обмена информацией в этом ключе, в особенности при наличии .pfx.
Прошу подсказать - как быть, куда копать?
Возможно кто-то уже делал нечто подобное или же видел похожие примеры реализации подобной задачи.
.pfx - ранняя версия формата PKCS#12. Как преобразовать - написано здесь
UPD: Скорее всего Вам понадобится ключ, сертификат и сертификат CA по отдельности. Как это делается в софте, не знаю, но скажем в VPN все эти компоненты указываются отдельно. Хотя может быть и ровно наоборот - программа сама умеет раздербанить PFX
Riley Usagi, Расширения - это зло :) Главное что внутри. У ключа внутри текст со словом KEY вначале, у сертификата со словом СERTIFICATE.(Если файлы бинарные - их только смотреть через виндовый проводник либо сконвертить в PEM). В файле .key - скорее всего ключ. В файле .cer - сертификат. СА - это общепринятое сокращение от Certificate Authority (Удостоверяющий Центр), то есть та контора, что выдала сертификат, даже если это некий частный CA. Обычно, если сертификат выдан всемирно известной конторой, сертификат CA можно не указывать. Если же частной - придется указать, иначе он валидацию не пройдет
CityCat4, вот у меня, видимо, как раз таки не всемирно известный. Встаёт вопрос - где его взять? В PFX-контейнере его нет, как я понимаю? Необходимо как-то связываться с удостоверяющим центром и просить у них этот файл?
Riley Usagi, если не всемирно известный, то однозначно запросить у них их корневой сертификат и все промежуточные, если есть, хотя корневой обычно пакуется в контейнер.