建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块

OBS运维

发帖: 1粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-6-6 11:39:27 5161 4 楼主 显示全部楼层
[教程] OBS服务端证书替换排查及处理方法

背景:

服务端证书的颁发机构变更为GlobalSign,会导致未预置新根证书的极少数客户端通过Https访问OBS建链失败

 

排查方法:

场景一:用户自编写代码校验服务器端证书或客户端环境所使用的信任列表未预置GlobalSign根证书

在访问OBS的客户端环境上,按实际业务场景下载对象,验证地址:https://dfvtest-huidu.obs.myhwclouds.com/test.txt,下载成功且无证书相关告警,表示无证书兼容性问题

场景二:使用了OBS SDK,在SDK中调用了自定义证书接口

1)涉及的OBS SDK种类:GoNode.jsAndroidPHPPythonC

2)涉及自定义证书的排查方式(确认是否有使用如下链接中的代码初始化ObsClient客户端):

          Go SDK自定义证书接口:https://support.huaweicloud.com/sdk-go-devg-obs/zh-cn_topic_0142815236.html

          Node.js SDK自定义证书接口:https://support.huaweicloud.com/sdk-nodejs-devg-obs/zh-cn_topic_0142811563.html

          Android SDK自定义证书接口:https://support.huaweicloud.com/sdk-android-devg-obs/zh-cn_topic_0142813503.html

          PHP SDK自定义证书接口:https://support.huaweicloud.com/sdk-php-devg-obs/zh-cn_topic_0142811839.html

          Python SDK自定义证书接口:https://support.huaweicloud.com/sdk-python-devg-obs/zh-cn_topic_0142811987.html

          C SDK自定义证书接口:https://support.huaweicloud.com/sdk-c-devg-obs/zh-cn_topic_0142873616.html

 

处理方法

针对场景一的处理方法:

把客户端证书添加到信任列表

Windows系统:解压附件,双击ca.cer证书,点击安装即可

Linux系统示例如下:

上传ca.cerLinux操作系统,通过Openssl导入证书:

1、先转换格式 .cer .pem

openssl x509 -inform der -in ca.cer  -out ca.pem

2、追加到信任列表

cat ca.pem >> /etc/pki/tls/certs/ca-bundle.crt

软件运行环境按各自证书导入的方法执行

例如Java环境:

进入java的安装目录:/usr/java/jdk1.8.0_131,然后进入:jre/lib/security

执行命令:keytool -import -alias obs -file ca.cer -keystore cacerts (一般默认密码为:changeit

 

针对场景二的处理方法:

在初始化ObsClient客户端时,设置不校验HTTPS证书,示例代码如下:

          Go SDK

// 创建ObsClient结构体

var obsClient, _ = obs.New(

       ak,

       sk,

       endpoint,

      // 配置不验证服务端证书

       obs.WithSslVerifyAndPemCerts(false, nil),

)

          Node.js SDK

// 创建ObsClient实例

var obsClient = new ObsClient({

       access_key_id: '*** Provide your Access Key ***',

       secret_access_key: '*** Provide your Secret Key ***',

       server : 'https://your-endpoint',// 配置使用HTTPS协议

       ssl_verify : false// 配置不验证服务端证书

});

          Android SDK

ObsConfiguration config = new ObsConfiguration();

// 配置不验证服务端证书

config.setValidateCertificate(false);

String endPoint = "https://your-endpoint";

String ak = "*** Provide your Access Key ***";

String sk = "*** Provide your Secret Key ***";

// 使用HTTPS协议创建ObsClient实例

ObsClient obsClient = new ObsClient(ak, sk, endPoint);

 

          PHP SDK

// 创建ObsClient实例

$obsClient = new ObsClient([

       'key' => '*** Provide your Access Key ***',

       'secret' => '*** Provide your Secret Key ***',

       'endpoint' => 'https://your-endpoint', // 配置endpoint, 使用HTTPS协议

       'ssl_verify' => false // 配置不验证服务端证书

]);

 

          Python SDK

# 创建ObsClient实例

obsClient = ObsClient(

    access_key_id='*** Provide your Access Key ***',   

    secret_access_key='*** Provide your Secret Key ***',   

    server='https://your-endpoint',# 配置使用HTTPS协议

    ssl_verify= False# 配置不验证服务端证书

)

 

如果以上方法处理失败,欢迎跟帖咨询或联系客服处理!由此给您带来的不变,敬请谅解,感谢您一直对华为云的支持!

 

 


根证书.rar 2.03 KB,下载次数:15

举报
分享

分享文章到朋友圈

分享文章到微博

阿越

发帖: 0粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-6-11 16:04:04 沙发 显示全部楼层

请问针对场景2的C sdk屏蔽https证书验证的方法呢?

点赞1 回复 举报

歪歪

发帖: 5粉丝: 2

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-6-11 19:52:40 板凳 显示全部楼层

OBS C SDK不验证证书的设置方式如下:


初始化OBS客户端配置参数option时,设置certificate_info为NULL

option.bucket_options.host_name = HOST_NAME;

option.bucket_options.bucket_name = bucket_name;
option.bucket_options.access_key = ACCESS_KEY_ID;
option.bucket_options.secret_access_key = SECRET_ACCESS_KEY;
option.bucket_options.uri_style = OBS_URI_STYLE_PATH;
option.bucket_options.protocol = OBS_PROTOCOL_HTTPS;
option.bucket_options.certificate_info = NULL;

点赞 回复 举报

极客潇

发帖: 25粉丝: 6

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2019-6-21 14:08:16 地板 显示全部楼层

感谢分享

点赞 回复 举报

浮躁的世界...

发帖: 7粉丝: 6

级别 : 中级会员

Rank: 3Rank: 3

发消息 + 关注

发表于2019-7-1 10:27:38 5# 显示全部楼层

感谢分享 很有价值

点赞 回复 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册