2.9. 其他功能
2.9.1. SAML 断言加密 复制链接链接已复制到粘贴板!
除了在 Is 和 SP 之间提供 SSL/TLS 加密外,SAML 断言本身也可进行加密。这可用于保护以不安全方式传输的 SAML v2 断言,例如不使用 SSL/TLS。
要直接在 IDP 和 SP 中对安全断言进行加密,必须在 IDP 和 SP picket link.xml
文件中执行以下步骤:
启用
加密
和支持系统.
要启用加密,必须更新
<PicketLinkIDP>
和<PicketLinkSP>
。对于 IDP,将
<PicketLinkIDP>
中的Encrypt
和SupportsSignatures 属性
添加或更新为 true:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 SP,添加或更新
<PicketLinkSP>
中的SupportsSignatures 属性
为 true:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加处理程序.
此外,处理器必须添加到
<Handlers>
。对于 IDP,将
SAML2EncryptionHandler
和SAML2SignatureValidationHandler
添加到picketlink.xml
文件中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 SP,将
SAML2SignatureGenerationHandler
和SAML2SignatureValidationHandler
添加到picketlink.xml
文件中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告处理程序通过责任链来实施,每个处理程序按照 selectet
link.xml
定义的顺序执行请求和响应的逻辑。务必要注意处理程序的配置顺序。SAML2SignatureGenerationHandler
不能在与SAML2EncryptoinHandler
相同的链中配置。这将导致 SAML 消息签名多次。配置密钥提供程序.
最后,必须将
<KeyProvider>
元素添加到 BOTH picketlink.xml
文件中。此元素提供用于访问用于加密和解密安全断言的 Java 密钥存储的位置和凭据。有关生成 Java 密钥存储的示例,请参阅 JBoss EAP如何配置服务器安全指南 。对于 IDP,该元素应添加到
<PicketLinkIDP>
中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 SP,该元素应添加到
<PicketLinkSP>
中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意为了正确加密和解密断言,IDP 需要生成签名,SP 需要验证这些签名并确定签名的来源。这通过
<ValidatingAlias>
元素来完成。对于受信任的每个可信服务器/域,需要有一个 <ValidatingAlias>
;,这是<Trust>
元素中的每个条目。SPS 需要为每个包含 IDP 的服务器/域都有一个 <ValidatingAlias>
。