SSL 证书 API
编辑SSL 证书 API编辑
certificates
API 允许您检索有关用于加密 Elasticsearch 集群中通信的 X.509 证书的信息。
请求编辑
GET /_ssl/certificates
描述编辑
有关证书如何在与传输层安全 (TLS) 结合使用时进行配置的更多信息,请参阅 使用 TLS 加密节点间通信。
该 API 返回一个列表,其中包含来自所有 TLS 上下文的证书,包括
- 传输和 HTTP 接口的设置
- 在身份验证领域中使用的 TLS 设置
- 用于远程监控导出器的 TLS 设置
该列表包括用于配置信任的证书,例如在 xpack.security.transport.ssl.truststore
和 xpack.security.transport.ssl.certificate_authorities
设置中配置的证书。它还包括用于配置服务器身份的证书,例如 xpack.security.http.ssl.keystore
和 xpack.security.http.ssl.certificate
设置。
该列表不包括来自 Java 运行时环境 (JRE) 的默认 SSL 上下文的证书,即使这些证书在 Elasticsearch 中使用。
当 PKCS#11 令牌配置为 JRE 的信任库时,API 将返回 PKCS#11 令牌中包含的所有证书,无论这些证书是否在 Elasticsearch TLS 配置中使用。
如果 Elasticsearch 配置为使用密钥库或信任库,则 API 输出将包含该存储库中的所有证书,即使其中一些证书可能在集群中没有被积极使用。
响应主体编辑
响应是一个对象数组,每个对象代表一个证书。每个对象中的字段是
-
path
- (字符串) 证书的路径,如
elasticsearch.yml
文件中配置的那样。 -
format
- (字符串) 文件的格式。以下之一:
jks
、PKCS12
、PEM
。 -
alias
- (字符串) 如果路径引用容器文件(jks 密钥库或 PKCS#12 文件),则为证书的别名。否则为 null。
-
subject_dn
- (字符串) 证书主题的识别名称。
-
serial_number
- (字符串) 证书序列号的十六进制表示形式。
-
has_private_key
- (布尔值) 指示 Elasticsearch 是否可以访问此证书的私钥。
-
expiry
- (字符串) 证书过期(不晚于)日期的 ISO 格式日期。
-
issuer
- (字符串) 证书颁发者的识别名称。
示例编辑
以下示例提供了有关 Elasticsearch 单个节点上证书的信息
GET /_ssl/certificates
API 返回以下结果
[ { "path": "certs/elastic-certificates.p12", "format": "PKCS12", "alias": "instance", "subject_dn": "CN=Elastic Certificate Tool Autogenerated CA", "serial_number": "a20f0ee901e8f69dc633ff633e5cd5437cdb4137", "has_private_key": false, "expiry": "2021-01-15T20:42:49.000Z" }, { "path": "certs/elastic-certificates.p12", "format": "PKCS12", "alias": "ca", "subject_dn": "CN=Elastic Certificate Tool Autogenerated CA", "serial_number": "a20f0ee901e8f69dc633ff633e5cd5437cdb4137", "has_private_key": false, "expiry": "2021-01-15T20:42:49.000Z" }, { "path": "certs/elastic-certificates.p12", "format": "PKCS12", "alias": "instance", "subject_dn": "CN=instance", "serial_number": "fc1905e1494dc5230218d079c47a617088f84ce0", "has_private_key": true, "expiry": "2021-01-15T20:44:32.000Z" } ]