CERTIFICATE_INFO 表函数
CERTIFICATE_INFO 表函数返回一个结果表,其中包含有关服务器或认证中心 (CA) 证书的信息。
该信息与检索证书信息 (QYCURTVCI, QycuRetrieveCertificateInfo) API 返回的信息类似。
授权: 调用者必须提供证书库的密码。 此外,调用者必须具有 *ALLOBJ 和 *SECADM 特权。
模式为 QSYS2。
- 证书存储密码
- 包含指定证书库的密码的表达式。 建议将密码作为变量传递,而不是作为可视为明文的字符串。
- 证书库
- 一个字符或图形字符串表达式,用于指示要从中检索证书列表的证书库。 该值可以是证书存储的完整限定集成文件系统目录路径和文件名(以前导斜线 (/) 开头),也可以是以下特殊值之一。 如果文件名未标识证书库,那么不会返回任何行。 如果未指定 certificate-store ,那么缺省值为 *SYSTEM。
- *OBJECTSIGNING
- *OBJECT签名证书库。
- *SIGNATUREVERIFICATION
- *SIGNATUREVERIFICATION 证书库。
- * 系统
- *SYSTEM 证书库。
此函数的结果是包含具有下表中所示格式的行的表。 所有列都是可空的。
| 列名 | 数据类型 | 描述 |
|---|---|---|
| 证书标签 | 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_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;
