强制OpenSSL不使用/ etc / pki / CA / newcerts

时间:2019-05-28 02:06:20

标签: openssl

我正在尝试为服务器生成CA密钥,但是我没有root访问权限。因此,当我运行以下代码时。我显然收到了权限被拒绝的错误。有没有办法强迫它写在用户文件夹下的其他地方?

我浏览了openssl的参数,却找不到我需要的东西

openssl ca -extensions v3_ca -out /home/cdonohue/certs/ca.pem -keyfile /home/cdonohue/certs/server-key.pem -verbose -selfsign -md sha256 -enddate 330630235959Z -infiles /home/cdonohue/certs/server-crt.pem
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /home/cdonohue/certs/server-key.pem:
I am unable to access the /etc/pki/CA/newcerts directory

1 个答案:

答案 0 :(得分:1)

ca覆盖new_certs_dir的命令行选项是-outdir,如手册页所述。

但是,序列文件和“索引”文件通常位于同一位置,因此您也可能无法编写它们,并且它们没有命令行选项。要解决这些问题,您将需要创建和使用自己的配置文件,并且一旦这样做,您就不再需要现在使用的大多数选项。

也可以使用默认配置文件中的v3_ca部分生成的证书实际上并不适合服务器证书,尽管它至少在某些情况下可能有效。对于服务器使用 any 自签名证书是可疑的,除非仅由相当小的社区(例如组织的Intranet)中的客户端访问服务器或进行调试和测试。

但是,一旦您不使用“系统” CA配置的任何文件,并且您正在发布自签名证书,那么使用ca来执行此操作实际上没有任何意义,除非您确实需要确切的到期时间(不太可能),或者您使用的是copy_extensions,它在默认配置中已禁用。否则,req -x509x509 -req -signkey可以更简单地从CSR生成等效的自签名证书。在StackOverflow,SuperUser,ServerFault和Security.SX上都有很多关于这两个问题以及手册页的问题。