云证书管理服务 CCM
云证书管理服务 CCM
- 最新动态
- 功能总览
-
服务公告
- 【2025年01月23日】关于春节期间暂停OV、EV类型SSL证书审核与签发的通知
- 【2024年12月24日】关于CA厂商在圣诞和元旦节期间暂停证书签发的公告
- 【2024年10月28日】关于DigiCert品牌根证书的切换公告
- 【2024年7月29日】关于DigiCert和GeoTrust SSL证书售价调整通知
- 【2023年10月8日】关于测试证书有效期调整通知
- 【2023年4月17日】关于GeoTrust DV证书名称变更的通知
- 【2023年2月8日】DigiCert根证书升级公告
- 【2022年12月16日】DigiCert和GeoTrust品牌在圣诞节调休期间暂停OV、EV证书审核的通知
- 【2022年09月13日】关于在APP中预埋SSL证书链的提醒
- 【2022年07月25日】停用SSL证书OU字段通知
- 【2022年03月23日】SSL证书管理入口变更通知
- 【2021年11月01日】域名所有权验证策略(文件验证方式)变更通知
- 【2020年8月20日】SSL证书最长有效期变更及影响通知
- 【2020年8月14日】Digicert系统突发异常导致EE订单签发延迟的通知
- 【2020年7月27日】CA认证机构即将停止签发为期2年的SSL证书通知
- 【2020年7月27日】关于DV证书被厂商吊销说明
- 【2020年7月19日】DigiCert系统维护通知
- 【2020年5月31日】GlobalSign系统维护通知
- 【2020年5月3日】DigiCert系统定期维护通知
- 【2020年4月26日】Symantec证书品牌标识变更通知
- 快速入门
- 产品介绍
- 计费说明
- SSL证书管理(SCM)用户指南
- 私有证书管理(PCA)用户指南
- 最佳实践
- API参考
- SDK参考
- 常见问题
- 更多文档
- 视频帮助
- 通用参考
本文导读
展开导读
链接复制成功!
创建CA
每个用户可以创建1000个CA。
创建私有CA相关参数详情请参见创建CA参数说明。
import com.huaweicloud.sdk.ccm.v1.CcmClient; import com.huaweicloud.sdk.ccm.v1.model.CreateCertificateAuthorityRequest; import com.huaweicloud.sdk.ccm.v1.model.CreateCertificateAuthorityRequestBody; import com.huaweicloud.sdk.ccm.v1.model.CreateCertificateAuthorityResponse; import com.huaweicloud.sdk.ccm.v1.model.CrlConfiguration; import com.huaweicloud.sdk.ccm.v1.model.DistinguishedName; import com.huaweicloud.sdk.ccm.v1.model.Validity; import com.huaweicloud.sdk.core.auth.GlobalCredentials; /** * 创建CA */ public class CreateCertificateAuthorityExample { /** * 基础认证信息: * - ACCESS_KEY: 华为云账号Access Key * - SECRET_ACCESS_KEY: 华为云账号Secret Access Key * - DOMAIN_ID: 华为云账号ID * - CCM_ENDPOINT: 华为云CCM服务(PCA属于CCM下的微服务)访问终端地址 * 认证使用的ak和sk硬编到代码中或明文存储存在较大安全风险,建议在配置文件或环境变量中密文存放,使用时解密,确保安全; * 本示例ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 */ private static final String ACCESS_KEY = System.getenv("HUAWEICLOUD_SDK_AK"); private static final String SECRET_ACCESS_KEY = System.getenv("HUAWEICLOUD_SDK_SK"); private static final String DOMAIN_ID = "<DomainID>"; private static final String CCM_ENDPOINT = "<CcmEndpoint>"; public static void main(String[] args) { // 1.准备访问华为云的认证信息,PCA为全局服务 final GlobalCredentials auth = new GlobalCredentials() .withAk(ACCESS_KEY) .withSk(SECRET_ACCESS_KEY) .withDomainId(DOMAIN_ID); // 2.初始化SDK,传入认证信息及CCM服务的访问终端地址 final CcmClient ccmClient = CcmClient.newBuilder() .withCredential(auth) .withEndpoint(CCM_ENDPOINT).build(); // 3、构造请求参数 // (1)需要创建的CA证书类型:ROOT(根CA)、SUBORDINATE(从属CA) String CAType = "ROOT"; // (2)CA密钥算法 String keyAlgorithm = "RSA2048"; // (3)签名哈希算法 String signatureAlgorithm = "SHA512"; /* * (4)CA有效期定义 * - type: 时间类型,可选:"YEAR"、"MONTH"、"DAY"、"HOUR" * - value: 对应的值 */ Validity validity = new Validity(); validity.setType("YEAR"); validity.setValue(20); /* * (5)定义CA的唯一标识信息 * - organization: 组织名称 * - organizationalUnit: 部门名称 * - country: 国家缩写,仅限两个字符,如中国-CN * - state: 省市名称 * - locality: 城市名称 * - commonName: CA名称(CN) */ DistinguishedName subjectInfo = new DistinguishedName(); subjectInfo.setOrganization("your organization"); subjectInfo.setOrganizationalUnit("your organizational unit"); subjectInfo.setCountry("CN"); subjectInfo.setState("your state"); subjectInfo.setLocality("your locality"); subjectInfo.setCommonName("your CA name"); /* * (6)吊销列表配置信息 * - enabled: 是否启用CRL配置 * - obsBucketName: OBS桶名称,用于发布CRL,需要已授权!!! * - crlName: 证书吊销列表文件名,不传入时默认取CA ID作为文件名 * - validDays: 证书吊销列表更新周期 */ CrlConfiguration crlConfiguration = new CrlConfiguration(); crlConfiguration.setEnabled(false); crlConfiguration.setObsBucketName("your OBS buck name"); crlConfiguration.setCrlName("your CRL file name"); crlConfiguration.setValidDays(7); // (7)请求体各属性赋值 CreateCertificateAuthorityRequestBody requestBody = new CreateCertificateAuthorityRequestBody(); requestBody.setType(CAType); requestBody.setKeyAlgorithm(keyAlgorithm); requestBody.setSignatureAlgorithm(signatureAlgorithm); requestBody.setValidity(validity); requestBody.setDistinguishedName(subjectInfo); requestBody.setCrlConfiguration(crlConfiguration); // 4、构造请求体 CreateCertificateAuthorityRequest request = new CreateCertificateAuthorityRequest().withBody(requestBody); // 5、开始发起请求 CreateCertificateAuthorityResponse response; try { response = ccmClient.createCertificateAuthority(request); } catch (Exception e) { throw new RuntimeException(e.getMessage()); } // 6、获取创建成功的CA的ID String caId = response.getCaId(); System.out.println(caId); } }
父主题: 私有CA管理代码示例