
# 如何获取TLS密钥证书？
#### 场景
当您的Ingress需要使用HTTPS协议时，创建Ingress时必须配置IngressTLS或kubernetes.io/tls类型的密钥。
以创建IngressTLS密钥证书为例。如[图1]：
图1创建密钥   
![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000001553429241.png "点击放大")
创建密钥时密钥数据中上传的证书文件和私钥文件必须是配套的，不然会出现无效的情况。
#### 解决方法
一般情况下，您需要从证书提供商处获取有效的合法证书。如果您需要在测试环境下使用，您可以自建证书和私钥，方法如下：
![](https://support.huaweicloud.com/cce_faq/public_sys-resources/note_3.0-zh-cn.png)
自建的证书通常只适用于测试场景，使用时界面会提示证书不合法，影响正常访问，建议您选择手动上传合法证书，以便通过浏览器校验，保证连接的安全性。
1. 自己生成tls.key。
   ```
   openssl genrsa -out tls.key 2048
   ```
   将在当前目录生成一个tls.key的私钥。
   
2. 用此私钥去签发生成自己的证书。
   ```
   openssl req -new -x509 -key tls.key -out tls.crt -subj /C=CN/ST=******/O=Devops/CN=example.com -days 3650
   ```
   生成的私钥格式必须为：
   ```
   ----BEGIN RSA PRIVATE KEY-----
   ……………………………………………..
   -----END RSA PRIVATE KEY-----
   ```
   生成的证书格式必须为：
   ```
   -----BEGIN CERTIFICATE-----
   ……………………………………………………………
   -----END CERTIFICATE-----
   ```
   
3. 导入证书。 新建TLS密钥时，对应位置导入证书及私钥文件即可。
   
 
#### 验证
通过浏览器访问Ingress地址可以正常访问，但因为是自己签发的证书和密钥，所以CA不认可，显示不安全。
图2验证结果   
![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0171279939.jpg "点击放大")
