Проверка Opensaml против проверки ComponentSpace
Я использую opensaml для подписи моего SAML, и я также могу успешно проверить его, используя OpenSAML SignatureValidator.
SignatureValidator signValidator = new SignatureValidator( publicCredential );
signValidator.validate( signature );
IdP использует пространство компонентов для проверки на своей стороне, однако они не могут проверить его, используя те же SAML и publicCertificate.
bool retVal = SAMLMessageSignature.Verify(samlResponseXml, x509Certificate);// returning false
Алгоритм подписи в SAML является RSASHA1. Из их логов мы увидели, что хэш-значение подписи отличается. Вот журналы:
1 ответ
Как вы говорите, вычисленные и ожидаемые хэши отличаются, что указывает на то, что XML был изменен после подписания. У нас нет известных проблем взаимодействия с OpenSAML, поэтому я подозреваю, что здесь происходит что-то еще. Трудно сказать, в чем проблема из ограниченной информации. Я предлагаю SP связаться с нами, включая полный журнал SAML, и мы сможем решить эту проблему.