config_mindie_server_tls_cert.py
脚本功能
EndPoint开启HTTPS时,使用该脚本对证书进行管理,主要功能如下:
- 生成服务证书
 - 导入CA证书
 - 删除CA证书
 - 导入服务证书和私钥
 - 删除服务证书和私钥
 - 导入更新吊销列表
 - 查询已导入证书信息
 - 恢复CA证书
 - 恢复服务证书
 
 CA(Certificate Authority,证书颁发机构)证书用于验证其他证书的合法性。服务证书(Server Certificate)用于服务端的验证,通常用于SSL/TLS通信中验证服务端身份。
参数说明
参数类型  | 
参数名  | 
参数说明  | 
|---|---|---|
位置参数  | 
<project_path>  | 
软件包安装路径。  | 
位置参数  | 
<sub_command>  | 
子命令类型,包括[gen_cert, import_ca, delete_ca, import_cert, delete_cert, import_crl, query, restore_ca, restore_cert],分别对应生成证书,导入CA证书,删除CA证书,导入服务证书和私钥,删除服务证书和私钥,导入更新吊销列表,查询已导入证书信息,恢复CA证书,恢复服务证书。各个子命令的使用方法请参见使用指南。  | 
选项参数  | 
--business  | 
需要证书管理业务类型,默认为HTTPS证书,可以设置为[management, grpc],分别对应HTTPS management证书和GRPC证书。  | 
选项参数  | 
--ip  | 
证书的IP,如果不设置证书,则使用None代替。  | 
证书规范
- CA证书规范:
- 证书必须使用X.509 v3标准。
 - 证书必须未过期。
 - 证书建议使用sha256WithRSAEncryption或sha512WithRSAEncryption算法签名。
 - 证书建议包含Certificate Signature和cRLSign字段。
 - RSA密钥长度必须不低于3072比特。
 
 - Cert服务证书规范:
- 证书必须使用X.509 v3标准。
 - 证书必须未过期。
 - 证书建议使用sha256WithRSAEncryption或sha512WithRSAEncryption算法签名。
 - 证书建议包含Certificate Signature和cRLSign字段。
 - RSA密钥长度必须不低于3072比特。
 - 证书和私钥必须匹配。
 
 - crl吊销列表规范:
- 吊销列表未过期。
 - 吊销列表非空。
 
 
前置配置
# 缺失的包 pip3 install pyOpenSSL # 开启日志 export MIES_CERTS_LOG_TO_FILE=1 export MIES_CERTS_LOG_TO_STDOUT=1 # 日志配置 export MIES_CERTS_LOG_LEVEL=INFO export MIES_CERTS_LOG_PATH=/workspace/log/certs.log # 文件当前需要通过umask为0077指定为0600
使用指南
- 生成证书。
cd /{MindIE安装目录}/latest/mindie-service/ #进入mindie-service安装目录python3 scripts/config_mindie_server_tls_cert.py 软件包安装目录 gen_cert CA证书配置文件路径 --ip 证书ip # 样例 python3 scripts/config_mindie_server_tls_cert.py /home/Ascend-mindie-service_{version}_linux-{arch} gen_cert /home/Ascend-mindie-service_{version}_linux-{arch}/conf/gen_cert.json --ip=1.1.1.1,2.2.2.2 
- 对CA证书进行导入/更新。
python3 scripts/config_mindie_server_tls_cert.py 软件包安装目录 import_ca CA文件列表(不超过5个) # 样例 python3 scripts/config_mindie_server_tls_cert.py /home/Ascend-mindie-service_{version}_linux-{arch} import_ca /home/ca.pem /home/ca2.pem - 对已导入的CA文件进行删除。
python3 scripts/config_mindie_server_tls_cert.py 软件包安装目录 delete_ca CA文件名称列表(不超过5个) # 样例 python3 scripts/config_mindie_server_tls_cert.py /home/Ascend-mindie-service_{version}_linux-{arch} delete_ca ca.pem ca2.pem - 对服务证书,私钥进行导入/更新(会在弹窗中进行私钥口令输入)。
python3 scripts/config_mindie_server_tls_cert.py 软件包安装目录 import_cert 服务证书路径 服务私钥路径 # 样例 python3 scripts/config_mindie_server_tls_cert.py /home/Ascend-mindie-service_{version}_linux-{arch} import_cert /home/server.pem /home/server.key.pem - 对服务证书,私钥进行删除。
python3 scripts/config_mindie_server_tls_cert.py 软件包安装目录 delete_cert # 样例 python3 scripts/config_mindie_server_tls_cert.py /home/Ascend-mindie-service_{version}_linux-{arch} delete_cert --cert_file=server.pem --key_file=server.key.pem参数解释:
- --cert_file:客户端证书文件路径;
 - --key_file:客户端私钥文件路径。
 
 - 对吊销列表进行导入/更新,crl配套CA文件列表中的第一个CA文件。
python3 scripts/config_mindie_server_tls_cert.py 软件包安装目录 import_crl 吊销列表文件路径 # 样例 python3 scripts/config_mindie_server_tls_cert.py /home/Ascend-mindie-service_{version}_linux-{arch} import_crl /home/server_crl.pem - 生成CA证书。
python3 scripts/config_mindie_server_tls_cert.py 软件包安装目录 gen_cert 配置文件的路径 --ip=IP地址 # 样例 python3 scripts/config_mindie_server_tls_cert.py /home/Ascend-mindie-service_{version}_linux-{arch} gen_cert /home/config.json --ip=1.1.1.1 - 查询导入的CA证书,服务证书,吊销列表文件详情。
python3 scripts/config_mindie_server_tls_cert.py 软件包安装目录 query # 样例 python3 scripts/config_mindie_server_tls_cert.py /home/Ascend-mindie-service_{version}_linux-{arch} query --cert_file=server.pem --crl_file=server_crl.pem参数解释:
--crl_file:客户端吊销列表路径。
 - 恢复CA证书。
python3 scripts/config_mindie_server_tls_cert.py 软件包安装目录 restore_ca # 样例 python3 scripts/config_mindie_server_tls_cert.py /home/Ascend-mindie-service_{version}_linux-{arch} restore_ca --ca_backup_file=/backup/ca.pem --ca_dst_file=ca.pem参数解释:
- --ca_backup_file:备份的CA证书路径。
 - --ca_dst_file:将CA证书恢复至指定路径。
 
 - 恢复服务证书。
python3 scripts/config_mindie_server_tls_cert.py 软件包安装目录 restore_cert # 样例 python3 scripts/config_mindie_server_tls_cert.py /home/Ascend-mindie-service_{version}_linux-{arch} restore_cert --cert_backup_file=/backup/server.pem --cert_dst_file=server.pem --key_backup_file=/backup/server.key.pem --key_dst_file=server.key.pem参数解释:
- --cert_backup_file:备份的服务证书路径。
 - --cert_dst_file:将服务证书恢复至指定路径。
 - --key_backup_file:备份的服务证书密钥路径。
 - --key_dst_file:将服务证书密钥恢复至指定路径。
 
 
 - HTTPS使用三面隔离时,https的业务面和管理面不建议使用同一套安全证书,使用同一套安全证书会导致存在较高的网络安全风险。
 - HTTPS和GRPC不建议使用同一套安全证书,使用同一套安全证书会导致存在较高的网络安全风险。
 
- 导入证书时,对于用户导入的CA文件证书工具要求的权限为600,服务证书文件证书工具要求的权限为600,私钥文件证书工具要求的权限要求为400,吊销列表证书工具要求的权限为600。
 
父主题: CertTools