构造函数

GioTlsCertificatenew_from_pkcs12

自:2.72

声明 [源]

GTlsCertificate*
g_tls_certificate_new_from_pkcs12 (
  const guint8* data,
  gsize length,
  const gchar* password,
  GError** error
)

描述 [源]

从指定的数据中创建一个GTlsCertificate。它必须包含一个证书和一个匹配的私钥。

如果包括额外的证书,则会作为链进行验证,并将GTlsCertificate:issuer属性设置。所有其他数据将被忽略。

可以传递一个用于所有数据的单个密码,该密码将同时用于PKCS #12容器和加密私钥。如果解密失败,则将使用G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD错误。

此构造函数需要当前GTlsBackend的支持。如果支持不存在,则将使用G_IO_ERROR_NOT_SUPPORTED错误。

其他解析错误将使用G_TLS_ERROR_BAD_CERTIFICATE错误。

自:2.72

参数

data

类型:一个guint8的数组

DER-编码的PKCS #12格式证书数据。

数组的长度由length参数指定。
数据由函数的调用者拥有。
length

类型:gsize

data的长度。

password

类型:const gchar*

可选密码,用于加密证书数据。

该参数可以为NULL
数据由函数的调用者拥有。
值是一个以NUL终止的UTF-8字符串。
error

类型:GError **

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

该参数可以为NULL
如果返回位置不为NULL,则必须将其初始化为一个空的GError*
如果没有错误,构造函数将保留对这个参数的初始化为NULL
在出现错误的情况下,该参数将被设置为一个新的分配的GError;调用者将拥有数据,并负责释放它。

返回值

类型:GTlsCertificate

新证书,或如果data无效,则为NULL

函数的调用者将拥有数据,并负责释放它。