Я пытаюсь реализовать SSO с использованием SAML2, и мое приложение многопользовательское и действует как SP. В настоящее время я работаю над созданием метаданных SP, но я немного застрял на стороне криптографии и, похоже, не нашел примеров, за исключением того, что Стефан Расмуссон потушил там (я даже купил его книгу), но ни один из них он, по-видимому, охватывает создание метаданных. Мой вопрос заключается в том, что для открытых ключей, включенных в метаданные, лучший способ их генерации. Должен ли я использовать мои существующие jks, используемые для подписи остальных моих сообщений, то есть: authnrequests и т. Д., Или должны ли эти ключи быть отдельными, и должен ли ключ быть уникальным для проверки подписей и шифрования данных? Я немного потерял и не смог найти много документации, поэтому любая помощь была бы оценена. Я посмотрел на этот пост: http://blog.samlsecurity.com/2012/02/generating-metadata-with-opensaml.html, но похоже, что он генерирует ключи «на лету», которые на самом деле не будут работать в производстве. Заранее спасибо за помощь!Создание метаданных OpenSaml для SP
0
A
ответ
1
В производстве вы наверняка не будете генерировать ключи на лету. Вы должны зарегистрировать свои метаданные SP с помощью IDP, чтобы работать было нелегко (если только IDP не находится под вашим контролем).
Разрешено для SP to have two private keys, одно для подписания и одно для шифрования/дешифрования, однако это необязательно. Большинство случаев производства я столкнулся, один и тот же ключ используется для обоих. Надеюсь, это поможет.
Кажется, что у вас уже установлена настройка Shibboleth SP, поэтому остальная часть этого ответа может показаться ненужной. Но для полноты, ниже приведены шаги по созданию рабочего Shibboleth SP.
- Получите или создайте хранилище секретных ключей и сертификат. Это может быть самоподписанным или из CA
- Создайте файл метаданных для SP и зарегистрируйте его в федерации. Запись для разделов «подписи» и «шифрования» будет содержать сертификат, полученный на предыдущем шаге.
- Укажите URL-адреса AssertionConsumerService для различных привязок SAML, которые SP будет принимать. IDP вышлет ответ на один из этих адресов
Образец XML-SP метаданных документа хотели бы ниже:
<md:EntityDescriptor entityID="https://mysp.example.com/shibboleth-sp" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
<md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:oasis:names:tc:SAML:2.0:protocol" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
<md:KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:KeyName>mysp.example.com</ds:KeyName>
<ds:X509Data>
<ds:X509Certificate xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
REPLACE_ENTITY_ID_AND_ACS_URL_AND_PUT_YOUR_CERTIFICATE_HERE
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:KeyDescriptor use="encryption">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:KeyName>mysp.example.com</ds:KeyName>
<ds:X509Data>
<ds:X509Certificate xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
REPLACE_ENTITY_ID_AND_ACS_URL_AND_PUT_YOUR_CERTIFICATE_HERE
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="http://mysp.example.com/shibboleth/Shibboleth.sso/SAML2/POST" index="1"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="http://mysp.example.com/shibboleth/Shibboleth.sso/SAML2/Artifact" index="2"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location="http://mysp.example.com/shibboleth/Shibboleth.sso/SAML/Artifact" index="3"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" Location="http://mysp.example.com/shibboleth/Shibboleth.sso/SAML/POST" index="4"/>
</md:SPSSODescriptor>
</md:EntityDescriptor>
Смежные вопросы
- 1. Создание метаданных Shibboleth SP
- 2. Создание метаданных IDP SAML с использованием OpenSaml
- 3. Создание объекта учетных данных из IDP метаданных с OpenSAML v3
- 4. Подписание метаданных SP
- 5. saml2.0 Генерация метаданных с помощью OpenSAML
- 6. Unmarshalling saml расширения метаданных с использованием opensaml
- 7. OpenSaml извлечение неправильный объект RoleDescriptor
- 8. Shibboleth opensaml :: FatalProfileException
- 9. создание метаданных для многоуровневого JSON
- 10. Метаданные для поставщика услуг. Использование OpenSAML
- 11. Создание SP, специфичного для базы данных?
- 12. Создание метаданных с препроцессором
- 13. Создание метаданных Idb shibboleth
- 14. Динамическое создание метаданных для страницы - Сторона клиента
- 15. Создание метаданных для генерации кода xml
- 16. Автоматическое создание классов метаданных для платформы Entity
- 17. Внедрение поставщика услуг с использованием OpenSAML
- 18. Создайте два разных метаданных SP, используя Spring Security SAML'
- 19. Keycloak IdP SAML 2 Экспорт метаданных XML в SP
- 20. OpenSaml AuthnRequest подпись
- 21. OpenSAML HTTP Post Binding
- 22. OpenSAML: Включить сертификат X509 в EncyptedAssertion
- 23. Что такое OpenSAML? Любая альтернатива?
- 24. OpenSaml прочитал метаданные
- 25. Opensaml KeyInfo Configuration
- 26. Создание утверждения OpenSAML из заданного XML в Java
- 27. GAE + SAML + JAVA + OpenSAML
- 28. OpenSaml encryptedID Validation Failed
- 29. Axis2 и OpenSAML
- 30. Создание термина терпит неудачу в SP 2013