
# 查询密钥 - ShowAssetCipher
#### 功能介绍
终端播放HLS加密视频时，向租户管理系统请求密钥，租户管理系统先查询其本地有没有已缓存的密钥，没有时则调用此接口向VOD查询。该接口的具体使用场景请参见《点播服务最佳实践》中通过HLS加密防止视频泄露的示例代码。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/VOD/doc?api=ShowAssetCipher)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-vod/vod_04_0012.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                  | 访问级别 | 资源类型（\*为必须） | 条件键            | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | vod:asset:getCiphers | Read | assets \*   | vod:AssetLabel | -  | -      |
     
  
 
#### URI
GET /v1.0/{project_id}/asset/ciphers
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                             |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID，获取方法请参考[获取项目ID](https://support.huaweicloud.com/api-vod/vod_04_0211.html) |
   
表2Query参数 
| 参数       | 是否必选 | 参数类型   | 描述                      |
|:---|:---|:---|:---|
| asset_id | 是    | String | VOD分配的媒资ID，仅支持查询，不支持修改。 |
   
#### 请求参数
表3请求Header参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                      |
|:---|:---|:---|:---|
| X-Auth-Token  | 否    | String | 用户Token，使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
| Authorization | 否    | String | 使用AK/SK方式认证时必选，携带的鉴权信息。                                                                                 |
| X-Sdk-Date    | 否    | String | 使用AK/SK方式认证时必选，请求的发生时间。                                                                                 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数       | 参数类型   | 描述                      |
|:---|:---|:---|
| asset_id | String | VOD分配的媒资ID，仅支持查询，不支持修改。 |
| edk      | String | 密钥密文。                   |
| dk       | String | 密钥明文。                   |
   
**状态码：400**
表5响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 错误描述。 |
   
#### 请求示例
查询密钥
```
GET https://{endpoint}/v1.0/{project_id}/asset/ciphers?asset_id={asset_id}
```
#### 响应示例
**状态码：200**
处理成功返回。
```
{
  "asset_id" : "06da0367af8f297ea3efc791e8b27157",
  "edk" : "02009800f00446c3aa6ad610bb121a602fa3091daca7a544ded4f514cae2c233cf51f3d88de64712242a8468042db19b4282e0d7196a8d4df6150169debb5d077527fad983e14174f1ab5430958ca4903187321f0a3406284bf938b64de95ddd3db438df9ddae98d347058969fd39be5049a0a5830396432303366352d313235362d346265322d626539642d38313164333363336630353200000000f9776c60d33706c68195bc64934f94ee28fbfdf03e5fbb65c5450599d6aa4807",
  "dk" : "4Q9KYgKbUChxocNYbteP3A=="
}
```
**状态码：400**
处理失败返回。
```
{
  "error_code" : "VOD.10101",
  "error_msg" : "Unable to get the key because there is no encryption."
}
```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 200 | 处理成功返回。 |
| 400 | 处理失败返回。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-vod/ErrorCode.html)。
