2017-11-30 20 views
0

私はCentOSの6にカールの奇妙な行動を発見した際に、新鮮な専用サーバーを設定しようとしている(7)されてきた:CURLがhttpsリソースを読み込めません。 NSSエラー-8181

curl "https://google.com" 

戻り

curl (60): Peer certificate cannot be authenticated with known CA certificates 

はカールのように思えます現在のシステムにインストールされているCAについて何も知らない

# curl https://google.com --verbose 
* About to connect() to google.com port 443 (#0) 
* Trying 172.217.25.174... connected 
* Connected to google.com (172.217.25.174) port 443 (#0) 
* Initializing NSS with certpath: sql:/etc/pki/nssdb 
* CAfile: /etc/pki/tls/certs/ca-bundle.crt 
    CApath: none 
* Remote Certificate has expired. 
* NSS error -8181 
* Closing connection #0 
* Peer certificate cannot be authenticated with known CA certificates 
curl: (60) Peer certificate cannot be authenticated with known CA certificates 
More details here: http://curl.haxx.se/docs/sslcerts.html 

curl performs SSL certificate verification by default, using a "bundle" 
of Certificate Authority (CA) public keys (CA certs). If the default 
bundle file isn't adequate, you can specify an alternate file 
using the --cacert option. 
If this HTTPS server uses a certificate signed by a CA represented in 
the bundle, the certificate verification probably failed due to a 
problem with the certificate (it might be expired, or the name might 
not match the domain name in the URL). 
If you'd like to turn off curl's verification of the certificate, use 
the -k (or --insecure) option. 

--insecureは良くありません。私が試した

  • でも
直接実行をカールする --cacertオプションを設定
  • サードパーティのCA証明書をダウンロードしupdate-ca-trust extract
  • 経由ca-certificates
  • エキス証明書を再インストール

    しかし、それは私を助けません。

    最初に考えました。新鮮なOSには実際のバージョンの証明書はありませんでしたが、もし私がyum update -yを実行すればどうなりますか?実際にする必要がありますか?

    私はこれまでにget-60-error-with-curlなど多くの質問を確認しました。

  • 答えて

    0

    私を見つけ出した唯一の事は、カールを実行したときの冗長な応答からの行である - * Remote Certificate has expired.でした。

    Googleの証明書が期限切れ状態になる可能性はありますか?今は何時ですか?

    おっと:今

    # date 
    Friday, 10 May 2015 12:35:21 -0400 
    

    しかし、は2017年11月30日です。

    さて、

    sudo yum install ntp ntpdate -y 
    

    その後、あなたはそれが存在しない場合は、/etc/ntpd.confをチェックする必要があります、

    # date 
    Thursday, 30 November 2017 14:03:35 +0000 
    

    はlocaltimeのを設定することを忘れないでください:

    sudo su 
    echo "server 0.pool.ntp.org" > /etc/ntpd.conf && service ntpd start 
    

    をチェック例えば、UTC時間:

    sudo mv /etc/localtime /tmp/localtime.bak 
    sudo ln -s /usr/share/zoneinfo/UTC /etc/localtime 
    

    P.S.あなたが得ることができるntp構成の詳細情報here

    関連する問題