相关疑难解决方法(0)

curl:(60)SSL证书:无法获得本地颁发者证书

root@sclrdev:/home/sclr/certs/FreshCerts# curl --ftp-ssl --verbose ftp://{abc}/ -u trup:trup --cacert /etc/ssl/certs/ca-certificates.crt
* About to connect() to {abc} port 21 (#0)
*   Trying {abc}...
* Connected to {abc} ({abc}) port 21 (#0)
< 220-Cerberus FTP Server - Home Edition
< 220-This is the UNLICENSED Home Edition and may be used for home, personal use only
< 220-Welcome to Cerberus FTP Server
< 220 Created by Cerberus, LLC
> AUTH SSL
< 234 Authentication method accepted
* successfully set certificate verify locations:
*   CAfile: …
Run Code Online (Sandbox Code Playgroud)

ssl curl openssl ssl-certificate x509certificate

202
推荐指数
16
解决办法
45万
查看次数

如果我在具有备用信任路径的链中使附加证书过期,会发生什么情况?

我有一个由 Sectigo(前 Comodo Positive SSL 产品)颁发的证书。它状况良好,有效期为 1 年零 7 个月。此证书由Sectigo RSA 域验证安全服务器CA 颁发。CA 链中有两个中间证书,由供应商提供:最近的 Sectigo RSA 域验证安全服务器 CA 和下一个中间的 USERTrust RSA 证书颁发机构,将于 2020 年 5 月 30 日到期。

中级 USERTrust RSA 证书颁发机构的到期日期非常接近,并由受信任的浏览器 AddTrust 外部 CA Root 签名。

同时,最接近我的域证书中间 Sectigo RSA 域验证安全服务器 CA 由另一个具有相同名称的根签名 USERTrust RSA 证书颁发机构,但这与之前提到的 CA 证书不同。并且这个根被普通浏览器信任。

证书链

我尝试通过 ssllabs.com 的检查器检查它,我发现今天一切正常。但我不明白未来。如果我在链中留下过期的中间件,5 月 30 日之后会发生什么?或者最好事先从链中排除这个中间体?

browser ssl certificate pki

9
推荐指数
1
解决办法
2433
查看次数

curl: (60) SSL 证书问题:在代理后面上传时

我需要在公司代理后面进行卷曲上传。根据我尝试的网站,我遇到了以下两种类型的问题,

  • 卷曲:(35)错误:1408F10B:SSL例程:ssl3_get_record:版本号错误
  • curl: (60) SSL 证书问题:无法获取本地颁发者证书

详细信息如下:

情况1:

. . . 
< HTTP/1.1 200 Connection established
< Proxy-agent: CCProxy
< 
* Proxy replied 200 to CONNECT request
* CONNECT phase completed!
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* CONNECT phase completed!
* CONNECT phase completed!
* error:1408F10B:SSL routines:ssl3_get_record:wrong version number
* Closing connection 0
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version …
Run Code Online (Sandbox Code Playgroud)

ssl upload proxy curl zscaler

7
推荐指数
1
解决办法
2万
查看次数

Wget 和 Curl 停止使用 HTTPS。错误地抱怨证书过期

我有一个每天在 Ubuntu 14.04 服务器上运行的脚本。该脚本是一个简单的 wget 命令,它从远程服务器下载文件并将其保存到本地文件系统:

wget https://example.com/resources/scripts/myfile.php -O myfile.php
Run Code Online (Sandbox Code Playgroud)

几个月来它一直运行良好,直到今天早上当我运行它时突然出现:

--2020-05-30 11:57:16--  https://example.com/resources/scripts/myfile.php
Resolving example.com (example.com)... xx.xx.xx.xx
Connecting to example.com (example.com)|xx.xx.xx.xx|:443... connected.
ERROR: cannot verify example.com's certificate, issued by ‘/C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA’:
  Issued certificate has expired.
To connect to example.com insecurely, use `--no-check-certificate'.
Run Code Online (Sandbox Code Playgroud)

该域的 SSL 有效并于 2022 年 1 月到期。这方面没有任何变化。然而不知何故 wget 不再看到这一点。

这是另一个有趣的事实。如果我在 Ubuntu 18 机器上运行这个完全相同的命令,它就像一个魅力,没有任何抱怨。这告诉我我的 Ubuntu 14.04 机器有问题。

Curl 产生相同的错误:

curl https://example.com
curl: (60) SSL certificate problem: certificate has expired
Run Code Online (Sandbox Code Playgroud)

这篇文章表明证书包已过期。我已经下载了建议的 …

ssl curl wget

5
推荐指数
2
解决办法
5083
查看次数

nodejs-证书已过期

在我的 Node.js 代码中,我使用库请求站点request

const httpReq = require("request")
function postJSON(uri, data, headers) {
  if (uri.slice(-1) != "/") {
    uri += "/"
  }

  console.log(`[postJSON] uri: ${uri}`)
  console.log(`[postJSON] body: ${JSON.stringify(data, null, 2)}`)
  console.log("[postJSON] headers", JSON.stringify(headers, null, 2))

  return new Promise((resolve, reject) => {
    httpReq(
      {
        method: "POST",
        uri: uri + Math.floor(Math.random() * 100000000).toString(),
        headers: headers,
        json: data
      }, function (err, resp, body) {
        console.log(`[postJSON] done with error: ${err} -> ${uri}`)

        if (err) {
          reject(err)
        }
        else {
          resolve(body)
        }
      }
    ) …
Run Code Online (Sandbox Code Playgroud)

request ssl-certificate node.js

5
推荐指数
1
解决办法
2万
查看次数