昇腾社区首页
中文
注册

证书导入(可选)

  • 建议使用普通用户运行证书导入脚本,不建议sudo组普通用户使用sudo+“command”方式运行证书导入脚本。
  • 当推理服务以“https”模式启动时,需要导入证书,证书生成可以参考 自签名证书制作参考。证书导入脚本需要输入根证书路径、服务证书路径、服务端私钥路径、证书二次加密密码。
  • 如推理服务以“http”模式启动,不需要导入证书,此步骤可以跳过,带来的安全风险需用户自行承担。
  • 当启动推理结果上传第三方时,还可以配置第三方平台的客户端证书。
  1. 使用普通用户登录需要导入证书的服务器。
  2. 设置环境变量。
    进入安装包解压路径后,将“lib”文件夹设置到环境变量“LD_LIBRARY_PATH”中(证书导入工具需要配置自带的加密组件相关的so包路径)。
    cd mxAOIService
    export LD_LIBRARY_PATH=lib:$LD_LIBRARY_PATH
  3. 使用证书导入脚本“cert-importer.py”导入证书。

    执行证书导入的操作命令参考如下,参数说明请参见表1

    python3 ./tools/cert_importer.py --cert_ca=/xxx/ca.crt --cert_crt=/xxx/server.crt --cert_key=/xxx/server.key --ai_platform_http_client=/xxx/client_ca.crt  --gateway_client_ca=/xxx/gateway_client_ca.crt --crl=/xxx/ca.crl --ai_platform_client_crl=/xxx/ai_platform_client.crl --gateway_client_crl=/xxx/gateway_client.crl --expiry_days=365
    表1 证书导入脚本参数说明

    参数

    类型

    是否必填

    说明

    --cert_ca

    string

    必填

    服务根证书文件路径。

    --cert_crt

    string

    必填

    服务证书文件路径。

    --cert_key

    string

    必填

    服务私钥文件路径。

    --ai_platform_http_client

    string

    可选

    推理结果向第三方上传的客户端证书。

    --gateway_client_ca

    string

    可选

    推理时间向第三方上传的客户端证书。

    --crl

    string

    可选

    被吊销证书列表文件路径,加载后被吊销的证书将被推理服务拒绝连接。

    --ai_platform_client_crl

    string

    可选

    向第三方接口上传图片及推理结果时加载的证书吊销列表。

    --gateway_client_crl

    string

    可选

    向第三方接口上传推理时延信息时加载的证书吊销列表。

    --expiry_days

    int

    可选

    设置证书文件留存期,以“天”为单位,最小值为1,最大值为2000,默认保存一年(365天),以UTC(协调世界时)为准,过期后证书文件目录将会在下一次推理服务启动时被删除,该参数设置后,过期时间会同步写入配置文件“config.yaml”中的“ca_retention_time”字段,配置文件与具体字段含义请参见config.yaml配置参数详解

    • 请传入“cert_ca”“cert_crt”“cert_key”“ai_platform_http_client”(可选)、“gateway_client_ca”(可选)、“crl”(可选)、“ai_platform_client_crl”(可选)、“gateway_client_crl”(可选)参数,具体参考表1
      • 参数传入后会要求输入私钥解密口令,会对导入的证书进行私钥解密和证书过期等校验,私钥会重新加密并写入“./config/config.yaml”文件中。
      • 重新加密后的私钥会保存在“~/aoi_service/key.bak”文件中进行备份,该私钥对应的哈希值保存在“~/aoi_service/key.hash”文件中,在启动“https”模式的推理服务时用作完整性校验,确保私钥未被篡改。
    • 证书导入工具会自动创建目录“./config/crt”,并将相应的证书文件拷贝到该目录下,目录结构如下,文件权限设置为“400”
    ├── crt
       └── ca.crt
       ├── server.crt
       └── server.key
       └── client_ca.crt
       └── gateway_client_ca.crt
       └── gateway_client.crl
       └── ai_platform_client.crl
       └── ca.crl
  4. 导入后的证书路径会写入推理服务配置文件“./config/config.yaml”中。

    证书导入后,建议删除本地证书,防止证书泄漏。

    # Config infer service ca file path and keyword when https.
    cert:
      ca: xxx
      crt: xxx
      key: xxx
      key_mm: xxxxxx
      crl: xxxxxx
    
    # Upload CA file path, only use in https mode.
    ai_platform_http_client:
      ca: xxx
      crl: xxx
    
    # Upload infer time to pushgateway CA file path, only use in https mode.
    http_pushgateway_client:
      ca: xxx
      crl: xxx