卷曲:2个ssl命令之间的差异


3

我无法区分或何时使用一个而不是另一个。(这应该是在serverfault吗?)

-E / - 证书

(SSL)告诉curl在使用HTTPS或FTPS获取文件时使用指定的证书文件。证书必须采用PEM格式。如果未指定可选密码,将在终端上查询。请注意,此选项假定“证书”文件是私钥,并且私有证书连接在一起!请参见--cert和--key以单独指定它们。

如果curl是针对NSS SSL库构建的,则此选项告知curl要在由环境变量SSL_DIR(或默认为/ etc / pki / nssdb)定义的NSS数据库中使用的证书的昵称。如果NSS PEM PKCS#11模块(libnsspem.so)可用,则可以加载PEM文件。

如果多次使用此选项,将使用最后一个选项。

--cert型

--cacert

(SSL)告诉curl使用指定的证书文件来验证对等方。该文件可能包含多个CA证书。证书必须采用PEM格式。通常,curl构建为使用默认文件,因此该选项通常用于更改该默认文件。

curl识别名为'CURL_CA_BUNDLE'的环境变量(如果已设置),并使用给定路径作为CA证书包的路径。此选项会覆盖该变量。

curl的Windows版本将自动查找名为“curl-ca-bundle.crt”的CA证书文件,该文件位于curl.exe所在的目录中,或者位于当前工作目录中,或者位于PATH的任何文件夹中。

如果curl是针对NSS SSL库构建的,则此选项告知curl要在由环境变量SSL_DIR(或默认为/ etc / pki / nssdb)定义的NSS数据库中使用的CA证书的昵称。如果NSS PEM PKCS#11模块(libnsspem.so)可用,则可以加载PEM文件。

如果多次使用此选项,将使用最后一个选项。

curl 

Answers:


3

-E用于向服务器提供客户端证书。--cacert用于验证服务器证书。

编辑:

SSL本身有三个目的:

  1. 加密连接。
  2. 验证服务器。
  3. (可选)验证客户端。

大多数人认为SSL只是第1点,尽管如果一切都到位,第2点也是如此。只有当存在某种证书问题时,人们才会积极考虑第2点。几乎没有人会考虑第3点,因为它的使用率更低。

--cacert处理第2点。-E处理第3点。


该死!你打败了我30秒。我删除了我的答案吗?或者只是让投票照顾它?
Jed Daniels 2010年

1
别管它。(15个字符)
TheLQ 2010年

所以你说服务器会抛出一个错误,说我没有经过身份验证!?!我不知道。-E是我作为客户的证书。我不知道这是可能的,手册页中的文字没有给我一个足够好的提示,就是它的作用。哇。

尝试登录这里举个例子:koji.fedoraproject.org/koji
Ignacio Vazquez-Abrams 2010年

2

-E/--Cert 用于验证客户端(您)。

--cacert 用于服务器的人是他们声称的人。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.