
# 更新VPN网关证书 - UpdateGatewayCertificate
#### 功能介绍
更新租户国密型VPN网关所使用的证书，包括证书名称、签名证书、签名私钥、加密证书、加密私钥和CA证书链。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-vpn/vpn_api_0008.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-vpn/vpn_api_0044.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
| 授权项                               | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| vpn:vpnGateways:updateCertificate | write | vpnGateways | - [g:EnterpriseProjectId](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html#section2)  - [g:ResourceTag/\<tag-key\>](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html#section2)   | -  | -      |
   
#### URI
PUT /v5/{project_id}/vpn-gateways/{vgw_id}/certificate/{certificate_id}
表1请求path参数列表 
| 名称             | 类型     | 描述         |
|:---|:---|:---|
| project_id     | String | 项目ID。      |
| vgw_id         | String | VPN网关实例ID。 |
| certificate_id | String | VPN网关证书ID。 |
   
#### 请求消息
- 请求参数
  表2UpdateVpnGatewayCertificateRequestBody 
  | 名称          | 类型                                                                                                  | 是否必选 | 描述         |
  |:---|:---|:---|:---|
  | certificate | [UpdateVpnGatewayCertificateRequestBodyContent] object | 是    | VPN网关证书对象。 |
     
   表3UpdateVpnGatewayCertificateRequestBodyContent 
  | 名称                | 类型     | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                                 |
  |:---|:---|:---|:---|
  | name              | String | 否    | - 功能说明：VPN网关证书名称。  - 取值范围：3-63个字符、支持数字、英文字母、中文(\\u4e00 - \\u9fa5)、_(下划线)、-(中划线)、.(英文句点)。   |
  | certificate       | String | 否    | - 功能说明：国密签名证书内容,如果只更新证书名称可以不传。  - 取值范围：1-4096个字符。                                  |
  | private_key       | String | 否    | - 功能说明：国密签名证书私钥，如果只更新证书名称可以不传。  - 取值范围：1-4096个字符。                               |
  | certificate_chain | String | 否    | - 功能说明：CA证书内容，如果只更新证书名称可以不传。  - 取值范围：1-8192个字符。                                       |
  | enc_certificate   | String | 否    | - 功能说明：国密加密证书内容，如果只更新证书名称可以不传。  - 取值范围：1-4096个字符。                                     |
  | enc_private_key   | String | 否    | - 功能说明：国密加密证书私钥，如果只更新证书名称可以不传。  - 取值范围：1-4096个字符。                               |
     
  
- 请求样例
  ```
  POST https://{Endpoint}/v5/{project_id}/vpn-gateways/{vgw_id}/certificate/{certificate_id}
  {
      "certificate": {
          "name": "cert-dce7",
          "certificate": "-----BEGIN CERTIFICATE-----\n******\n-----END CERTIFICATE-----",
          "private_key": "-----BEGIN EC PRIVATE KEY-----\n*******\n-----END EC PRIVATE KEY-----",
          "enc_certificate": "-----BEGIN CERTIFICATE-----\n********\n-----END CERTIFICATE-----",
          "enc_private_key": "-----BEGIN EC PRIVATE KEY-----\n********\n-----END EC PRIVATE KEY-----",
          "certificate_chain": "-----BEGIN CERTIFICATE-----\n******\n-----END CERTIFICATE-----"
      }
  }
  ```
  
#### 响应消息
- 响应参数 返回状态码为200: successful operation。
  表4响应Body参数列表 
  | 名称          | 类型                                                                                | 描述         |
  |:---|:---|:---|
  | certificate | [VpnGatewayCertificateConfig] object | VPN网关证书对象。 |
  | request_id  | String                                                                            | 请求id。      |
     
   表5VpnGatewayCertificateConfig 
  | 名称                              | 类型     | 描述                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|
  | id                              | String | - 功能说明：VPN网关证书ID。  - 格式：36位UUID。                                          |
  | name                            | String | - 功能说明：VPN网关证书名称。  - 取值范围：3-63个字符、支持数字、英文字母、中文(\\u4e00 - \\u9fa5)、_(下划线)、-(中划线)。   |
  | vgw_id                          | String | - 功能说明：VPN网关ID。  - 格式：36位UUID。                                               |
  | issuer                          | String | - 功能说明：国密签名证书颁发者。  - 取值范围：1-256个字符。                                              |
  | signature_algorithm             | String | - 功能说明：国密签名证书签名算法。  - 取值范围：1-64个字符。                                               |
  | certificate_serial_number       | String | - 功能说明：国密签名证书序列号。  - 取值范围：1-64个字符。                                          |
  | certificate_subject             | String | - 功能说明：国密签名证书使用者。  - 取值范围：1-256个字符。                                                   |
  | certificate_expire_time         | String | - 国密签名证书过期时间。                                                                                                                                                                   |
  | certificate_chain_serial_number | String | - 功能说明：国密CA证书序列号。  - 取值范围：1-64个字符。                                             |
  | certificate_chain_subject       | String | - 功能说明：国密CA证书使用者。  - 取值范围：1-256个字符。                                               |
  | certificate_chain_expire_time   | String | - 功能说明：国密CA证书过期时间。                                                                                                                                                                |
  | enc_certificate_serial_number   | String | - 功能说明：国密加密证书序列号。  - 取值范围：1-64个字符。                                          |
  | enc_certificate_subject         | String | - 功能说明：国密加密证书使用者。  - 取值范围：1-256个字符。                                             |
  | enc_certificate_expire_time     | String | - 功能说明：国密加密证书过期时间。                                                                                                                                                           |
  | created_at                      | String | - 功能说明：创建时间。                                                                                                                                                                   |
     
  
- 响应样例
  ```
  {
      "certificate": {
          "id": "73f072d8-demo-a8df-va86-2a755d95636f",
          "name": "cert-dce7",
          "vgw_id": "c7f1d3e3-0476-4a71-95a7-3ce8cbb969de",
          "issuer": "C=CN,ST=Beijing,L=HaiDian,O=GMCert.org,CN=GMCert GM Root CA - 01",
          "signature_algorithm": "SM3WITHSM2",
          "certificate_serial_number": "16548506527294397241",
          "certificate_subject": "C=CN,ST=beijing,L=beijing,O=huawei,OU=vpn,CN=hwcloud-vpn",
          "certificate_expire_time": "2024-02-20T15:41:39+08:00",
          "certificate_chain_serial_number": "12369133709000538078",
          "certificate_chain_subject": "C=CN,ST=Beijing,L=HaiDian,O=GMCert.org,CN=GMCert GM Root CA - 01",
          "certificate_chain_expire_time": "2039-07-11T20:31:33+08:00",
          "enc_certificate_serial_number": "16548506527294397242",
          "enc_certificate_subject": "C=CN,ST=beijing,L=beijing,O=huawei,OU=vpn,CN=hwcloud-vpn",
          "enc_certificate_expire_time": "2024-02-20T15:43:26+08:00",
          "created_at": "2023-03-30T10:47:16.657+08:00"
      }
  }
  ```
  
 
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-vpn/vpn_api_0052.html)。
