
# 企业内网身份认证体系建立
#### 应用场景
企业或组织可以通过云证书与管理服务（Cloud Certificate \& Manager，CCM）提供的私有证书管理服务（Private Certificate Authority，PCA）建立自己完整的CA层次体系，实现在内部签发和管理自签名私有证书。
本文介绍从私有证书管理服务申请私有证书到部署私有证书的操作流程。
#### 背景知识
建立组织内部完整的CA层次体系称为自建PKI体系。
在自建PKI体系时，需要根据使用场景提前设计好结构，以便后续管理：
- CA层次的选择 CA层次决定了创建各级从属CA时所需设置的路径长度，以限制其向下签发从属CA的能力，同时影响证书链的长度。
  恰当的CA层次设计，有利于CA的管理。PCA服务支持最多可创建七层CA结构，不同CA结构的区别请参见[私有CA层次结构设计](https://support.huaweicloud.com/bestpractice-ccm/ccm_06_0009.html)
  
- 证书的轮换 证书有效期到期前需要进行新旧证书的替换，避免因证书过期导致业务中断，新旧证书替换的过程即为证书的轮换。
  证书有效期的长短决定了证书轮换的周期，合适的证书有效期设置可降低密钥材料泄露的风险和减少证书轮换的成本，关于PCA有效期设置可参考[PCA证书有效期](https://support.huaweicloud.com/productdesc-ccm/ccm_01_0302.html#section5)。
  
- 证书吊销管理 当证书出现密钥泄漏或者因某些因素不再被使用时，需要将其吊销。因此在创建CA时，需要开启证书吊销列表，同时在自身业务的检验证书环节中要检验证书是已被吊销。
  
 
#### 步骤一：创建私有根CA或从属CA
根CA和从属CA皆通过以下操作创建，创建私有CA详细操作说明请参见[创建私有CA](https://support.huaweicloud.com/tg-ccm/ccm_01_0016.html)
1. 登录[云证书与管理服务控制台](https://console.huaweicloud.com/ccm/?locale=zh-cn)。
2. 在左侧导航栏选择"私有证书管理 \> 私有CA"进入私有CA管理界面。
3. 在私有CA列表左上角，单击"创建CA"，进入创建CA界面。
4. 配置私有CA信息。 
   1. 配置基本信息。 ![](https://support.huaweicloud.com/bestpractice-ccm/zh-cn_image_0000001448141885.png)
      
   
   2. 配置证书唯一标识名称（Distinguished Name，DN）信息。 ![](https://support.huaweicloud.com/bestpractice-ccm/zh-cn_image_0000001449750001.png "点击放大")
      
   
   3. 配置证书吊销信息。 ![](https://support.huaweicloud.com/bestpractice-ccm/zh-cn_image_0000001448261777.png "点击放大")
      
   
   
   
   
5. 单击"下一步"，进入确认信息页面。
6. 确认信息以及价格无误后，单击"确认并创建"，完成创建私有CA操作。
 
#### 步骤二：使用内部私有CA激活从属CA
从属CA创建后需要进行激活，以下的激活操作以内部私有CA激活两层CA结构的从属CA为例，使用外部私有CA激活从属CA的操作步骤请参见[激活私有CA](https://support.huaweicloud.com/tg-ccm/ccm_01_0017.html)。
1. 登录[云证书与管理服务控制台](https://console.huaweicloud.com/ccm/?locale=zh-cn)。
2. 在左侧导航栏选择"私有证书管理 \> 私有CA"进入私有CA管理界面。
3. 在待激活的私有从属CA所在行的"操作"列，单击"激活"，系统从右面弹出激活CA详细页面，如[图1]所示，填写激活CA相关信息。
   
   ![](https://support.huaweicloud.com/bestpractice-ccm/public_sys-resources/note_3.0-zh-cn.png)
   路径长度根据设计的CA层次结构进行设置，不同CA结构的路径长度设置请参见[私有CA层次结构设计](https://support.huaweicloud.com/bestpractice-ccm/ccm_06_0009.html)
   图1内部私有CA   
   ![](https://support.huaweicloud.com/bestpractice-ccm/zh-cn_image_0000001448158389.png "点击放大")
   
   
4. 确认填写的信息无误后，单击"确定"。
 
#### 步骤三：创建私有证书
创建私有证书相关操作详细说明请参见[申请私有证书](https://support.huaweicloud.com/tg-ccm/ccm_01_0025.html)
1. 登录[云证书与管理服务控制台](https://console.huaweicloud.com/ccm/?locale=zh-cn)。
2. 在左侧导航栏选择"私有证书管理 \> 私有证书"进入私有证书管理界面。
3. 在私有证书列表的左上角，单击"申请证书"，进入申请证书界面。
4. 填写申请证书的相关信息。 
   图2申请证书-系统生成文件   
   ![](https://support.huaweicloud.com/bestpractice-ccm/zh-cn_image_0000001448011485.png "点击放大")
   
   
5. 确认信息以及价格无误后，单击"确定"。 
   申请成功后，系统将返回到私有证书页面，在页面右上角弹出"申请证书xxx成功！"，则说明私有证书申请成功。
   
   
 
#### 步骤四：信任根CA
在安装私有证书之前，需要根据实际验证需求将根CA加入客户端或服务器受信任的根证书颁发机构中。
- 单向验证 当服务端无需校验客户端的证书身份时（互联网上大部分公开的网站不校验客户端证书），为了使得客户端信任服务端证书，需要将服务端证书的根CA加入到客户端受信任的根证书颁发机构中。
  
- 双向验证 当服务端与客户端皆需校验对方的证书时，需要双方将对方的根CA加入到自己的受信任的根证书颁发机构中。
  
将私有根CA证书下载至本地，详细操作请参见[导出私有CA证书](https://support.huaweicloud.com/tg-ccm/ccm_01_0019.html)，获得*"根CA名称_certificate.pem"*根CA证书文件。
根据不同的操作系统选择以下方式，将根CA加入受信任的根证书颁发机构中：
![](https://support.huaweicloud.com/bestpractice-ccm/public_sys-resources/note_3.0-zh-cn.png)
以信任根CA"PCA TEST ROOT GO"为例。
- **Windows系统**
  1. 将根CA证书文件后缀由".pem"改为".crt"，双击证书文件，根CA证书信息显示该根证书不受信任。
     图3根CA不受信任   
     ![](https://support.huaweicloud.com/bestpractice-ccm/zh-cn_image_0000001403532184.png "点击放大") 
  
  2. 单击"安装证书"，根据使用场景选择证书存储位置，单击"下一步"。
  
  3. 选择"将所有证书都存放入下列存储（P）"，单击"浏览"，选择"受信任的根证书颁发机构"，单击"确定"，如[图 存储根证书]所示。
     图4存储根证书   
     ![](https://support.huaweicloud.com/bestpractice-ccm/zh-cn_image_0000001453572237.png "点击放大") 
  
  4. 单击"下一步"，再单击"确定"，会有弹窗提示"Windows将信任该私有根CA证书颁发的所有证书"，单击"是"。
  
  5. 双击根CA证书文件，此时根CA证书信息显示系统已信任该根CA证书，表示根CA加入受信任的根证书颁发机构成功。
     图5信任根CA   
     ![](https://support.huaweicloud.com/bestpractice-ccm/zh-cn_image_0000001403692596.png "点击放大") 
   
- **Linux系统**
  不同版本的Linux操作系统中，根CA证书存放路径以及操作方法不一致，需要您根据实际情况进行操作。以下操作以CentOS 6版本的Linux系统为例：
  1. 将根CA证书文件复制到"/home/"路径下。
  
  2. 当服务器未安装"ca-certificates"时，使用如下命令安装"ca-certificates"。 yum install ca-certificates
     
  
  3. 使用如下命令将根CA证书复制到"/etc/pki/ca-trust/source/anchors/"路径下。 cp /home/root.crt /etc/pki/ca-trust/source/anchors/
     
  
  4. 使用如下命令将根CA证书添加到根证书信任文件中。 update-ca-trust extract
     
  
  5. 使用如下命令查看根CA证书是否添加成功信息，查看到新添加的根CA证书信息表示根CA加入受信任的根证书颁发机构成功，如[图 新添加的根CA证书]所示。
     view /etc/pki/tls/certs/ca-bundle.crt
     图6新添加的根CA证书   
     ![](https://support.huaweicloud.com/bestpractice-ccm/zh-cn_image_0000001448122789.png) 
  
  
  ![](https://support.huaweicloud.com/bestpractice-ccm/public_sys-resources/note_3.0-zh-cn.png)
  当openssl版本过低时，可能导致配置无法生效，可尝试使用yum update openssl -y 命令更新openssl版本。
  
- **macOS系统**
  1. 打开mac的启动台，选择"钥匙串"。
  
  2. 输入密码登录到"钥匙串"。
  
  3. 将需要信任的根CA证书文件拖入钥匙串中，此时拖入的根CA证书会显示不被系统信任。
  
  4. 选中根CA证书文件，单击鼠标右键选择"显示简介"。
  
  5. 选择"信任\>使用此证书时"，选择"始终信任"，单击"关闭"。
  
  6. 输入密码使信任根CA证书配置生效。
  
  7. 在"钥匙串"主页查看根CA证书，证书显示被信任表示根CA加入受信任的根证书颁发机构成功。
   
 
#### 步骤五：安装私有证书
**在客户端安装私有证书**（以在Windows系统部署证书为例）
1. 登录[云证书与管理服务控制台](https://console.huaweicloud.com/ccm/?locale=zh-cn)。
2. 在左侧导航栏选择"私有证书管理 \> 私有证书"进入私有证书管理界面。
3. 在目标证书所在行的"操作"列，单击"下载"，进入下载证书页面。
4. 选择证书下载格式为"IIS"，单击"下载证书"。
5. 解压下载的证书文件压缩包"client_iis.zip"，解压后，获得证书文件"server.pfx"和私钥密码文件"keystorePass.txt"。
6. 双击证书文件"server.pfx"，根据使用场景选择证书存储位置，单击"下一步"。
7. 确认要导入的证书文件名，单击"下一步"。
8. 输入从私钥密码文件"keystorePass.txt"中获取的密码，单击"下一步"。
9. 选择"将所有的证书放入下列存储（P）"，单击"浏览"，选择"个人"，单击"确定"如[图 存储私有证书]所示。
   
   图7存储私有证书   
   ![](https://support.huaweicloud.com/bestpractice-ccm/zh-cn_image_0000001453851517.png "点击放大")
   
   
10. 单击"下一步"，单击"完成"，出现弹窗提示证书"导入成功"，证书安装成功。
**在服务器安装私有证书**
在服务器安装私有证书的操作与国际标准SSL证书安装操作相同，请根据服务器类型选择相应的安装参考示例：
- 在Tomcat上安装SSL证书：操作示例详情请参见[在Tomcat服务器上安装SSL证书](https://support.huaweicloud.com/usermanual-ccm/ccm_01_0081.html)。
- 在Nginx上安装SSL证书：操作示例详情请参见[在Nginx服务器上安装SSL证书](https://support.huaweicloud.com/usermanual-ccm/ccm_01_0082.html)。
- 在Apache上安装SSL证书：操作示例详情请参见[在Apache服务器上安装SSL证书](https://support.huaweicloud.com/usermanual-ccm/ccm_01_0083.html)。
- 在IIS上安装SSL证书：操作示例详情请参见[在IIS服务器上安装SSL证书](https://support.huaweicloud.com/usermanual-ccm/ccm_01_0084.html)。
- 在Weblogic上安装SSL证书：操作示例详情请参见[在Weblogic服务器上安装SSL证书](https://support.huaweicloud.com/usermanual-ccm/ccm_01_0125.html)。
- 在Resin上安装SSL证书：操作示例详情参见[在Resin服务器上安装SSL证书](https://support.huaweicloud.com/usermanual-ccm/ccm_01_0070.html)。
 
