
# 配置APIG专享版与客户端间的单向认证或双向认证
#### 应用场景
API前端定义中的请求协议支持HTTPS时，API所属分组在绑定独立域名后，还需为独立域名添加SSL证书。SSL证书是进行数据传输加密和身份证明的证书，当SSL证书带有**CA证书**时，默认开启客户端认证即双向认证；反之，开启单向认证。
- 单向认证：客户端与服务端连接时，客户端需要校验服务端SSL证书合法性。
- 双向认证：客户端与服务端连接时，除了客户端需要校验服务端SSL证书合法性，服务端也需要校验客户端SSL证书合法性。
#### 操作流程
![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002147756216.png)
APIG专享版支持单向认证和双向认证两种认证方式，两种认证方式开启认证的流程相同，下面描述单向认证流程，双向认证具体操作请参考[双向认证]。
1. [创建SSL证书]
   SSL证书是进行数据传输加密和身份证明的证书。
   
2. [绑定域名]
   将API所属的分组与已备案且解析的独立域名绑定。
   
3. [绑定证书]
   将独立域名和已创建的SSL证书绑定。
   
4. [调用API]
   验证API是否调用成功。
   
 
#### 单向认证
1. 登录[API网关控制台](https://console.huaweicloud.com/apig2/#/overview)。
2. 根据实际业务在左侧导航栏上方选择实例。
3. 创建SSL证书。
   
   1. 在左侧导航栏选择"API管理 \> API策略"。
   
   2. 在"SSL证书管理"页签中，单击"创建SSL证书"。
      表1配置单向认证的证书信息 
      | 参数   | 配置说明                                                                                                                                                                                                                                     |
      |:---|:---|
      | 证书名称 | 填写证书名称。                                                                                                                                                                                                                                  |
      | 可见范围 | 此处选择"当前实例"。                                                                                                                                                                                                                              |
      | 证书内容 | -----Start certificate----- MIICXgIBAAKBgQC6ndRHy5Dv5TcZiVzT6qF iaMGy61ZIbUrmBhUn61vMdvOHmtblST+fSl ZheNAcv2hQR4aqJLi4wrcerTaRyG9op3OSh... -----End certificate-----        |
      | 密钥   | -----Start RSA private key----- MIICXgIBAAKBgQC6ndRHy5Dv5TcZiVzT6qF iaMGy61ZIbUrmBhUn61vMdvOHmtblST+fSl ZheNAcv2hQR4aqJLi4wrcerTaRyG9op3OSh... -----End RSA private key----- |
      | CA   | 单向认证无需配置CA证书。                                                                                                                                                                                                                            |
         
      
   
   3. 单击"确定"创建完成。
   
   
   
   
4. 绑定域名。
   
   1. 在左侧导航栏选择"API管理 \> API分组"。
   
   2. 单击API所属分组名称，进入分组详情。
   
   3. 在"分组信息"页签中单击"绑定独立域名"。
      表2配置独立域名 
      | 参数                   | 配置说明          |
      |:---|:---|
      | 域名                   | 填写已备案的域名。     |
      | 支持最小TLS版本            | 此处选择"TLS1.2"。 |
      | 支持http to https自动重定向 | 默认关闭。         |
         
      
   
   4. 单击"确定"。
   
   
   
   
5. 绑定证书。
   
   1. 在已绑定独立域名所在行单击"选择SSL证书"。
   
   2. 选择已创建的证书单击"确定"。**单向认证时，确保客户端认证为关闭状态。**
   
   
   
   
6. 调用API。 
   使用接口测试工具调用API，状态码为"200"表示调用成功。否则，请参考[错误码](https://support.huaweicloud.com/usermanual-apig/apig_03_0048.html)章节处理。
   ![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002183155177.png "点击放大")
   
   
 
 #### 双向认证
1. 在"SSL证书管理"页签中，单击"创建SSL证书"。 
   表3配置双向认证的证书信息 
   | 参数   | 配置说明                                                                                                                                                                                                                                                                                                                                                   |
   |:---|:---|
   | 证书名称 | 填写证书名称。                                                                                                                                                                                                                                                                                                                                                |
   | 可见范围 | 此处选择"当前实例"。                                                                                                                                                                                                                                                                                                                                            |
   | 证书内容 | 填写证书内容。 -----Start certificate----- MIICXgIBAAKBgQC6ndRHy5Dv5TcZiVzT6qF iaMGy61ZIbUrmBhUn61vMdvOHmtblST+fSl ZheNAcv2hQR4aqJLi4wrcerTaRyG9op3OSh... -----End certificate-----                                                  |
   | 密钥   | 填写密钥。 -----Start RSA private key----- MIICXgIBAAKBgQC6ndRHy5Dv5TcZiVzT6qF iaMGy61ZIbUrmBhUn61vMdvOHmtblST+fSl ZheNAcv2hQR4aqJLi4wrcerTaRyG9op3OSh... -----End RSA private key-----                                              |
   | CA   | 配置双向认证，此处需要填写CA证书内容。**CA证书配置完成后，将独立域名与此SSL证书绑定，并开启客户端认证。** -----Start certificate----- MIICXgIBAAKBgQC6ndRHy5Dv5TcZiVzT6qF iaMGy61ZIbUrmBhUn61vMdvOHmtblST+fSl ZheNAcv2hQR4aqJLi4wrcerTaRyG9op3OSh... -----End certificate----- |
      
   
   
2. 单击"确定"创建完成。
3. 绑定域名。 
   1. 在左侧导航栏选择"API管理 \> API分组"。
   
   2. 单击API所属分组名称，进入分组详情。
   
   3. 在"分组信息"页签中单击"绑定独立域名"。
      表4配置独立域名 
      | 参数                   | 配置说明          |
      |:---|:---|
      | 域名                   | 填写已备案的域名。     |
      | 支持最小TLS版本            | 此处选择"TLS1.2"。 |
      | 支持http to https自动重定向 | 默认关闭。         |
         
      
   
   4. 单击"确定"。
   
   
   
   
4. 绑定证书。 
   1. 在已绑定独立域名所在行单击"选择SSL证书"。
   
   2. 选择已创建的证书并勾选"开启客户端认证"，单击"确定"。
   
   
   
   
5. 调用API。
   
   使用接口测试工具调用API，状态码为"200"表示调用成功。否则，请参考[错误码](https://support.huaweicloud.com/usermanual-apig/apig_03_0048.html)章节处理。
   由于开启了双向认证，因此在访问API时需要配置客户端证书。
   如果使用Postman调用API，则需要在Setting界面的Certificates配置项中添加Client certificates，上传客户端证书以及密钥。
   ![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002147914340.png "点击放大")
   
   
 
