我正在使用带有静态busybox的小initramfs.此initramfs的唯一目的是将文件下载/上载到HTTPS服务器.
我有适当的证书和证书.但是当我执行命令时:
curl –cacert /tmp/filename.pem -T / tmp / file_to_upload -u user:pass https:// Server_name /
我问了一个错误:
curl:(60)SSL证书问题:无法获得本地颁发者证书
如果我在Ubuntu上使用相同的命令和相同的证书,那么一切顺利.
我怎么想解决这个问题?
编辑:我不想使用“-k”或“–insecure”开关
注意:我在initramfs中没有openssl或/ etc / ssl目录
解决方法:
由于您没有/ etc / ssl,我建议在命令中添加curl -k选项.
-k, –insecure
(SSL) This option explicitly allows curl to perform “insecure”
SSL connections and transfers. All SSL connections are attempted
to be made secure by using the CA certificate bundle installed
by default. This makes all connections considered “insecure”
fail unless -k, –insecure is used.
根据您不想要-k的编辑,另一个选项是创建/ etc / ssl / certs,并将支持信任链的根证书添加到其中的证书中.但是要使它工作,您需要安装openssl,或者在最小的/etc/ssl/openssl.cnf配置文件中.
第三个选项可以只是连接到“filename.pem”所有必要的证书,以按重要性顺序完成信任链(即,如果有中间CA,则根CA最后).它适用于某些软件设置(Apache,FreeRadius,从未亲自尝试过curl).
标签:linux,curl,certificates
来源: https://codeday.me/bug/20190814/1658648.html