我正在尝试在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
文件,并且是否启用了此文件的读取权限。
任何帮助将不胜感激。谢谢!
您似乎以 root 身份运行,请检查您是否没有意外地按照 ubuntu.com OpenSSL 文章中的说明进行操作,并将/root/myCA/caconfig.cnf 中的 dir 参数设置为/home/root/myCA。
这是因为根主目录与所有其他主目录的不同之处在于位于顶部文件夹中。因此,如果您将其设置为/home/root/myCA,则无效,则必须将其更改为/root/myCA。
编辑(因为这是问题所在):
在配置中使用"~"可能不起作用,因为它可能无法通过 openssl 正确扩展。如果是,请尝试改用绝对路径。