CERTIFICATE_INFO 表函数

CERTIFICATE_INFO 表函数返回一个结果表,其中包含有关服务器或认证中心 (CA) 证书的信息。

该信息与检索证书信息 (QYCURTVCI, QycuRetrieveCertificateInfo) API 返回的信息类似。

授权: 调用者必须提供证书库的密码。 此外,调用者必须具有 *ALLOBJ 和 *SECADM 特权。

读取语法图跳过可视语法图 CERTIFICATE_INFO ( 证书存储密码 => 证书库密码,证书存储 => 证书库)
模式为 QSYS2。
证书存储密码
包含指定证书库的密码的表达式。 建议将密码作为变量传递,而不是作为可视为明文的字符串。
可以使用以下值来代替指定密码。
*NOPWD
将从隐藏的密码文件中检索证书库密码。
证书库
一个字符或图形字符串表达式,用于指示要从中检索证书列表的证书库。 该值可以是证书存储的完整限定集成文件系统目录路径和文件名(以前导斜线 (/) 开头),也可以是以下特殊值之一。 如果文件名未标识证书库,那么不会返回任何行。 如果未指定 certificate-store ,那么缺省值为 *SYSTEM。
*OBJECTSIGNING
*OBJECT签名证书库。
*SIGNATUREVERIFICATION
*SIGNATUREVERIFICATION 证书库。
* 系统
*SYSTEM 证书库。

此函数的结果是包含具有下表中所示格式的行的表。 所有列都是可空的。

表 1. CERTIFICATE_INFO 表函数
列名 数据类型 描述
证书标签 VARCHAR(256) 证书的标签。
serial_number VARCHAR(64) 序列号。
有效 ITY_START TIMESTAMP(0) 有效期的开始日期。
有效 ITY_END TIMESTAMP(0) 有效期的结束日期。
可信的 VARCHAR(3) 指示证书是否可信。
证书不可信。
证书是可信的。
保留大小 INTEGER 密钥的大小 (以字节为单位)。
私钥 VARCHAR(3) 指示证书是否具有专用密钥。
证书没有专用密钥。
证书具有专用密钥。
私钥标签 VARCHAR(64) 专用密钥标签。

如果 PRIVATE_KEY 为 NO 或 PRIVATE_KEY_STORAGE_LOCATION 为 SOFTWARE ,那么包含空值。

私钥存储位置 VARCHAR (19) 存储密钥的位置。
硬件
密钥存储在硬件中。
硬件加密
密钥存储在硬件加密中。
软件
存储的密钥是软件。

如果 PRIVATE_KEY 为 NO ,那么包含空值。

数字签名 VARCHAR(3) 证书具有数字签名扩展。
证书没有数字签名扩展。
证书具有数字签名扩展。
不可抵赖性 VARCHAR(3) 指示证书是否具有不可抵赖性扩展。
证书没有不可抵赖性扩展。
证书具有不可抵赖性扩展。
关键密码 VARCHAR(3) 指示证书是否具有密钥加密扩展。
证书没有密钥加密扩展。
证书具有密钥加密扩展。
数据加密 VARCHAR(3) 指示证书是否具有数据加密扩展。
证书没有数据加密扩展。
证书具有数据加密扩展。
关键字_协议 VARCHAR(3) 指示证书是否具有密钥协议扩展
证书没有密钥协议扩展。
证书具有密钥协议扩展。
密钥证书签名 VARCHAR(3) 指示证书是否具有密钥证书签名扩展。
证书没有密钥证书签名扩展。
证书具有密钥证书签名扩展。
CRL_SIGNATURE VARCHAR(3) 指示证书是否具有证书撤销列表 (CRL) 签名扩展。
证书没有 CRL 签名扩展。
证书具有 CRL 签名扩展。
CRL_LOCATION VARCHAR (50) CRL 位置。

包含空值 (如果没有可用的值)。

仅 ENCIPHER_ONLY VARCHAR(3) 指示证书是否具有仅加密扩展。
证书不具有仅加密扩展。
证书具有仅加密扩展名。
仅 DECIPHER_ONLY VARCHAR(3) 指示证书是否具有仅破译器扩展。
该证书没有仅具有破译器扩展名。
证书仅具有破译器扩展名。
LDAP 服务器名称 VARCHAR (900) LDAP 服务器名称。

包含空值 (如果没有可用的值)。

IP 地址数 INTEGER IP_ADDRESS 列中的地址数。 当前,仅返回一个 IP 地址。

如果没有可用的 IP 地址,那么包含空值。

Ip_address VARCHAR (45) IP 地址。

包含空值 (如果没有可用的值)。

域名数量 INTEGER DOMAIN_NAMES 列中的域名数。 目前,仅返回一个域名。

如果没有可用的域名,那么包含空值。

域名 VARCHAR(256) 域名。

包含空值 (如果没有可用的值)。

电子邮件地址 VARCHAR(256) 电子邮件地址。

包含空值 (如果没有可用的值)。

加密设备数量 INTEGER 加密设备的数量。
加密设备 VARCHAR (109) 加密设备描述的列表。 每个条目的长度为 10 个字符。 单个空白分隔条目。

如果 CRYTOGRAPHIC_DEVICE_COUNT 为 0 ,那么包含空值。

主题名称 VARCHAR(256) 主题的公共名称。 SUBJECT 列集定义有关为证书描述的结束实体的信息。

包含空值 (如果没有可用的值)。

主题组织单位 VARCHAR(256) 主题的组织单元。

包含空值 (如果没有可用的值)。

主题组织 VARCHAR(256) 主题的组织。

包含空值 (如果没有可用的值)。

主题位置 VARCHAR(128) 主题所在的位置。

包含空值 (如果没有可用的值)。

SUBJECT_STATE_省 VARCHAR(128) 主体的省/自治区/直辖市。

包含空值 (如果没有可用的值)。

主题邮政编码 VARCHAR(16) 主题的邮政编码。

包含空值 (如果没有可用的值)。

主题国家/地区 VARCHAR(3) 主体的国家或地区。

包含空值 (如果没有可用的值)。

发行人通用名称 VARCHAR(256) 发行人的通用名称。 ISSUER 列集定义有关对最终实体证书进行签名的认证中心的信息。

包含空值 (如果没有可用的值)。

发行人组织单位 VARCHAR(256) 发行人的组织单位。

包含空值 (如果没有可用的值)。

发行人组织 VARCHAR(256) 发行人的组织。

包含空值 (如果没有可用的值)。

发行人所在地 VARCHAR(128) 发行人所在地。

包含空值 (如果没有可用的值)。

ISSUER_STATE_省 VARCHAR(128) 发行人所在州或省。

包含空值 (如果没有可用的值)。

发行人邮政编码 VARCHAR(16) 发行人的邮政编码。

包含空值 (如果没有可用的值)。

发行人所在国家/地区 VARCHAR(3) 发行人所在国家或地区。

包含空值 (如果没有可用的值)。

示例

检索将在下个月内到期的 *SYSTEM 证书库的所有证书。 使用已在全局变量中设置的密码。
  • CREATE VARIABLE MYLIB.SYSTEM_CERT_PW VARCHAR(30);
    
    SET MYLIB.SYSTEM_CERT_PW = 'cert_pwd';
    
    SELECT * FROM TABLE(QSYS2.CERTIFICATE_INFO(CERTIFICATE_STORE_PASSWORD=> MYLIB.SYSTEM_CERT_PW))
       WHERE VALIDITY_END < CURRENT DATE + 1 MONTH;