将TinyCA2的证书存储迁移到xca

多年以来,我自己一直使用TinyCA2来管理自制的CA,也推荐别人用它管理CA。直接用openssl命令来签发、管理证书实在太繁琐。TinyCA2是封装openssl命令的Perl程序,提供简单的用户图形界面。

TinyCA2自2006年发布0.7.5版后,已停止更新,并且不支持目前浏览器和CA业界推荐的SHA-2签名算法系列。网上有几个使TinyCA2支持SHA-2的补丁,但仍未被流行Linux发行版采纳。可以说TinyCA2的开发早已处于休眠状态,已基本无人维护。

以前我比较看好的CA管理软件GnoMint也已经停止开发。是时候寻找其他CA管理软件了!

xca是开源、跨平台的CA管理工具,支持GNU/Linux、Windows和Mac OS X,有较复杂的软件设计和用户界面,并且仍在活跃开发维护状态,最新的1.3.0版于3天前发布。

在开始导入数据到xca之前,须打开xca的File菜单 / New Database,创建xca数据库。xca会提示输入加密数据库的密码。这个密码务必要设置得强度高一些,因为所有的证书密钥都将用它加密。

CentOS7-xca

由于TinyCA2后台调用openssl命令来管理证书存储,每一个密钥、证书和请求都是以文件的形式保存在CA目录中,将CA数据存储从TinyCA2迁移到xca很简单。

[wenzhuo@localhost ZhangsRootCA]$ ls -F
cacert.key crl/ index.txt.attr.old newcerts/ serial
cacert.pem index.txt index.txt.old openssl.cnf serial.old
certs/ index.txt.attr keys/ req/

TinyCA2管理的CA目录中最重要的两个文件是cacert.key和cacert.pem,分别是CA密钥和证书,可在xca的Private Keys和Certificates这两个选项卡上单击Import按钮将它们分别导入xca。

TinyCA2中每个密钥文件都是由独立的密码保护的,将它们导入xca须逐个输入密钥的保护密码,比较麻烦。好在密钥在证书管理中不是必须的,原则上密钥应该只保存于需要使用数字证书的服务器上,因此这一步可以省略。剩下的需要导入xca的是newcerts目录中的证书文件和crl目录中的证书撤销列表文件crl.pem。newcerts目录中的所有pem格式的证书文件可在xca的Certificates选项卡上一次性完成导入。crl.pem则应在Revocation lists选项卡上导入。

至此,你就可以在xca中使用原来的CA管理证书了。你也可以在xca中创建新的CA;按照目前的状况,如果新的CA你打算使用到2030年,4096位的密钥长度是必须的。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.