Проверка подписи DSA в SAML 2.0 с PHP

Я проверил SO и погуглил, но пока не нашел ответов. Я использую SAML 2.0 в качестве поставщика услуг, а встроенный php-saml - сначала использовал simplesamlphp, но мне было трудно внедрить его.

Ответ IdP возвращается с подписью

<signaturemethod algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1">

и похоже, что xmlseclibs не поддерживает подписи dsa.

Вопрос A: какие-либо предложения, что использовать для проверки подписи dsa?

Вопрос B: просто любопытно, какие библиотеки используют другие люди для SAML. Я просто потратил около 20 минут на simplesamlphp и обнаружил, что он полностью зависит от собственных структур URL и является подходящей конечной точкой веб-сервера, а не просто библиотекой.

ура

2 ответа

Решение

PingFederate (из Ping Identity) предоставляет вам DSA в качестве опции (как IDP и SP). Хотя подпись XML обязывает алгоритм подписи DSAwithSHA1, это не требуется в SAML V2.0, но РЕКОМЕНДУЕТСЯ.

Хотя PF не является библиотекой кода (это законченное локальное решение SSO), она поддерживает все различные протоколы идентификации, необходимые для облачных вычислений (SAML 1.0/1.1/2.0/WS-Federation), и может довольно легко подключиться к приложению PHP через Веб-сервисы RESTful или библиотеки PHP.

Часть исторической причины отсутствия поддержки DSA в библиотеках PHP может быть связана с этим:

Другие вопросы по тегам