【问题标题】:Receiving error ./demoCA/newcerts: No such file or directory [closed]接收错误./demoCA/newcerts:没有这样的文件或目录[关闭]
【发布时间】:2017-04-05 15:08:31
【问题描述】:

我正在尝试用我的 CA 签署我的 CSR 文件。

我正在使用以下命令:

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

我的 openssl.cnf 没有被更改,它处于默认状态。

请参考下图:

【问题讨论】:

标签: linux ssl openssl certificate ssl-certificate


【解决方案1】:

当此命令在 demoCA 文件夹中运行时,它正在寻找 newcerts 文件夹,它应该只搜索 newcerts,而是搜索 ./demoCA/newcerts,即使它已经在 newcerts 文件夹中!不知道为什么……

为了解决这个问题,我向上移动了一个文件夹(从 demoCA 文件夹中移到包含您的 demoCA 文件夹的任何文件夹中),然后更改了命令,以便所有文件前面都有 ./demoCA:

openssl ca -in ./demoCA/server.csr -out ./demoCA/server.crt -cert ./demoCA/ca.crt -keyfile ./demoCA/ca.key -config ./demoCA/openssl.cnf

然后它终于对我有用了!!

(解决此问题的更好方法是弄清楚它为什么要搜索 ./demoCA/newcerts 而不是简单的 newcerts,但我无法弄清楚。)

【讨论】:

    【解决方案2】:

    修改权限是一个简单的测试,可以查看您是否定位到错误的位置。对于踢球和微笑,请尝试将外部位置覆盖到您正在使用的相同位置,如下所示:

    openssl ca -in server.csr -out ~/demoCA/server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
    

    【讨论】:

    • 此实例中的# 不是目录名称的一部分。这是 Linux 指示根会话的方式。如果您在 Linux 终端中执行 sudo su,您会注意到 $ 更改为 #
    • 不是以 root 身份运行的最佳主意...无论哪种方式,为 openssl 设置一个已知可访问的输出文件的位置都应该可以解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    • 2020-09-12
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    相关资源
    最近更新 更多