文档首页/ 对象存储服务 OBS/ SDK参考/ C/ 初始化(C SDK)/ 配置SDK验证服务端证书
更新时间:2026-03-13 GMT+08:00
分享

配置SDK验证服务端证书

开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。

OBS C SDK提供了对服务端证书验证的支持,以确保OBS服务来自于受信服务端。配置验证服务端证书的步骤如下:

如果访问的OBS服务端的根证书是由权威机构颁发的,可以忽略步骤1,2(C SDK的证书库中默认已加入了权威机构的根证书)。

  1. 获取OBS服务端的根证书(例如从IE浏览器的“Internet属性 > 内容 > 证书”中导出),并保存为文件obs.cer。
  2. 把obs.cer证书保存到特定目录。
  3. 应用程序使用https协议通信,接口调用方法参考HTTPS服务接口使用方法

HTTPS服务接口使用方法

1. 您可以在init_obs_options之前调用init_certificate_by_path实现https通信,根证书路径通过参数指定或者使用系统默认证书。

参数描述

参数名称

参数类型

是否必选

描述

protocol

obs_protocol

必选

协议参数。值为OBS_PROTOCOL_HTTPS或OBS_PROTOCOL_HTTP

ca_conf

obs_certificate_conf

可选,如果protocol为OBS_PROTOCOL_HTTPS则为必选

证书配置策略。值为OBS_NO_CERTIFICATE、OBS_DEFAULT_CERTIFICATE或OBS_DEFINED_CERTIFICATE

path

char *

可选,如果ca_conf为OBS_DEFINED_CERTIFICATE则为必选

证书路径

path_length

int

可选,如果path不为NULL则为必选

证书路径长度

代码示例

1. http通信
ret_status = init_certificate_by_path(OBS_PROTOCOL_HTTP, OBS_NO_CERTIFICATE, NULL, 0);
init_obs_options(&option);
2. https通信,使用默认证书,即lib目录下的client.pem
ret_status = init_certificate_by_path(OBS_PROTOCOL_HTTPS, OBS_DEFAULT_CERTIFICATE, NULL, 0);
init_obs_options(&option);
3. https通信,应用程序指定证书路径及长度
ret_status = init_certificate_by_path(OBS_PROTOCOL_HTTPS, OBS_DEFINED_CERTIFICATE, path, path_length);
init_obs_options(&option);

2. 您也可以在init_obs_options之前调用init_certificate_by_buffer实现https通信。

参数描述

参数名称

参数类型

是否必选

描述

buffer

char *

必选

证书内容

buffer_length

int

必选

证书内容长度

代码示例

ret_status = init_certificate_by_buffer(ca_buffer, length);
init_obs_options(&option);

相关文档