У меня есть клиент, который отправляет ключ безопасности. Шифрование, которое они используют, - тройной DES. Каждое присваиваемое им подтверждение имеет значение подписи, которое необходимо проверить, чтобы предоставить им необходимые привилегии. Можете ли вы дать мне пример кода, который делает это?Как подтвердить значение подписи SAML
ответ
Шифрование и подписание являются двумя разными животными. Triple DES - это симметричный ключевой метод (тот же ключ, используемый для шифрования и дешифрования). С другой стороны, цифровые подписи используют асимметричные ключи (пара частных/открытых ключей), где подпись вычисляется с использованием закрытого ключа и может быть проверена с использованием открытого ключа. Поэтому, если ваш клиент хочет включить подписи в XML, они отправляют вас, тогда они должны предоставить вам свой открытый ключ.
Для шифрования типичным для SAML является использование XMLEncryption, которое определяет формат XML для включения информации ключа шифрования и зашифрованных данных в сообщениях SAML. Поскольку обмен статическим симметричным ключом проблематичен - если он перехвачен, перехватчик может как шифровать, так и расшифровывать любые сообщения - что может быть сделано вместо этого - использовать динамический симметричный ключ, который генерируется заново для каждого сообщения, шифрует сообщение, используя ключ, затем зашифруйте этот ключ с помощью открытого ключа частной/общедоступной пары ключей шифрования и отправьте его вместе с сообщением. Зашифрованный симметричный ключ может быть дешифрован только с использованием закрытой половины пары ключей, используемой для шифрования.
Таким образом, наиболее существенная разница здесь, с точки зрения ключевого аспекта, заключается в том, что для подписания клиент имеет закрытый ключ и должен совместно использовать открытый ключ, а для шифрования вы занимаете закрытый ключ и должны делиться общественностью ключ с клиентом.
Если вы хотите, чтобы проверить подпись на SAML утверждения или любой из объектов XML цифровую подпись, то OpenSAML WIKI имеет больше информации:
https://wiki.shibboleth.net/confluence/plugins/viewsource/viewpagesrc.action?pageId=3277047
Вы можете искать «Проверка подписи примеров».
Этот блог также есть пример, а также:
http://mylifewithjava.blogspot.com/2012/11/verifying-signatures-with-opensaml.html
Чтобы получить «удостоверение» для проверки, смотрите здесь: http://mylifewithjava.blogspot.com/2011/03/getting-credentials-in-opensaml.html
Для получения информации о том, как маршализацию XML в Открыть объект SAML, смотрите здесь: https://wiki.shibboleth.net/confluence/display/OpenSAML/OSTwoUsrManJavaCreateFromXML
Спасибо, Yogesh
Я подробно объясняю это подробно в своей новой книге «Руководство по OpenSAML», https://gumroad.com/l/a-guide-to-opensaml –
К сожалению, ссылки и книги не используются, t, похоже, описывает, как построить «учетную запись» (используемую функцией «SignatureValidator()» из подписи внутри SAML. – GrandAdmiral
- 1. SAML 2.0 x509 Сертификат и значение подписи?
- 2. Проверка подписи поставщика услуг SAML
- 3. SAML: Почему сертификат в Подписи?
- 4. Проверка подписи в ответе SAML
- 5. Проверка подписи SAML в python
- 6. SAML Запрос подтверждения проверки подписи
- 7. Какое возможное значение для конкатенированной строки для генерации подписи SAML
- 8. Сертификат подписи SAML - какой тип сертификата SSL?
- 9. Проверка подписи SAML с использованием Python/M2Crypto
- 10. Saml 2.0 Подтверждение подписи не выполнено
- 11. Проверка подписи SAML с флагом Python
- 12. Ошибка подтверждения подписи для ответа SAML
- 13. Значения атрибута подписи в SAML 2.0
- 14. Подтвердить подпись SAML Java от C#
- 15. Подтвердить/Добавить PDF-подписи с iText7
- 16. SAML 2.0 Невозможно увидеть значение X509Certificate в утверждении SAML
- 17. Как получить BasicX509Credential из ответа SAML 2.0
- 18. spring + saml Не удалось подтвердить подпись протокола протокола
- 19. не может получить значение подписи в SAMLResponse
- 20. Как подтвердить значение, отправленное счетчиком
- 21. как подтвердить количество текстовое значение
- 22. Подтверждение подлинности подписи и дешифрования весны saml для утверждения
- 23. Запрос ADFS SAML не подписан с ожидаемым алгоритмом подписи
- 24. Подписанная проверка подписи XML для SSO SAML (с использованием sha256)
- 25. Подтвердить значение в свойстве
- 26. Подтвердить значение в text_area
- 27. Подтвердить значение конкретной ячейки
- 28. Значение * в документации подписи
- 29. SAML RSA FIM (EMC) can not confirm подписи
- 30. Как проверить сертификаты SAML?
@king - какая у вас платформа? Ява? C#? PHP? укажите, пожалуйста, пример/ответ. –
java using opensaml – stu