Цифровая подпись saml

Тема в разделе "Как сделать...", создана пользователем SimonSmith, 18 янв 2012.

  1. SimonSmith

    SimonSmith Постоялец

    Регистр.:
    25 сен 2008
    Сообщения:
    148
    Симпатии:
    33
    Здравствуйте,
    стоит задача написать API что-ли, или н3 как назвать. Нужно прикрутить ОпенИД к сайту. Передача данных происходит через цифровую подпись SAML. Есть сертификат и ключ. Каким-то образом нужно сгенерировать из файла с ключем XML схему, отправить на ОпенИД, потом при получении ответа проверить сертификат на подлинность (как-то так :-/). Есть 2 файла pfx и cer. Подскажите как с этим работать, куда копать?
     
  2. Дмитрий Кесаев

    Дмитрий Кесаев aka Zlobniy Babko

    Заблокирован
    Регистр.:
    10 май 2007
    Сообщения:
    1.332
    Симпатии:
    1.266
    +1 подобное давно ищу, но конкретной реализации не встречал
     
  3. SimonSmith

    SimonSmith Постоялец

    Регистр.:
    25 сен 2008
    Сообщения:
    148
    Симпатии:
    33
    если я не ошибаюсь, используя гугл понял процедуру:
    1. файл *.pfx конвертируем в *.pem
    2. из файла *.pem извлекаем ключ, создаем XML схему, кодируем в base64 и отправляем дальше (SAMLRequest)

    после этого получаем ответ от сервера (SAMLResponse) с ключом который проверяем в *.cert

    теперь надо найти способ реализации всего этого.
     
  4. admLoki

    admLoki генератор случайного PHP

    Регистр.:
    14 сен 2006
    Сообщения:
    481
    Симпатии:
    93
  5. SimonSmith

    SimonSmith Постоялец

    Регистр.:
    25 сен 2008
    Сообщения:
    148
    Симпатии:
    33
    admLoki немного не то... до XML надо конвертировать pfx в pem и уже из pem файла берем ключ и создаем XMLку

    На Windowse можно конвертировать с openssl
    http://www.globalsign.com/support/install/install_pfx_apache.php

    Edited:
    Все на много проще. Конвертируем 1 раз в Windowse и работаем всегда файлом pem. Извлекаем ключ и посылаем на сервер.
     
  6. SimonSmith

    SimonSmith Постоялец

    Регистр.:
    25 сен 2008
    Сообщения:
    148
    Симпатии:
    33
    так и не разобрался что да как...admLoki в вашем примере используется шифрование без ключа

    Если кто еще знает как можно зашифровать ключ кроме как http://code.google.com/p/xmlseclibs/ отпишитесь... пробовал с xmlseclibs.php но принимающий сервер написан на другом языкe программирования и получается не совпадение шифрования