gpt4 book ai didi

curl: (58) 无法加载客户端 key -8178

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:17 24 4
gpt4 key购买 nike

我在使用 curl 命令时遇到 SSL 问题。我想使用我的 SSL 客户端证书和私钥访问 URL。

这是我的命令:

$ curl -k -v "https://myurl.com/" --cert ./certificate.pem --key ./private.key

* About to connect() to xx.xx.xx.xx port 23444 (#0)
* Trying xx.xx.xx.xx... connected
* Connected to xx.xx.xx.xx (xx.xx.xx.xx) port 23444 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* warning: ignoring value of ssl.verifyhost
* Unable to load client key -8178.
* NSS error -8178
* Closing connection #0
curl: (58) Unable to load client key -8178.

key 受密码保护,curl 不要求我输入密码,这很奇怪。即使我使用 --pass 传递密码,我仍然会遇到同样的错误。

似乎没有考虑参数 --key,因为如果我用 foo.key 替换,它在我的文件系统中不存在,我仍然得到同样的错误。

但是,如果使用:

$ wget --certificate=./certificate.pem --private-key=private.key "https://myurl.com/" --no-check-certificate

我可以访问我的 URL。

你有什么想法吗?

最佳答案

我遇到了同样的问题,终于找到了解决方案,也许它可以帮助你。

失败是由于PKCS#8中的私钥造成的格式:

  • PKCS#8 私钥以-----BEGIN ENCRYPTED PRIVATE KEY----- header
    或者
    -----BEGIN PRIVATE KEY----- header

    使用此 key curl + openssl 将起作用,但是 curl + nss + libnsspem。所以不会。

  • 使用以
    开头的RSA私钥-----BEGIN RSA PRIVATE KEY----- header

    curl + opensslcurl + nss + libnsspem.so将工作。

所以使用这个命令

openssl pkcs8 -in path/to/your/pkcs8/key -out path/to/rsa/key

将 PKCS#8 key 转换为传统的 RSA key 。

关于curl: (58) 无法加载客户端 key -8178,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20969241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com