SAML 签发者配置属性

创建一个新的自签发 SAML 令牌时,您可以指定配置属性,以控制如何配置令牌。这些配置属性是名称/值对,描述了提供程序端的信息(例如签发者位置)以及密钥库和信任库文件的路径。

可以在名为 SAMLIssuerConfig.properties 的属性文件中存储 SAML 签发者配置属性。在 WebSphere Application Server V8 中不推荐使用 SAMLIssuerConfig.properties 文件。

从 WebSphere Application Server V8 开始,您还可在 WS-Security 策略绑定或 Web Service 安全性 (WSS) 应用程序编程接口 (API) WSSGenerationContext 中指定这些属性。

在管理控制台中,在 WS-Security 出站定制属性中设置这些属性。示例路径为服务 > 策略集 > 常规客户机策略集绑定 > Saml Bearer Client 样本 > WS-Security > 定制属性。您还可使用 setSAMLIssuerConfigInBinding 管理任务在 WS-Security 策略绑定中设置属性。有关更多信息,请参阅“使用 wsadmin 命令管理自签发 SAML 令牌配置”。

在 WS-Security 绑定中,还可以在 SAML 令牌使用者或 SAML 令牌使用者回调处理程序上设置这些属性。优先顺序从高到低为:回调处理程序、令牌使用者、常规定制属性。

如果通过 SAML 令牌生成器使用 WS-Security 绑定来自签发 SAML 令牌,那么可以使用两种方法生成令牌:
  1. 从头开始生成自签发令牌。
  2. 根据 runAs 主体集中现有令牌生成自签发令牌。如果主体集中没有令牌,那么将从头开始构建令牌。
避免故障 避免故障: 如果要确保从头开始生成自签发令牌,那么必须在 SAML 令牌生成器回调处理程序上设置 NameID 定制属性。如果未在令牌生成器回调处理程序上设置 NameID 属性,并且 runAs 主体集中没有 SAML 令牌,那么令牌中主体集的 NameID 将设置为 UNAUTHENTICATED。gotcha

如果使用 SAML 令牌生成器通过 WSSAPI 来自签发 SAML 令牌,那么会使用散列映射将定制属性直接添加至 com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext。请参阅 com.ibm.websphere.wssecurity.wssapi.WSSGenerationContext 的 javadoc,以获取更多信息。

如果将使用 com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory WSSAPI 创建自签发 SAML 令牌,那么 SAMLTokenFactory.newDefaultProviderConfig() 方法会返回 com.ibm.wsspi.wssecurity.saml.config.ProviderConfig 对象,此对象将对象值设置为 SAMLIssuerConfig.properties 文件中指定的属性。如果未指定 SAMLIssuerConfig.properties 文件(建议的编程样式),那么将返回具有空内容的 ProviderConfig 对象。使用 ProviderConfig setter 方法填充其内容。请参阅 com.ibm.websphere.wssecurity.wssapi.token.SAMLTokenFactory 的 javadoc,以获取更多信息。

SAMLIssuerConfig.properties 文件位置

在每个服务器中创建并存储包含提供程序端属性单个配置文件(例如 SAMLIssuerConfig.properties)。在 WebSphere® 服务器上,该文件位于服务器级别的存储库中或位于单元级的存储库中。在非基于 WebSphere 的环境中,该文件位置由 Java™ 系统属性进行定义。此属性的名称为 com.ibm.webservices.wssecurity.platform.SAMLIssuerConfigDataPath

例如,在 WebSphere 服务器上,此文件在服务器级别的位置为:app_server_root/profiles/$PROFILE/config/cells/$CELLNAME/nodes/$NODENAME/servers/$SERVERNAME/SAMLIssuerConfig.properties

在 WebSphere 服务器上,此文件在单元级别的位置为:app_server_root/profiles/$PROFILE/config/cells/$CELLNAME/sts/SAMLIssuerConfig.properties

SAML 令牌属性

下表描述了提供程序的配置属性。
表 1. 为新的 SAML 令牌提供程序信息配置属性. 使用这些属性可以控制令牌的创建方式。此表显示 SAMLIssuerConfig.properties 文件和 WS-Security 策略绑定中使用的属性。
SAMLIssuerConfig.properties 属性名 策略绑定属性名 样本属性值 属性描述
com.ibm.wsspi.wssecurity.dsig.oldEnvelopedSignature com.ibm.wsspi.wssecurity.saml.config.issuer.oldEnvelopedSignature true 仅在将 com.ibm.wsspi.wssecurity.dsig.enableEnvelopedSignatureProperty JVM 定制属性设置为 true 时使用。请参阅主题“Java 虚拟机 (JVM) 定制属性”以了解有关您何时可能要使用此 JVM 定制属性的描述。
IssuerFormat com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerFormat urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName SAML 令牌中签发者元素的格式属性的值。
注: 如果要向签发者元素中添加格式属性,那么您必须指定此属性。
IssuerURI com.ibm.wsspi.wssecurity.saml.config.issuer.IssuerURI http://www.websphere.ibm.com/SAML/SelfIssuer 签发者的 URI。
TimeToLiveMilliseconds com.ibm.wsspi.wssecurity.saml.config.issuer.TimeToLiveMilliseconds 3600000 令牌到期前的时间量。此属性用于在令牌中设置 NotOnOrAfter 属性。NotOnOrAfter 设置为 (currentTime)+TimeToLive+(currentClockSkew)。
KeyStoreRef com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreRef name=myKeyStoreRef managementScope=(cell):myCell:(node):myNode 对包含签名密钥的 security.xml 中受管密钥库的引用。
KeyStorePath com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePath app_server_root/etc/ws-security/samples/dsig-receiver.ks 包含签名密钥的密钥库文件的位置。
注: 您必须修改此属性的缺省值,以匹配您的系统的路径位置。
KeyStoreType com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStoreType JKS 密钥库类型。
KeyStorePassword com.ibm.wsspi.wssecurity.saml.config.issuer.KeyStorePassword password 密钥库文件的密码(该密码必须使用 XOR 编码)。有关更多信息,请阅读“对文件中的密码进行编码”。
KeyAlias com.ibm.wsspi.wssecurity.saml.config.issuer.KeyAlias soapprovider 密钥库中定义的签名专用密钥的别名。
KeyName com.ibm.wsspi.wssecurity.saml.config.issuer.KeyName CN=SOAPProvider, OU=TRL, O=IBM, ST=Kanagawa, C=JP 密钥库文件中定义的签名专用密钥的名称。此名称用于引用,运行时不对其进行评估。
KeyPassword com.ibm.wsspi.wssecurity.saml.config.issuer.KeyPassword password 密钥库文件中定义的专用密钥的密码(该密码必须使用 XOR 编码)。
TrustStoreRef com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreRef name=myTrustStoreRef managementScope=(cell):myCell:(node):myNode 对包含加密证书的 security.xml 中受管密钥库的引用。
TrustStorePath com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePath app_server_root/etc/ws-security/samples/dsig-receiver.ks 包含加密证书的库文件的位置。
注: 您必须修改此属性的缺省值,以匹配您的系统的路径位置。
TrustStoreType com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStoreType JKS 包含加密证书的库文件的存储类型。
TrustStorePassword com.ibm.wsspi.wssecurity.saml.config.issuer.TrustStorePassword password 包含加密证书的库文件的密码。
AttributeProvider com.ibm.wsspi.wssecurity.saml.config.issuer.AttributeProvider com.mycompany.SAML.AttributeProviderImpl 属性提供程序的实现类型。
注: 该类必须实现 javax.security.auth.callback.CallbackHandler。该类应接收 com.ibm.websphere.wssecurity.callbackhandler.Saml11AttributeCallback 或 com.ibm.websphere.wssecurity.callbackhandler.Saml20AttributeCallback 回调对象,然后更新通过从该对象调用的 getSAMLAttributes 方法接收到的 SAMLAttribute 列表。

有关更多信息,请参阅“使用 API 向自签发 SAML 令牌添加属性”。

EncryptingAlias com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptingAlias soaprecipient TrustStore 属性上提供的存储文件中的条目,其中包含将用于为 SAML 令牌加密的公用证书。使用 API 生成自签发令牌时,使用 setKeyAliasForAppliesTo 方法在 RequesterConfig 上设置的别名将优先于为此属性提供的值。
EncryptSAML com.ibm.wsspi.wssecurity.saml.config.issuer.EncryptSAML true 如果要生成加密的 SAML 令牌,请将此属性设置为 true。此属性的缺省值为 false。

使用 API 生成自签发令牌时,还可以表明要使用 RequesterConfig 对象上的 setEncryptSAML(true) 方 法为 SAML 令牌加密。如果 RequesterConfig 对象上的 setEncryptSAML=true 或 EncryptSAML 定制属性设置为 true,那么将会为 SAML 令牌加密。

NameIDProvider com.ibm.wsspi.wssecurity.saml.config.issuer.NameIDProvider com.mycompany.SAML.NameIDProviderImpl 名称 ID 提供程序的实现类型。
注: 该类必须实现 javax.security.auth.callback.CallbackHandler。该类应接收 com.ibm.websphere.wssecurity.callbackhandler.NameIDCallback 回调对象,然后调用该对象上的 setSAMLNameID 方法来更新 NameID。

有关更多信息,请参阅“使用 API 定制自签发 SAML 令牌的名称标识”。

UseSha2ForSignature com.ibm.wsspi.wssecurity.saml.config.issuer.UseSha2ForSignature true 将此属性设置为 true 将在签发 SAML 令牌时使用 SHA-2 签名算法 http://www.w3.org/2001/04/xmldsig-more#rsa-sha256。

示例

请参阅以下有关 SAML 令牌配置属性文件的示例:
IssuerURI=http://www.websphere.ibm.com/SAML/SelfIssuer
TimeToLiveMilliseconds=3600000
KeyStorePath=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
KeyStoreType=JKS
KeyStorePassword={xor}LDotKTot
KeyAlias=soapprovider
KeyName=CN=SOAPProvider, OU=TRL, O=IBM, ST=Kanagawa, C=JP
KeyPassword={xor}LDotKTot
TrustStorePath=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
TrustStoreType=JKS
TrustStorePassword={xor}LDotKTot 

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_samltokenproperties
文件名:rwbs_samltokenproperties.html