Форум КриптоПро
»
Средства криптографической защиты информации
»
Linux, Solaris etc.
»
Подключение к удаленному веб-сервису с использованием сертификатов x509
Статус: Участник
Группы: Участники
Зарегистрирован: 03.05.2012(UTC) Сообщений: 12 Откуда: Владимир
|
Имеется: ubuntu 12.04, крипто про csp 3.6, apache+php - клиент веб-сервиса. Сервер веб-сервиса реализован на платформе .net Требуется: получить доступ к веб-сервису, аутентификация на котором осуществляется с помощью сертификатов x509. Как это можно реализовать,, подскажите пожалуйста. Можно ли средствами php получить сертификат из локального хранилища?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 18.06.2008(UTC) Сообщений: 230 Откуда: Москва
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 40 раз в 28 постах
|
Если я правильно понял (не очень внятно написано от кого к кому нужен доступ), то самое простое, построить TLS с двухсторонней аутентификацией от клиента до апача, а дальше разрулить доступ модулем апача, если нужен только доступ (кого пускать а кого нет), либо php смотреть переменные окружения куда вся информация по сертификату клиента попадёт и анализировать всё что надо.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 03.05.2012(UTC) Сообщений: 12 Откуда: Владимир
|
Попробую ещё раз описать задачу: Есть некий веб-сервис. Чтобы получить к нему доступ необходимо аутентифицироваться через сертификат x.509. Клиентом этого веб-сервиса выступает приложение, написанное на php. На сервере, где крутится это приложение установлена КриптоПро CSP и сертификат, необходимый для аутентификации. Каким образом можно получить доступ к веб-сервису? Как получить сертификат из хранилища сервера приложения-клиента средствами php? На C# подключение к этому вебсервису выглядит вот так: Код:
//Формируем учетные данные для взаимодействия со службой
var store = new X509Store("MY",StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
X509Certificate2Collection fcollection = (X509Certificate2Collection)collection.Find(X509FindType.FindByThumbprint, "e3467c0e9fbe5cd21dc7a5920918af01a158628e", false);
if (fcollection.Count != 1)
throw new Exception("Не могу найти сертификат.");
client.ClientCredentials.ClientCertificate.Certificate = fcollection[0];
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
Linux, Solaris etc.
»
Подключение к удаленному веб-сервису с использованием сертификатов x509
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close