[software development] 如果不使用certutil命令,怎么导入根证书
Tofloor
poster avatar
136******96
deepin
2023-12-16 19:28
Author

我通过命令certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "MyCert" -i /home/cert/my.crt,成功将证书myCert.crt导入系统,chrome浏览器可以识别并使用,但是如果我的系统中没有certutil命令,且不允许安装certutil,而我又想通过命令或代码的方式导入根证书,应该怎么做。

Reply Favorite View the author
All Replies
爱开发
deepin
2023-12-17 04:15
#1

gpg ?

Reply View the author
136******96
deepin
2023-12-17 19:44
#2
爱开发

gpg ?

我的证书是X.509 格式的,好像gpg应该只能导入OpenPGP格式的,我试了下,导入报错了。
我的使用场景是这样的

有好多台电脑,他们的操作系统版本是不一样的,且都不允许连接互联网,现在需要给每一台电脑都安装根证书。

我的操作是这样的:通过下载库libnss3-tools的离线安装包,然后拷贝到其中一台电脑进行安装,最后再通过certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "MyCert" -i /home/cert/my.crt 导入,chrome浏览器可以正常识别。

但是不同的电脑需要下载不同版本的libnss3-tools进行安装,比较麻烦,有没有其它方式可以安装根证书,或者直接操作nss数据库。

Reply View the author
爱开发
deepin
2023-12-17 19:53
#3

问了下 GPT,是 openssl 的。


在Linux系统上,通常使用 openssl工具来处理X.509证书。以下是在Linux上使用 openssl导入X.509证书的步骤:

openssl x509 -in certificate_file.crt -inform DER -out certificate_file.pem -outform PEM
sudo cp certificate_file.pem /etc/ssl/certs/
sudo update-ca-certificates

这里的步骤解释如下:

  1. 将DER格式转换为PEM格式:
    使用 openssl将X.509证书从DER格式转换为PEM格式。这是因为大多数Linux系统使用PEM格式的证书。

    openssl x509 -in certificate_file.crt -inform DER -out certificate_file.pem -outform PEM
    

    替换 certificate_file.crt为你的X.509证书文件名。

  2. 复制到证书存储目录:
    将PEM格式的证书复制到系统的证书存储目录。一般情况下,该目录为 /etc/ssl/certs/

    sudo cp certificate_file.pem /etc/ssl/certs/
    

    使用 sudo以管理员权限执行复制操作。

  3. 更新证书:
    运行以下命令来更新系统的证书存储。

    sudo update-ca-certificates
    

    这个命令会在 /etc/ssl/certs/目录中查找新添加的证书并更新系统的证书存储。

请注意,具体的命令和目录结构可能会因Linux发行版而有所不同。在某些发行版上,你可能需要手动将证书复制到不同的目录,或者使用其他工具(例如 trust命令)来管理证书。

Reply View the author