虚方法

GiTlsCertificateverify

自 2.28 开始

声明 [源]

GTlsCertificateFlags
verify (
  GTlsCertificate* cert,
  GSocketConnectable* identity,
  GTlsCertificate* trusted_ca
)

描述 [源]

此方法验证 cert 并返回一个 GTlsCertificateFlags 集合,指示是否有任何问题。这可以用于在建立连接的上下文中验证证书,或与系统 CA 数据库之外的 CA 进行证书检查。

如果 cert 是有效的,则返回 G_TLS_CERTIFICATE_NO_FLAGS

如果 identity 不是 NULL,将对 cert 的名称(们)与其进行比较,如果不匹配,将返回值中的 G_TLS_CERTIFICATE_BAD_IDENTITY 设置为。如果 identityNULL,则该位永远不会在返回值中设置为。

如果 trusted_ca 不是 NULL,则 cert(或其链中的证书之一)必须由它签署,否则返回值中将设置为 G_TLS_CERTIFICATE_UNKNOWN_CA。如果 trusted_caNULL,则该位永远不会在返回值中设置为。

GLib 保证,如果证书验证失败,则至少将在返回值中设置一个错误,但它不保证将设置所有可能的错误。相应地,您不能安全地决定忽略任何特定类型的错误。例如,如果您想允许已过期的证书,则应屏蔽 G_TLS_CERTIFICATE_EXPIRED,因为这可能是唯一设置的错误标志,尽管证书可能存在其他问题。

因为未使用 TLS 会话上下文,所以 GTlsCertificate 可能不会对证书执行与 GTlsConnection 相同数量的检查。例如,可能不会遵守证书约束,并且可能不会执行吊销检查。验证 TLS 连接使用的 TLS 证书的最好方法是让 GTlsConnection 处理验证。

自 2.28 开始可用

参数

identity

类型: GSocketConnectable

预期的对等方身份。

该参数可以是 NULL
数据由方法调用者拥有。
trusted_ca

类型: GTlsCertificate

可信授权机构的证书。

该参数可以是 NULL
数据由方法调用者拥有。

返回值

类型: GTlsCertificateFlags

适当的 GTlsCertificateFlags