Python-SDK

相关参考 Reference

  • 文档有奖反馈活动
  • 文档有奖反馈2
  • 功能发布记录
  • 捉虫活动获奖名单
  • 鉴权认证机制
    • 常见签名认证错误排查
    • 简介
    • 在URL中包含认证字符串
    • 在Header中包含认证字符串
    • 签名流程
    • Sample-Code
    • 生成V2认证字符串
    • 错误码
    • 生成认证字符串
  • SDK入门指南
    • Python-SDK帮助指南
    • PHP-SDK入门指南
    • Java-SDK入门指南
  • 区域选择说明
    • 区域
    • 可用区
  • API SDK
    • Java-SDK
  • 证书管理
    • 多用户访问控制
    • 管理证书
    • 格式转换
    • 简介
    • Python-SDK
    • GO-SDK
    • 上传证书
    • 证书和私钥
    • API参考
    • 常见问题
    • 第三方机构创建证书
    • 证书替换
    • JAVA-SDK
  • 企业组织
    • 退出组织
    • 账户联合认证(SSO)
    • 权限策略管理
    • 子账户管理
    • 产品介绍
    • 财务管理
    • 常见问题
    • 企业组织vs多用户访问控制
    • 权限评估逻辑
    • 创建企业组织
    • 系统限制
    • 组织单元
    • API参考
      • 通用说明
      • 企业组织管理接口
      • 邀请管理接口
      • 策略管理接口
      • 简介
      • 单元管理接口
      • 账户管理接口
      • 数据类型
  • API Key
    • 操作手册
    • 简介
    • API参考
  • 获取AKSK
    • 简介
    • 如何获取AKSK
  • 术语表
    • B
    • Z
    • F
    • G
    • C
    • H
    • P
    • L
    • T
    • M
    • I
    • Q
    • N
    • V
    • J
    • R
    • K
    • S
    • O
    • W
    • D
    • X
    • A
    • Y
    • E
所有文档
menu
没有找到结果,请重新输入

相关参考 Reference

  • 文档有奖反馈活动
  • 文档有奖反馈2
  • 功能发布记录
  • 捉虫活动获奖名单
  • 鉴权认证机制
    • 常见签名认证错误排查
    • 简介
    • 在URL中包含认证字符串
    • 在Header中包含认证字符串
    • 签名流程
    • Sample-Code
    • 生成V2认证字符串
    • 错误码
    • 生成认证字符串
  • SDK入门指南
    • Python-SDK帮助指南
    • PHP-SDK入门指南
    • Java-SDK入门指南
  • 区域选择说明
    • 区域
    • 可用区
  • API SDK
    • Java-SDK
  • 证书管理
    • 多用户访问控制
    • 管理证书
    • 格式转换
    • 简介
    • Python-SDK
    • GO-SDK
    • 上传证书
    • 证书和私钥
    • API参考
    • 常见问题
    • 第三方机构创建证书
    • 证书替换
    • JAVA-SDK
  • 企业组织
    • 退出组织
    • 账户联合认证(SSO)
    • 权限策略管理
    • 子账户管理
    • 产品介绍
    • 财务管理
    • 常见问题
    • 企业组织vs多用户访问控制
    • 权限评估逻辑
    • 创建企业组织
    • 系统限制
    • 组织单元
    • API参考
      • 通用说明
      • 企业组织管理接口
      • 邀请管理接口
      • 策略管理接口
      • 简介
      • 单元管理接口
      • 账户管理接口
      • 数据类型
  • API Key
    • 操作手册
    • 简介
    • API参考
  • 获取AKSK
    • 简介
    • 如何获取AKSK
  • 术语表
    • B
    • Z
    • F
    • G
    • C
    • H
    • P
    • L
    • T
    • M
    • I
    • Q
    • N
    • V
    • J
    • R
    • K
    • S
    • O
    • W
    • D
    • X
    • A
    • Y
    • E
  • 文档中心
  • arrow
  • 相关参考Reference
  • arrow
  • 证书管理
  • arrow
  • Python-SDK
本页目录
  • 概述
  • 安装SDK工具包
  • 环境准备
  • 下载和安装
  • 初始化
  • 确认Endpoint
  • 获取密钥
  • 新建CertClient
  • 通过AK/SK方式访问证书服务
  • 配置HTTPS协议访问证书服务
  • 配置CertClient
  • 证书管理
  • 上传证书

Python-SDK

更新时间:2025-08-22

概述

本文档主要介绍证书服务 Python SDK的安装和使用。

在阅读本文档前,您需要先开通证书服务,并了解证书服务的基本知识。若您还不了解证书服务,可以参考IAM产品描述的证书管理部分

安装SDK工具包

环境准备

  1. 运行环境
    Python SDK工具包支持在Python 2.7 和Python 3 的环境运行。
  2. 安装pycrypto依赖

    安装SDK之前,需要先执行命令pip install pycrypto安装pycrypto依赖。

    如果安装失败,请执行pip install pycryptodome

下载和安装

方式一:通过pip安装

您可以通过pip安装的方式将百度智能云Python SDK安装到您的环境中。 联网状态下,在命令行中执行如下命令:

Plain Text
1pip install bce-python-sdk

即可将Python SDK安装到本地。

方式二:将源码包下载到本地后进行安装

  1. 在开发者资源中心下载Python SDK压缩工具包。
  2. 命令行移动到压缩包所在路径,执行如下命令(version替换为包名称中的版本号):

    Plain Text
    1pip install bce-python-sdk-version.zip  

    即可将Python SDK安装到本地。

方式三:使用setup.py install文件进行安装

您也可以解压压缩包后执行如下命令(version替换为包名称中的版本号)

Plain Text
1cd bce-python-sdk-version
2python setup.py install 

SDK目录结构

Plain Text
1baidubce
2    ├── auth                        //公共权限目录
3    ├── services                    //服务公共目录
4    │   └── cert                    //证书服务目录
5    │        ├── cert_client.py     //证书管理服务客户端入口类  
6    │        └── cert_model.py      //证书管理服务model,如Request或Response
7    └── http                        //Http请求模块

卸载SDK

卸载 SDK 时,执行命令pip uninstall bce-python-sdk即可完成卸载。

初始化

确认Endpoint

用户若要自定义域名,可以通过传入ENDPOINT参数来指定。区域的概念请参考区域选择说明。

在开始SDK使用之前,需要您先确定好要在哪个区域进行操作,从而在配置CertClient时将区域对应的Endpoint做为参数填入。

证书服务目前不区分区域,ENDPOINT统一为:https://certificate.baidubce.com

获取密钥

要使用百度智能云产品,您需要拥有一个百度智能云账号和一个有效的 AK(Access Key ID)、SK(Secret Access Key)用来进行签名认证。

可以通过如下步骤获得并了解您的AK/SK信息:

1.注册百度智能云账号

2.创建AK/SK

获取到密钥后,需要在配置Client时做为参数填入。SDK集成了鉴权认证机制,您不需要关心鉴权背后的运算方法,只需要将AK/SK按要求填入对应的位置,SDK将自动为您完成鉴权相关的工作。

新建CertClient

CertClient是证书服务的客户端,为开发者与证书服务进行交互提供了一系列的方法。

通过AK/SK方式访问证书服务

1.在新建CertClient之前,需要先创建配置文件对CertClient进行配置,以下将此配置文件命名为cert_sample_conf.py,具体配置信息如下所示:

Python
1# !/usr/bin/env python
2# coding=utf-8
3
4# 导入Python标准日志模块
5import logging
6
7# 从Python SDK导入证书服务配置管理模块以及安全认证模块
8from baidubce.bce_client_configuration import BceClientConfiguration
9from baidubce.auth.bce_credentials import BceCredentials
10
11# 设置CertClient的Host,Access Key ID和Secret Access Key
12cert_host = "certificate.baidubce.com"
13access_key_id = "AK"
14secret_access_key = "SK"
15
16# 设置日志文件的句柄和日志级别
17logger = logging.getLogger('baidubce.services.cert.certclient')
18fh = logging.FileHandler("sample.log")
19fh.setLevel(logging.DEBUG)
20
21# 设置日志文件输出的顺序、结构和内容
22formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
23fh.setFormatter(formatter)
24logger.setLevel(logging.DEBUG)
25logger.addHandler(fh)
26
27# 创建BceClientConfiguration
28config = BceClientConfiguration(credentials=BceCredentials(access_key_id, secret_access_key), endpoint = cert_host)

注意: 针对日志文件,Logging有如下级别:DEBUG,INFO,WARNING,ERROR,CRITICAL。

在上面代码中,access_key_id对应控制台中的“Access Key ID”,secret_access_key对应控制台中的“Access Key Secret”,获取方式请参考管理ACCESSKEY。

2.在完成上述配置之后,参考如下代码新建一个CertClient。

Python
1# 导入CertClient配置文件
2import cert_sample_conf
3
4# 导入证书服务相关模块
5from baidubce.services.cert.cert_client import CertClient
6
7# 新建CertClient
8cert_client = CertClient(cert_sample_conf.config)

配置HTTPS协议访问证书服务

您可以通过如下两种方式在CERT Python SDK中使用HTTPS访问证书服务:

  • 在endpoint中指定HTTPS:
Python
1config = bce_client_configuration.BceClientConfiguration(
2    credentials = bce_credentials.BceCredentials(
3        access_key_id = 'your-ak',
4        secret_access_key = 'your-sk'
5    ),
6    endpoint = 'https://certificate.baidubce.com'
7)
  • 通过在protocol中指定https来设置HTTPS协议:
Python
1config = bce_client_configuration.BceClientConfiguration(
2    credentials = bce_credentials.BceCredentials(
3        access_key_id = 'your-ak',
4        secret_access_key = 'your-sk'
5    ),
6    endpoint = 'certificate.baidubce.com',
7    protocol = baidubce.protocol.HTTPS
8)
9client = cert_client.CertClient(config)

注意: 如果您在指定了endpoint的scheme的同时指定了protocol参数,则以endpoint为准。

Python
1config = bce_client_configuration.BceClientConfiguration(
2    credentials = bce_credentials.BceCredentials(
3        access_key_id = 'your-ak',
4        secret_access_key = 'your-sk'
5    ),
6    endpoint = 'https://certificate.baidubce.com',
7    protocol = baidubce.protocol.HTTPS
8    )
9client = cert_client.CertClient(config) 

配置CertClient

您可以为CertClient设置一些网络参数:

Python
1# 设置请求超时时间
2cert_sample_conf.config.connection_timeout_in_mills = TIMEOUT
3
4# 设置接收缓冲区大小
5cert_sample_conf.config.recv_buf_size(BUF_SIZE)
6
7# 设置发送缓冲区大小
8cert_sample_conf.config.send_buf_size(BUF_SIZE)
9
10# 设置连接重试策略
11# 三次指数退避重试
12cert_sample_conf.config.retry_policy = BackOffRetryPolicy()
13# 不重试
14cert_sample_conf.config.retry_policy = NoRetryPolicy()

参数说明

通过cert_client_configuration能指定的所有参数如下表所示:

参数 说明
port 证书服务端口号
send_buf_size 发送缓冲区大小
recv_buf_size 接收缓冲区大小
connection_timeout_in_mills 请求超时时间(单位:毫秒)
retry_policy 连接重试策略,初始化Client时默认为三次指数退避

证书管理

证书管理功能主要用于管理用户的SSL证书,当前支持上传证书。 请求中的参数解释见证书名词解释

上传证书

如下代码将上传一个SSL证书:

Python
1# Import CertCreateRequest
2from baidubce.services.cert.cert_model import CertCreateRequest
3
4# Prepare your certificate data
5cert_name = 'certificate name'
6cert_type = 1
7cert_server_data = 'Fill certificate here'
8cert_private_data = 'Fill private key here'
9cert_link_data = "Fill certificate chain here"
10cert_create_request = CertCreateRequest(cert_name, cert_server_data, cert_private_data, cert_link_data, cert_type)
11
12# Create a certificate
13response = cert_client.create_cert(cert_create_request)

上一篇
简介
下一篇
GO-SDK