虚方法
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
设置为。如果 identity
是 NULL
,则该位永远不会在返回值中设置为。
如果 trusted_ca
不是 NULL
,则 cert
(或其链中的证书之一)必须由它签署,否则返回值中将设置为 G_TLS_CERTIFICATE_UNKNOWN_CA
。如果 trusted_ca
是 NULL
,则该位永远不会在返回值中设置为。
GLib 保证,如果证书验证失败,则至少将在返回值中设置一个错误,但它不保证将设置所有可能的错误。相应地,您不能安全地决定忽略任何特定类型的错误。例如,如果您想允许已过期的证书,则应屏蔽 G_TLS_CERTIFICATE_EXPIRED
,因为这可能是唯一设置的错误标志,尽管证书可能存在其他问题。
因为未使用 TLS 会话上下文,所以 GTlsCertificate
可能不会对证书执行与 GTlsConnection
相同数量的检查。例如,可能不会遵守证书约束,并且可能不会执行吊销检查。验证 TLS 连接使用的 TLS 证书的最好方法是让 GTlsConnection
处理验证。
自 2.28 开始可用
参数
identity
-
预期的对等方身份。
该参数可以是 NULL
。数据由方法调用者拥有。 trusted_ca
-
类型:
GTlsCertificate
可信授权机构的证书。
该参数可以是 NULL
。数据由方法调用者拥有。