我正在尝试在 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可能无法正确展开它。如果是这样,请尝试使用绝对路径。