如何快速使用证书管家

如何快速使用证书管家

您可以使用证书管家托管密钥和证书,并进行签名验签。本文为您介绍如何创建、下载、导入和使用证书。

步骤一:创建并下载证书

登录密钥管理服务控制台。

在页面左上角的地域下拉列表,选择证书所在的地域。

在左侧导航栏,单击证书。

单击创建证书。

在创建证书对话框,设置以下参数。

参数

说明

名称

证书使用主体名称。

国家/地区

使用ISO 3166-1的二位国家代码。例如:CN代表中国。

省/市

省、直辖市、自治区或特别行政区名称。

城市

城市名称。

公司名称

企业、单位、组织或机构的法定名称。

单击右侧加号,可以添加多个公司名称。

部门名称

部门名称。

单击右侧加号,可以添加多个部门名称。

邮箱

证书持有者或管理者邮箱。

主体别名

当证书为DV证书时,可使用主体别名生成多域名证书请求。

单击右侧加号,输入主体别名,然后单击。

密钥类型

取值:

RSA_2048

EC_SM2

EC_P256

说明 请根据证书应用系统密钥算法支持情况选择。EC_P256安全性较高,RSA_2048兼容性较好,但部分应用系统将在2030年12月31日停止支持RSA_2048密钥。

私钥可否导出

证书私钥是否需要导出使用。取值:

是:证书私钥需要导出使用。

否:证书私钥不需要导出使用。建议选择否,以便使用更高安全级别的密钥保护。

单击创建证书。

在创建证书成功对话框,单击下载证书请求。

单击确定。

步骤二:获取CA颁发的证书

将步骤一下载的.csr格式的证书请求文件提交给CA机构,获取正式的证书和证书链。

步骤三:导入证书

在证书列表页面,找到目标证书,在操作列选择更多 > 导入证书。

在导入证书对话框,输入或上传步骤二获取的证书和证书链。

单击确定。导入证书成功后,证书状态为启用中,您可以使用证书进行密钥管理、签名验签等操作。

步骤四:证书签名

方法一:调用CertificatePrivateKeySign接口使用指定证书生成数字签名。

方法二:通过KMS SDK使用指定证书生成数字签名。关于KMS SDK的更多信息,请参见SDK概览。Java代码示例如下:import com.aliyuncs.DefaultAcsClient;

import com.aliyuncs.exceptions.ClientException;

import com.aliyuncs.kms.model.v20160120.CertificatePrivateKeySignRequest;

import com.aliyuncs.kms.model.v20160120.CertificatePrivateKeySignResponse;

import org.apache.commons.codec.binary.Base64;

/**

* @param client 表示Alibaba Cloud SDK Client,详见Alibaba Cloud SDK for Java文档。

* @param certId 表示证书ID,指定要使用的证书。

* @param sigAlg 表示数字签名算法,详见KMS CertificatePrivateKeySign接口文档。

* @param message 表示待签名内容,需要小于等于4KB。

*/

public byte[] doSignByCertificate(DefaultAcsClient client, String certId, String sigAlg, byte[] message) throws ClientException {

String msgB64 = Base64.encodeBase64String(message); // 对待签名内容进行Base64编码。

CertificatePrivateKeySignRequest request = new CertificatePrivateKeySignRequest();

request.setCertificateId(certId);

request.setAlgorithm(sigAlg);

request.setMessage(msgB64);

CertificatePrivateKeySignResponse response = client.getAcsResponse(request);

String sigB64 = response.getSignatureValue();

return Base64.decodeBase64(sigB64); // 对返回数据进行Base64解码获取签名值数据。

}

步骤五:证书验签

方法一:调用CertificatePublicKeyVerify接口使用指定证书验证数字签名。

方法二:通过KMS SDK使用指定证书验证数字签名。关于KMS SDK的更多信息,请参见SDK概览。Java代码示例如下:import com.aliyuncs.DefaultAcsClient;

import com.aliyuncs.exceptions.ClientException;

import com.aliyuncs.kms.model.v20160120.CertificatePublicKeyVerifyRequest;

import com.aliyuncs.kms.model.v20160120.CertificatePublicKeyVerifyResponse;

import org.apache.commons.codec.binary.Base64;

/**

* @param client 表示Alibaba Cloud SDK Client,详见Alibaba Cloud SDK for Java文档。

* @param certId 表示证书ID,指定要使用的数字证书。

* @param sigAlg 表示数字签名算法,详见KMS CertificatePrivateKeySign接口参考。

* @param message 表示待验证内容,需要小于等于4KB。

* @param signature 表示待验证内容的数字签名。

*/

public Boolean doVerifyByCertificate(DefaultAcsClient client, String certId, String sigAlg, byte[] message, byte[] signature) throws ClientException {

String msgB64 = Base64.encodeBase64String(message); // 对待验证内容进行Base64编码。

String sigB64 = Base64.encodeBase64String(signature); // 对签名值进行Base64编码。

CertificatePublicKeyVerifyRequest request = new CertificatePublicKeyVerifyRequest();

request.setCertificateId(certId);

request.setAlgorithm(sigAlg);

request.setMessage(msgB64);

request.setSignatureValue(sigB64);

CertificatePublicKeyVerifyResponse response = client.getAcsResponse(request);

return response.getSignatureValid();

}

相关画作

青蛙吃饭要多久科学调整喂食方法节省一半时间
皇冠365bet体育投

青蛙吃饭要多久科学调整喂食方法节省一半时间

📅 06-29 👁️ 9671
张飞穿针的意思
皇冠365bet体育投

张飞穿针的意思

📅 06-29 👁️ 9858
裈裤的解释及意思
365bet注册

裈裤的解释及意思

📅 06-30 👁️ 1510