SAML 可链接接口 DFHSAML

本主题描述 CICS® SAML 支持所使用的输入和输出容器,副本, DSECT 和响应代码。

稳定功能: 稳定了使用 CICS 安全令牌服务对 SAML 的支持。 另请参阅 " 稳定通知 "和 "停止的职能 "。

6.3 使用 CICS 安全令牌服务的 SAML 支持已从 CICS TS 6.3 中删除。

6.2 如果使用该函数,CICS_STABILIZED_FUNCTIONS 健康检查会发出消息 DFHH0955。

容器名称和 DSECT 在每个编程语言的副本中都可用,如下表中所示。
表 1. Copybook (按语言)
语言 副本名称 数据集名称
COBOL DFHSAMLO SDFHCOB
PL/I DFHSAMLP SDFHPL1
C DFHSAMLH SDFHC370
汇编语言 DFHSAMLD SDFHMAC

输入容器

表 2 列出了输入容器。 在此表中, nnn 表示可能有多个容器。 容器由字符串 nnn进行区分。 此字符串包含字母数字值,与相应的输入容器不同,其中 nnn 始终是数字。

表 2。 输入容器
名称 类型 描述
DFHSAML-令牌 CHAR SAML 断言。

如果不是区域缺省值,那么应用程序负责指定数据的 CCSID。

DFHSAML-函数 CHAR 可选
SAML-抽取
验证并抽取到容器中。 这是缺省值。
SAML-问题
重新发出 SAML 令牌。
SAML-验证
仅验证。
dfhsaml-jvmservr CHAR 可选

用于运行安全令牌服务器的 JVMSERVER 的名称。

DFHXSTS
缺省值
DFHSAML-过滤器 CHAR 可选

指定针对 SAML-EXTRACT 函数返回哪些容器。 如果省略此容器,那么 CICS SAML 支持将返回所有容器。

请参阅下表以了解 DSECT DFHSAML-FILTER DSECT

DFHSAML-已签名 CHAR 可选

必须对 SAML 令牌进行签名吗?

SAML-必需
是,签名必须存在且有效。 这是缺省值。
SAML-已忽略
未完成签名验证。
DFHSAML-OUTTOKEN CHAR 从令牌验证获取的只读容器。 包含先前已验证的令牌,该令牌正在路由到另一个服务提供者,或者已扩展并随后路由。
DFHSAML-ATTRNnnn CHAR
属性 nnn的属性名称,其中 nnn 是由三个字母数字字符组成的字符串。
在 DFHSAML-COUNTS 容器中,属性数为 SAMLC-ATTRNUM。
DFHSAML-ATTRSnnn CHAR
属性 nnn的属性名称空间,其中 nnn 是由三个字母数字字符组成的字符串。
在 DFHSAML-COUNTS 容器中,属性数为 SAMLC-ATTRNUM。
DFHSAML-ATTRYnnn CHAR
属性 nnn的属性友好名称,其中 nnn 是由三个字母数字字符组成的字符串。
在 DFHSAML-COUNTS 容器中,属性数为 SAMLC-ATTRNUM。
DFHSAML-ATTRFnnn CHAR
属性 nnn的属性名称格式,其中 nnn 是由三个字母数字字符组成的字符串。
在 DFHSAML-COUNTS 容器中,属性数为 SAMLC-ATTRNUM。
DFHSAML-ATTRAnnn BIT BIN (31) 字段,包含属性 nnn的值数。 最大值为 999。 在 DFHSAML-COUNTS 容器中,属性数为 SAMLC-ATTRNUM。
DFHSAML-AnnnVmmm CHAR
属性 nnn的属性值 mmm ,其中 nnnmmm 是三个字母数字字符的字符串。
在 DFHSAML-COUNTS 容器中,属性数为 SAMLC-ATTRNUM。 此属性的值数在 DFHSAML-ATTRAnnn 中。

SAML-过滤器 Dsect

过滤器 DSECT 具有针对每个容器的一系列字段。

字段的名称基于容器的名称,例如SAMLI-CONF冰毒以包含容器 DFHSAML-CONFMETH。

对于要返回的每个容器,将该字段设置为 SAML-YES ,对于不需要的容器,将该字段设置为 SAML-NO

始终返回 DFHSAML 响应容器。

表 3。 SAML-FILTER DSECT 容器
变量 类型 描述
萨姆利浣熊 弧形 (1) DFHSAML-COUNTS 容器
萨姆利时间 弧形 (1) DFHSAML-TIMES 容器
SAMLI-FLAGS 弧形 (1) DFHSAML-FLAGS 容器
SAMLI-ASSQNAME 弧形 (1) DFHSAML-ASSQNAME 容器
SAMLI-AUDNR 弧形 (1) DFHSAML-AUDNR* 容器
SAMLI-AUTHMETH 弧形 (1) DFHSAML-AUTHMETH 容器
SAMLI-CONF冰毒 弧形 (1) DFHSAML-CONFMETH 容器
SAMLI-CERT 弧形 (1) DFHSAML-CERT* 容器
萨姆利-普罗克西 弧形 (1) DFHSAML-PROXY* 容器
SAMLI-ATTR 弧形 (1) 所有属性和值
SAMLI-标识 弧形 (1) DFHSAML-ID 容器
萨姆利-伊苏尔 弧形 (1) DFHSAML-ISSUER 容器
SAMLI-NAMEID 弧形 (1) DFHSAML-NAMEID* 容器
SAMLI-CERTIDN 弧形 (1) DFHSAML-CERTIDN 容器
SAMLI-CERTSDN 弧形 (1) DFHSAML-CERTSDN 容器
萨姆利-苏比洛克 弧形 (1) DFHSAML-SUBJ* 容器

输出容器

以下容器是输出,并且都是只读的。

WebSphere® Application Server 方法在软件包 com.ibm.websphere.wssecurity.wssapi.token 中描述。

此列表是完整 SAML 断言模式的子集。

在下表中, nnn 表示可能有多个容器。 容器编号为 001 到 nnn (返回此类型的容器数)。 不支持超过 999 个特定类型的容器,并且将忽略 SAML 断言中与它们相关的数据。 未映射到 DSECT 的容器是可变长度的。

表 4。 输出容器
名称 类型 描述
DFHSAML-响应 BIT 响应代码
DFHSAML-OUTTOKEN CHAR DFHSAML 处理输出的 SAML 令牌。 根据所执行的处理,可以对其进行验证。 已抽取,或已修改和已重新签名的令牌。
DFHSAML-COUNTS BIT 可变长度容器数 DFHSAML-COUNTS DSECT
DFHSAML-TIMES CHAR 时间值 DFHSAML-TIMES DSECT
DFHSAML-标志 CHAR 标记字节 DFHSAML-FLAGS DSECT
dfhsaml-assqname CHAR SAML 断言名称空间:
SAML 1.1
urn:oasis:names:tc:SAML:1.0:assertion
SAML 2.0
urn:oasis:names:tc:SAML:2.0:assertion
此断言必须是 URI。 如果断言更复杂,那么它将抽取到 3 部件中。
DFHSAML-AUDNRnnn CHAR
AudienceRestriction 名称。
返回的容器数为 AUDNRNUM。
dfhsaml-authmeth CHAR 用于认证令牌持有者的方法。 例如, password , Kerberos和 ltpa。
dfhsaml-confmeth CHAR 此 SAML 令牌中使用的 SubjectConfirmation 方法。 有效方法为 holder-of-key , bearer 或 sender-vouches。 返回的字符串基于 OASIS SAML 令牌概要文件 1.1 和 2.0。
注: 不支持具有多个确认方法的 SAML 令牌。 如果有多个确认方法,那么结果不可预测。
DFHSAML-PROXYnnn CHAR ProxyRestriction 受众名称
DFHSAML-ATTRSnnn CHAR
属性 nnn的属性名称空间,其中 nnn 是 3 数字。
在 DFHSAML-COUNTS 容器中,属性数为 SAMLC-ATTRNUM。
DFHSAML-ATTRYnnn CHAR
属性 nnn的属性友好名称,其中 nnn 是 3 数字。
在 DFHSAML-COUNTS 容器中,属性数为 SAMLC-ATTRNUM。
DFHSAML-ATTRNnnn CHAR
属性 nnn的属性名称,其中 nnn 是 3 数字。
在 DFHSAML-COUNTS 容器中,属性数为 SAMLC-ATTRNUM。
DFHSAML-ATTRFnnn CHAR
属性 nnn的属性名称格式,其中 nnn 是 3 数字。
在 DFHSAML-COUNTS 容器中,属性数为 SAMLC-ATTRNUM。
DFHSAML-ATTRAnnn BIT
具有属性 nnn 的值数的 BIN (31) 字段 (最大值数为 999)。
在 DFHSAML-COUNTS 容器中,属性数为 SAMLC-ATTRNUM。
DFHSAML-AnnnVmmm CHAR
属性 nnn的属性值 mmm ,其中 nnnmmm 是 3 位数字。
在 DFHSAML-COUNTS 容器中,属性数为 SAMLC-ATTRNUM。
此属性的值数在 DFHSAML-ATTRAnnn 中。
DFHSAML-SAMLID CHAR 表示 SAML 2.0的标识的字符串,或表示 SAML 1.1的 AssertionID 。
DFHSAML-ISSUER CHAR 发行人名称
DFHSAML-NAMIDF CHAR 表示基于字符串的标识信息的分类的 URI 引用
DFHSAML-NAMIDQ CHAR 限定名称的安全性或管理域。
dfhsaml-namidspq CHAR 服务提供者的名称或提供者的附属关系。
dfhsaml-namidsp CHAR 由服务提供者或实体提供者的附属关系建立的名称标识。
DFHSAML-NAMID CHAR 名称格式属性的值
dfhsaml-certsnum CHAR 包含 SAML 签署者的 X.509 证书序列号的八字符字段
dfhsaml-certidn CHAR SAML 签署者的 X.509 证书的颁发者专有名称
dfhsaml-certsdn CHAR SAML 签署者的 X.509 证书的主体集专有名称
dfhsaml-subjdns CHAR SubjectLocality 中的 DNSAddress
dfhsaml-subjaddr CHAR SubjectLocality中的 IP 地址。
限制: 不会针对 SAML 2.0返回此容器。
表 5。 响应代码
描述
0 确定
1 令牌无效
2 容器错误
3 缺少必需的输入容器
6 未启用 JVM 服务器
7 找不到 JVM 服务器
9 DFHSAML-FUNCTION 容器不是 CHAR
10 找不到 DFHSAML-TOKEN 容器
11 DFHSAML-TOKEN 容器不是 CHAR
12 DFHSAML-JVM 容器不是 CHAR
13 DFHSAML-FILTER 容器不是 CHAR
14 DFHSAML-SIGNED 容器不是 CHAR
15 解析令牌时发生错误。 DFHSJ-ERROR 容器包含更多详细信息。 请参阅 DFHSJ-ERROR container
16 DFHSAML-FILTER 容器具有无效数据
17 日 DFHSAML-FUNCTION 容器具有无效数据
18 DFHSAML-SIGNED 容器具有无效数据
19 找不到 DFHSAML-OUTTOKEN 容器
21 令牌中的证书已到期
22 令牌不再有效
23 令牌中的证书不受信任
24 容器不是只读的
25 在 STS 配置文件中未配置签名
26 日 添加属性错误
27 属性输入容器不是 CHAR
28 日 属性值缺失或为空
29 日 属性名缺失或为空
30 未指定密钥环
31 日 在密钥环中找不到证书
33 未针对 SAML 配置 JVM 服务器
表 6。 saml-counts dsect
名称 类型 描述
SAMLC-AUDRNUM 带符号全字二进制值 受众限制值的数量
SAMLC-ATTRNUM 带符号全字二进制值 属性数
SAMLC-PROXYNUM 带符号全字二进制值 ProxyRestriction 计数
表 7。 saml-times dsect
名称 类型 描述
同上 CHAR (20) 不在时间之前
SAMLT-到期 CHAR (20) 不晚于或晚于时间
SAMLT-AUTHTIME CHAR (20) 授权 SAML 令牌的时间
SAMLT-CERTNAFT CHAR (20) 证书在以下时间之后无效:
SAMLT-CERTNBEF CHAR (20) 证书之前无效
所有时间都采用全球标准时间 (UTC) 格式。 如果它们不可用,那么该字段为空白。
表 8。 saml-flags dsect
名称 类型 描述
SAMLB-PROXYRST CHAR (1) "Y"/"N" 标志,指示 ProxyRestriction
SAMLB-ONETIME CHAR (1) “Y”/“N”标志表示OneTimeUse