更新时间:2024-06-28 GMT+08:00
删除CA
只有“待激活”、“已吊销”、“已禁用”和“已过期”状态的私有CA可进行删除操作。
“待激活”与“已吊销”状态的私有CA将会被直接删除,“已禁用”和“已过期”状态的私有CA只能设置计划删除(延迟删除)。
相关参数详情请参见删除CA参数说明。
import com.huaweicloud.sdk.ccm.v1.CcmClient;
import com.huaweicloud.sdk.ccm.v1.model.DeleteCertificateAuthorityRequest;
import com.huaweicloud.sdk.ccm.v1.model.DeleteCertificateAuthorityResponse;
import com.huaweicloud.sdk.core.auth.GlobalCredentials;
/**
* 删除CA
* (1)只有待激活、已吊销、已禁用和已过期状态下的CA可进行删除操作
* (2)待激活与已吊销状态的私有CA将会被直接删除,已禁用和已过期状态下只能设置计划删除(延迟删除)
*/
public class DeleteCertificateAuthorityExample {
/**
* 基础认证信息:
* - 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证书的ID
String caId = "3a02c7f6-d8f5-497e-9f60-18dfd3eeb4e6";
// (2)需要延迟删除的时间。注:该参数为String
String pendingDays = "7";
// 4、构造请求体
DeleteCertificateAuthorityRequest request = new DeleteCertificateAuthorityRequest()
.withCaId(caId)
.withPendingDays(pendingDays);
// 5、开始发起请求
DeleteCertificateAuthorityResponse response;
try {
response = ccmClient.deleteCertificateAuthority(request);
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
// 6、获取响应消息,删除成功后,无响应内容,返回的状态码为204
System.out.println(response.getHttpStatusCode());
}
}
父主题: 私有CA管理代码示例