【问题标题】:openssl/wget only working if i explicitly specify ca-directoryopenssl/wget 仅在我明确指定 ca 目录时才有效
【发布时间】:2019-04-13 17:44:06
【问题描述】:

如果我尝试使用 openssl 或 wget 而不显式传入 ca 目录,则证书无法验证。我想让 ubuntu 恢复到可以轻松验证普通网站(如 google.com)的原始状态。是否需要设置环境变量,或者需要启用符号链接才能正确配置?

chris@chris:~$ wget --ca-directory=/etc/ssl/certs https://google.com
--2019-04-13 12:42:12--  https://google.com/
Resolving google.com (google.com)... 172.217.4.206, 2607:f8b0:4009:807::200e
Connecting to google.com (google.com)|172.217.4.206|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.google.com/ [following]
--2019-04-13 12:42:12--  https://www.google.com/
Resolving www.google.com (www.google.com)... 172.217.4.36, 2607:f8b0:4009:80f::2004
Connecting to www.google.com (www.google.com)|172.217.4.36|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html.5’

index.html.5                                      [ <=>                                                                                             ]  11.07K  --.-KB/s    in 0.004s

2019-04-13 12:42:12 (2.88 MB/s) - ‘index.html.5’ saved [11340]

chris@chris:~$ wget https://google.com
--2019-04-13 12:42:19--  https://google.com/
Resolving google.com (google.com)... 172.217.4.206, 2607:f8b0:4009:807::200e
Connecting to google.com (google.com)|172.217.4.206|:443... connected.
ERROR: cannot verify google.com's certificate, issued by ‘CN=Google Internet Authority G3,O=Google Trust Services,C=US’:
  Unable to locally verify the issuer's authority.
To connect to google.com insecurely, use `--no-check-certificate'.

如果我没有明确传入-CApath,这与openssl 的行为相同

-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Mountain View/O=Google LLC/CN=www.google.com
issuer=/C=US/O=Google Trust Services/CN=Google Internet Authority G3
---
No client certificate CA names sent
Peer signing digest: SHA256
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 2962 bytes and written 261 bytes
Verification error: unable to get local issuer certificate
---

【问题讨论】:

  • 使用命令 c_rehash -v 找出您的 openssl 的默认证书目录(例如 /usr/local/ssl/certs)。一旦你知道了,你可以使用复制/符号链接证书。
  • @LorinczyZsigmond 这是$ c_rehash -v chris@chris:~$ 的输出

标签: ubuntu ssl openssl wget


【解决方案1】:

这解决了我的问题

export SSL_CERT_DIR=/etc/ssl/certs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 2018-02-28
    相关资源
    最近更新 更多