VERIFY TOKEN
验证 Kerberos 令牌是否有效 (由外部安全性管理器确定) ,并 (可选) 允许调用者抽取与 Kerberos 令牌中的主体相关联的 RACF® 用户标识。
描述
使用 VERIFY TOKEN 命令验证 Kerberos 令牌是否有效 (由外部安全性管理器确定)。 该命令 (可选) 返回与令牌关联的 Kerberos 主体的用户标识。 如果 Kerberos 令牌指示正在使用相互认证,那么该命令将返回 Kerberos 输出令牌。
VERIFY TOKEN 命令使用 z/OS® Security Server 来验证令牌是否是有效的 Kerberos 令牌,以及该令牌是否可由 CICS® 区域使用。 如果指定了 ISUSERID ,那么将获取令牌的 Kerberos 主体的用户标识。
VERIFY TOKEN 命令不依赖于主体设施。 因此,可以在非终端环境中发出此消息,例如,为 Web Service 提供认证。
如果外部安全性管理器是 RACF,那么运行命令的 CICS 区域必须由 RACF 授权,以便可以获取令牌的 Kerberos 主体。 有关更多信息,请参阅 为 Kerberos配置 RACF。 无论是否指定了 ISUSERID ,都需要此 RACF 授权。
如果 TOKEN 是指示正在使用相互认证的 Kerberos 令牌,那么必须指定 OUTTOKEN 和 OUTTOKENLEN 选项。 在此情况下, OUTTOKEN 将返回从外部安全性管理器 (例如 z/OS Security Server) 获取的输出令牌, OUTTOKENLEN 将返回输出令牌的长度。 调用程序应该将输出令牌返回到提供了 Kerberos 令牌的系统,以允许对 CICS 区域进行认证。
如果 TOKEN 是未指示正在使用相互认证的 Kerberos 令牌,并且如果指定了 OUTTOKEN 和 OUTTOKENLEN ,那么这些选项中返回的值为零。
有关此命令的安全性故障的更多信息,请参阅写入目标 CSCS 的错误消息。
选项
- 数据类型
- 指定 TOKEN 和 OUTTOKEN 选项中的数据类型。 CVDA 值如下:
- BIT
- 位数据。 这是缺省值。
- BASE64
Base64 编码的字符数据。 可接受的字符为 A-Z a-z 0-9 +/=。
如果您的字符数据不是美国 EBCDIC 兼容字符 CCSID ,那么必须对其进行转换。 您可以使用 CONTAINER API 来执行转换。
- ENCRYPTKEY (数据区)
- 这是用于对返回的 PassTicket进行加密的 4 字节令牌。
- ESMREASON (data-area)
- 在全字二进制字段中返回 CICS 从外部安全管理器接收的原因码。
如果外部安全性管理器是 RACF,那么此字段是 RACF 原因码。
如果外部安全管理器是 RACF,并且使用了 ENCRYPTKEY ,那么可能的值为 提供的 RACF 原因码。 请参阅 z/OS Security Server RACF Callable Services 中的子功能代码。 有关原因码的说明,请参阅 R_GenSec 返回码和原因码 z/OS Security Server RACF Callable Services 和 z/OS Integrated Security Services Network Authentication Service Administration中的状态码。
外部安全性管理器不会始终向 CICS返回响应和原因码。 确保除了检查 ESMRESP 和 ESMREASON 值外,还检查此命令返回的 EIBRESP 和 EIBRESP2 值。
- ESMRESP (数据区)
- 在全字二进制字段中返回 CICS 从外部安全管理器接收的响应代码。
如果外部安全性管理器是 RACF,那么此字段是 RACF 返回码。
外部安全性管理器不会始终向 CICS返回响应和原因码。 确保除了检查 ESMRESP 和 ESMREASON 值外,还检查此命令返回的 EIBRESP 和 EIBRESP2 值。
- ISUSERID (数据区)
- 返回与令牌关联的 Kerberos 主体的 8 字节用户标识。
- OUTTOKEN (ptr-ref)
- 返回从外部安全性管理器获取的输出令牌的 31 位用户密钥存储器中的地址。
- OUTTOKENLEN (数据区)
- 在最大值为 1024 的全字二进制字段中返回输出令牌的长度。
- TOKEN (数据区)
- 从安全性令牌服务 (STS) 获取的令牌。
- TOKENLEN (data-value)
- 作为全字二进制值的令牌的长度。
- TOKENTYPE (cvda)
- 指示令牌的类型。
- KERBEROS
- 该令牌是 Kerberos 令牌。
条件
- 16 INVREQ
- RESP2 值如下所示:
- 13
- 外部安全管理器在 ESMRESP中发出未知返回码。
- 18
- 未初始化 CICS 外部安全性管理器接口。
- 29 日
- 外部安全管理器未响应。
- 31 日
- 为 TOKENTYPE指定了非 KERBEROS 的 CVDA 值。
- 32
- 为 DATATYPE指定了除 BASE64 或 BIT 以外的 CVDA 值。
- 36
- 指定了数据类型 BASE64 ,但 TOKEN 不包含 BASE64 数据。
- 40
- 密钥分发中心未启动或正在终止。
- 41
- 密钥分发中心未响应。
- 47
- 外部安全性管理器没有为与令牌关联的 Kerberos 主体定义用户标识。
- 50
- TOKEN 中指定的数据不是 Kerberos 令牌。
- 51
- Kerberos 令牌不支持消息机密性。
- 52
- Kerberos 令牌指示正在使用相互认证,但尚未在命令中指定 OUTTOKEN 和 OUTTOKENLEN 。
- 22 LENGERR
- RESP2 值如下所示:
- 45
- Kerberos 令牌的长度超过最大值 65535。
- 70 NOTAUTH
- RESP2 值如下所示:
- 20
外部安全性管理器未授权请求验证令牌。 请参阅写入目标 CSCS 的错误消息。
- 42
- 由于关联的凭单已到期,因此无法完成 Kerberos 请求。
- 43
- 认证程序已到期。
缺省操作: 异常终止任务。
