我有一个使用自签名证书运行的Flask应用程序。 我可以使用以下命令发送curl请求:
curl -v -k -H "Content-Type: application/json" -d '{"data":"value1","key":"value2"}' https://<server_ip>:<port>
冗长的日志显示一切都很顺利。
我想避免使用 -k (--insecure) 选项,而是指定一个 curl 可以使用的 .pem 文件。查看 curl 手册页,我发现可以使用 --cert 选项来实现这一点。 于是我使用以下方法创建了一个 .pem 文件:
openssl rsa -in server.key -text > private.pem
当我使用private.pem文件时,CURL会抛出这个错误:
curl: (58) unable to use client certificate (no key found or wrong pass phrase?)
有什么建议吗?还是只有使用经过正确签名的证书才可能实现?
谢谢
echo quit | openssl s_client -showcerts -servername server -connect server:443 > cacert.pem
- bryn