虚拟方法

GioTlsDatabaselookup_certificate_issuer

自:2.30

声明 [src]

GTlsCertificate*
lookup_certificate_issuer (
  GTlsDatabase* self,
  GTlsCertificate* certificate,
  GTlsInteraction* interaction,
  GTlsDatabaseLookupFlags flags,
  GCancellable* cancellable,
  GError** error
)

描述 [src]

在数据库中查找证书的发行者。证书的 GTlsCertificate:issuer 属性不变,这两个证书没有连接到链中。

此函数可能会阻塞。请使用 g_tls_database_lookup_certificate_issuer_async() 异步执行查找操作。

请注意,此函数不能用于构建证书路径。此函数返回的发行者证书可能不等于证书验证期间实际上用于构造有效证书路径的证书。 RFC 4158 解释了为什么不能天真地假设发行者证书是证书路径的一部分(尽管 GLib 的 TLS 后端可能不遵循该 RFC 中概述的路径构建策略)。由于证书路径构建的复杂性,GLib 不提供任何方式来知道在验证 TLS 证书时实际使用的证书路径。因此,此函数不能用于做出安全相关的决策。只应由 GLib 本身对 TLS 证书做出安全决策。

自:2.30

参数

证书

类型: GTlsCertificate

GTlsCertificate

数据由方法调用者拥有。
交互

类型: GTlsInteraction

如果需要,用于与用户交互。

参数可以 NULL
数据由方法调用者拥有。
标志

类型: GTlsDatabaseLookupFlags

影响查找操作的标志。

可取消

类型: GCancellable

GCancellable,或 NULL

参数可以 NULL
数据由方法调用者拥有。
错误

类型: GError **

用于 可恢复错误 的返回位置。

参数可以 NULL
如果返回位置不为 NULL,则必须将其初始化为 NULL GError*
如果没有错误,则虚拟函数将留下初始化状态为 NULL 的参数。
在发生错误的情况下,参数将被设置为一个新的分配的 GError;调用者将获得数据的所有权,并负责释放它。

返回值

类型: GTlsCertificate

一个新分配的发行者 GTlsCertificate,或 NULL。使用 g_object_unref() 来释放证书。

方法调用者获得返回数据的所有权,并负责释放它。