方法

GioTlsDatabaselookup_certificate_issuer

自:2.30

声明 [源代码]

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

描述 [源代码]

在数据库中查找证书的发行者。不修改 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() 释放证书。

方法的调用的方将承担返回数据的所有权,并负责释放它。