近期收到不少用户咨询,其中关于OpenSSL配置终端证书的问题较为集中。现将具体操作步骤整理如下,供有需要的用户参考,希望能为大家提供有效帮助。
1、 首先,需搭建OpenSSL的本地CA环境。为此,应创建一个专用目录用于存放CA相关文件,如签发的证书和证书吊销列表(CRL)。选定路径为 /var/MyCA,并在该目录下建立两个子目录:certs 用于存储CA所签发证书的副本,便于统一管理;private 则用于存放CA私钥,确保密钥的安全性。通过此结构,可有效组织CA运行所需的基本文件体系,为后续证书签发与管理奠定基础。
2、 在我们的CA体系中,除了生成密钥外,还需创建三个文件。其一为记录最新签发证书序列号的文件,命名为serial,初始值设为01;其二为用于登记已签发证书信息的索引数据库,命名为index.txt,初始状态为空;第三个文件的作用将在后续过程中体现,共同支撑证书管理体系的正常运行。
3、 接下来需指定OpenSSL配置文件的路径,可通过config命令选项或设置环境变量OPENSSL_CONF实现,此处选用后者。为对所颁发的证书进行签名,必须拥有一个证书,该证书可来自其他认证机构,也可使用自签名的根证书。本例中将创建一个自签名的根证书,用于后续的签发操作。此过程是构建私有证书体系的基础步骤之一。
4、 接着需在配置文件中添加相关信息,节名称与命令行工具中的req命令保持一致。通过将所有必要参数写入配置文件,不仅避免了手动输入,还能唯一指定X.509v3扩展内容,同时有助于更清晰地掌握根证书的创建过程,提升操作的准确性和可重复性。
5、 在为客户签发证书前,需先收集其证书所需的基本信息。为此,我们应打开一个新的终端窗口,并使用OpenSSL的默认配置文件进行操作,以避免之前设置的OPENSSL_CONF环境变量产生干扰——该配置仅用于根证书的生成,不适用于此环节。接下来执行的命令与生成根证书时类似,仍使用`req`子命令,但参数有所调整。具体命令如下:`$$ openssl req -newkey rsa:1024 -keyout testkey.pem -keyform PEM -out testreq.pem -outform PEM`。该命令将同时生成一对RSA密钥(长度为1024位)和一个证书请求文件,私钥保存为PEM格式的testkey.pem,请求文件则输出为PEM格式的testreq.pem,后续将基于此请求签发客户证书。
6、 最后会两次提示输入口令,首次输入的口令用于加密私钥文件testkey.pem,第二次输入的口令通常会被OpenSSL忽略。操作完成后将生成两个文件:一个是加密后的私钥testkey.pem,另一个是包含公钥信息的请求文件testreq.pem。
评论
更多评论