调用AsymmetricEncrypt接口使用非对称密钥进行加密。
仅支持Usage为ENCRYPT/DECRYPT的非对称密钥。支持的加密算法如下表:
KeySpec |
Algorithm |
说明 |
可加密的最大字节数 |
---|---|---|---|
RSA_2048 |
RSAES_OAEP_SHA_256 |
RSAES-OAEP using SHA-256 and MGF1 with SHA-256 |
190 |
RSA_2048 |
RSAES_OAEP_SHA_1 |
RSAES-OAEP using SHA1 and MGF1 with SHA1 |
214 |
RSA_3072 |
RSAES_OAEP_SHA_256 |
RSAES-OAEP using SHA-256 and MGF1 with SHA-256 |
318 |
RSA_3072 |
RSAES_OAEP_SHA_1 |
RSAES-OAEP using SHA1 and MGF1 with SHA1 |
342 |
EC_SM2 |
SM2PKE |
SM2椭圆曲线公钥加密算法 |
6047 |
本文将提供一个示例,使用密钥ID为5c438b18-05be-40ad-b6c2-3be6752c****
、密钥版本ID为2ab1a983-7072-4bbc-a582-584b5bd8****
的非对称密钥,通过加密算法RSAES_OAEP_SHA_1
对明文SGVsbG8gd29ybGQ=
进行加密。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | AsymmetricEncrypt |
要执行的操作。取值:AsymmetricEncrypt。 |
Plaintext | String | 是 | SGVsbG8gd29ybGQ= |
要加密的明文,使用Base64编码。 |
KeyId | String | 是 | 5c438b18-05be-40ad-b6c2-3be6752c**** |
主密钥(CMK)的全局唯一标识符。 说明 该参数也可以被指定为主密钥绑定的别名。更多信息,请参加见别名使用说明。
|
KeyVersionId | String | 是 | 2ab1a983-7072-4bbc-a582-584b5bd8**** |
密钥版本ID。密钥版本的全局唯一标识符。 说明 您可以调用ListKeyVersions接口获取KeyVersionId(密钥版本ID)。
|
Algorithm | String | 是 | RSAES_OAEP_SHA_1 |
加密算法。 |
关于公共请求参数的详情,请参见公共参数。
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
KeyVersionId | String | 2ab1a983-7072-4bbc-a582-584b5bd8**** |
对明文数据进行加密的主密钥版本号。 |
KeyId | String | 5c438b18-05be-40ad-b6c2-3be6752c**** |
主密钥的全局唯一标识符。 说明 如果请求中的KeyId参数使用的是主密钥的别名,在响应中会返回别名对应的主密钥标识符。
|
CiphertextBlob | String | BQKP+1zK6+ZEMxTP5qaVzcsgXtWplYBKm0NXdSnB5FzliFxE1bSiu4dnEIlca2JpeH7yz1/S6fed630H+hIH6DoM25fTLNcKj+mFB0Xnh9m2+HN59Mn4qyTfcUeadnfCXSWcGBouhXFwcdd2rJ3n337bzTf4jm659gZu3L0i6PLuxM9p7mqdwO0cKJPfGVfhnfMz+f4alMg79WB/NNyE2lyX7/qxvV49ObNrrJbKSFiz8Djocaf0IESNLMbfYI5bXjWkJlX92DQbKhibtQW8ZOJ//ZC6t0AWcUoKL6QDm/dg5koQalcleRinpB+QadFm894sLbVZ9+N4GVsv1Wbjwg== |
加密后的密文,使用Base64编码。 |
RequestId | String | 475f1620-b9d3-4d35-b5c6-3fbdd941423d |
本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。 |
示例
请求示例
http(s)://[Endpoint]/?Action=AsymmetricEncrypt
&Plaintext=SGVsbG8gd29ybGQ=
&KeyId=5c438b18-05be-40ad-b6c2-3be6752c****
&KeyVersionId=2ab1a983-7072-4bbc-a582-584b5bd8****
&Algorithm=RSAES_OAEP_SHA_1
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<AsymmetricEncryptResponse>
<KeyVersionId>2ab1a983-7072-4bbc-a582-584b5bd8****</KeyVersionId>
<KeyId>5c438b18-05be-40ad-b6c2-3be6752c****</KeyId>
<CiphertextBlob>BQKP+1zK6+ZEMxTP5qaVzcsgXtWplYBKm0NXdSnB5FzliFxE1bSiu4dnEIlca2JpeH7yz1/S6fed630H+hIH6DoM25fTLNcKj+mFB0Xnh9m2+HN59Mn4qyTfcUeadnfCXSWcGBouhXFwcdd2rJ3n337bzTf4jm659gZu3L0i6PLuxM9p7mqdwO0cKJPfGVfhnfMz+f4alMg79WB/NNyE2lyX7/qxvV49ObNrrJbKSFiz8Djocaf0IESNLMbfYI5bXjWkJlX92DQbKhibtQW8ZOJ//ZC6t0AWcUoKL6QDm/dg5koQalcleRinpB+QadFm894sLbVZ9+N4GVsv1Wbjwg==</CiphertextBlob>
<RequestId>475f1620-b9d3-4d35-b5c6-3fbdd941423d</RequestId>
</AsymmetricEncryptResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"KeyVersionId" : "2ab1a983-7072-4bbc-a582-584b5bd8****",
"KeyId" : "5c438b18-05be-40ad-b6c2-3be6752c****",
"CiphertextBlob" : "BQKP+1zK6+ZEMxTP5qaVzcsgXtWplYBKm0NXdSnB5FzliFxE1bSiu4dnEIlca2JpeH7yz1/S6fed630H+hIH6DoM25fTLNcKj+mFB0Xnh9m2+HN59Mn4qyTfcUeadnfCXSWcGBouhXFwcdd2rJ3n337bzTf4jm659gZu3L0i6PLuxM9p7mqdwO0cKJPfGVfhnfMz+f4alMg79WB/NNyE2lyX7/qxvV49ObNrrJbKSFiz8Djocaf0IESNLMbfYI5bXjWkJlX92DQbKhibtQW8ZOJ//ZC6t0AWcUoKL6QDm/dg5koQalcleRinpB+QadFm894sLbVZ9+N4GVsv1Wbjwg==",
"RequestId" : "475f1620-b9d3-4d35-b5c6-3fbdd941423d"
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidParameter | The specified parameter is not valid. | 参数非法。 |
404 | Forbidden.AliasNotFound | The specified Alias is not found. | 指定的别名找不到 |
404 | Forbidden.KeyNotFound | The specified Key is not found. | 指定的密钥不存在。 |
404 | InvalidAccessKeyId.NotFound | The Access Key ID provided does not exist in our records. | 提供的 Access Key ID不存在 |
访问错误中心查看更多错误码。