• 首页
  • Qt文档
  • DTK文档
  • 玲珑文档
  • 未进开发者根证书导入uos浏览器生效方案

    根证书导入uos浏览器需要root权限,第三方厂商适配产品有一定需求要将产品的证书与uos浏览器交互,更改使用保密协议,怎么实现这个功能就成为了一个难点。

    具体思路:

    举例产品为com.demo.appid

    certutil工具需要提前下载准备好,放到/opt/apps/com.demo.appid/files目录下,libnss3库默认集成到uos系统中,可以直接调用,在deb包签名后安装会具有root权限,再单独执行脚本导入证书生效

    add_rootcerts.sh #为导入配置脚本

    内容:

    #!/bin/bash

    add rootcert to ~/.kpi/nssdb/cert9.db

    cd /opt/apps/com.demo.appid/files/InstallRootCert/uosInstallCert/cert/

    if [ ! -d "${HOME}/.pki/nssdb" ];then

        mkdir -p ${HOME}/.pki/nssdb
    
    /opt/apps/com.demo.appid/files/InstallRootCert/uosInstallCert/certutil -N --empty-password -d ${HOME}/.pki/nssdb
    

    fi

    /opt/apps/com.demo.appid/files/InstallRootCert/uosInstallCert/certutil --empty-password -d sql:${HOME}/.pki/nssdb -A -t "CT,C,c" -n "cert/""-""serverroot.pem" -i "serverroot.pem"

    if [ $? -eq 0 ];then

        echo "add successful!"
    
    else
    
        echo "add fail"
    

    fi

    导入证书后,卸载产品必须配置相应的删除导入证书的动作,不然有很大几率引起卸载产品失败

    rm_rootcerts.sh #删除导入工作脚本

    内容:

    #!/bin/bash

    add rootcert to ~/.kpi/nssdb/cert9.db

    cd /opt/apps/com.demo.appid/files/InstallRootCert/uosInstallCert/cert/

    /opt/apps/com.demo.appid/files/InstallRootCert/uosInstallCert/certutil --empty-password -d sql:${HOME}/.pki/nssdb -D -n "cert/""-""serverroot.pem" -i "serverroot.pem"

    if [ $? -eq 0 ];then

        echo "rm successful!"
    
    else
    
        echo "rm fail"
    

    fi 链接: https://pan.baidu.com/s/148yLlMLg3FC29ihPb1jYkA 密码: 5eiq