Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline BIM  
#1 Оставлено : 17 мая 2012 г. 16:09:06(UTC)
BIM

Статус: Участник

Группы: Участники
Зарегистрирован: 03.05.2012(UTC)
Сообщений: 12
Откуда: Владимир

Имеется: ubuntu 12.04, крипто про csp 3.6, apache+php - клиент веб-сервиса.
Сервер веб-сервиса реализован на платформе .net
Требуется: получить доступ к веб-сервису, аутентификация на котором осуществляется с помощью сертификатов x509.
Как это можно реализовать,, подскажите пожалуйста. Можно ли средствами php получить сертификат из локального хранилища?
Offline Sergey M. Murugov  
#2 Оставлено : 17 мая 2012 г. 18:03:01(UTC)
Sergey M. Murugov

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.06.2008(UTC)
Сообщений: 230
Откуда: Москва

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 40 раз в 28 постах
Если я правильно понял (не очень внятно написано от кого к кому нужен доступ), то самое простое, построить TLS с двухсторонней аутентификацией от клиента до апача, а дальше разрулить доступ модулем апача, если нужен только доступ (кого пускать а кого нет), либо php смотреть переменные окружения куда вся информация по сертификату клиента попадёт и анализировать всё что надо.
Offline BIM  
#3 Оставлено : 17 мая 2012 г. 20:41:44(UTC)
BIM

Статус: Участник

Группы: Участники
Зарегистрирован: 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];
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.