在 Ubuntu 上打开 CA 私钥时出错

Error opening CA private key on Ubuntu

我正在尝试在 Ubuntu 14.04 上使用 OpenSSL 创建一个 自签名证书 。 当我输入命令 openssl ca -in tempreq.pem -out server_crt.pem 时,出现以下错误:

Using configuration from /root/myCA/caconfig.cnf  
**Error opening CA private key** ~/myCA/private/cakey.pem  
139754719667872:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fopen('~/myCA/private/cakey.pem','r')  
139754719667872:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:400:  
unable to load CA private key

我已经验证 nano ~/myCA/private/cakey.pem 命令打开 cakey.pem 文件,并且启用了此文件的 read 权限。

如有任何帮助,我们将不胜感激。谢谢!

您似乎是 运行 root,请检查您是否不小心遵循了 ubuntu.com OpenSSL 文章中的说明,并在 /root/myCA/caconfig 中设置了 dir 参数。 cnf 到 /home/root/myCA.

这是因为根主目录与所有其他主目录不同,它位于顶级文件夹中。所以如果你把它设置为/home/root/myCA,那是无效的,你必须把它改成/root/myCA。

编辑(因为这是问题所在):

在配置中使用“~”可能无法正常工作,因为它可能无法通过 openssl 正确扩展。如果是,请尝试使用绝对路径。