web-dev-qa-db-ja.com

curlエラー35:接続中の不明なSSLプロトコルエラー

$ curl -I https://9.185.173.135
curl: (35) Unknown SSL protocol error in connection to 9.185.173.135:443

これは私がアクセスする必要がある安全なページです。しかし、証明書ファイルを取得する方法がわかりません。 Firefoxを使おうとしましたが、URLを入力するとSSL証明書を取得できませんでした。

$ curl -I http://9.185.173.135
HTTP/1.1 200 OK
Content-Length: 686
Content-Type: text/html
Content-Location: http://9.185.173.135/Default.htm
Last-Modified: Mon, 16 Mar 2009 05:05:38 GMT
Accept-Ranges: bytes
ETag: "a851dbd8f4a5c91:d41"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Tue, 13 Jul 2010 04:09:35 GMT

サーバーは私のラップトップから間違いなく到達可能です。証明書ファイルを取得したら、それをFirefoxにインポートし、資格情報を使用して認証に合格できると思います(ユーザー名/パスワードはすでに取得しています)。

申し訳ありませんが、私はセキュリティの専門家ではありません。他に試すことができるものはありますか?

よろしくお願いします。

9
Michael Mao

ルディへ:ヒントをありがとう、それは私に地獄の多くの情報を教えてくれます。

どういうわけか、保護されたページの管理者は、証明書の状態を毎日「更新」します。そのため、昨日はアクセスできなくなりましたが、寛大に別の証明書を取得してFirefoxの例外リストに追加することができます。

ですから、すべてがうまくいっていて、昨日の経験から本当に何かを学びました。

2
Michael Mao

これを試して

curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_SSLv3); // Force SSLv3 to fix Unknown SSL Protocol error
4
Asif

私は同様の問題を抱えていました:

 curl https://localhost:3000
 ...
 curl: (35) Unknown SSL protocol error in connection to localhost:-9847

(ポート3000を要求したので、その番号-9847がどこから来たのかわかりません)

修正:ポート3000のサーバーが「https」ではなく「http」を実行していたことが判明しました。

0
rogerdpack

私は私のために問題を修正するいくつかの解決策を持っています:

1] curl/php/Apacheを更新してみてください[yum update]

2] Apacheを再起動します

それらは私のために働いた!

0
mr.baby123

Eclipseからデプロイされたローカルホスト上のTomcatサーバーに対してcurl/httpieを実行すると、同じエラーが発生しました。 Eclipseによってデプロイされたデフォルトのserver.xml disables httpsであることが判明しました。具体的には、以下のセクションはserver.xmlでコメント化されています。

<Connector port="8443" protocol="org.Apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" />

コメントを外して2つのキーストアパラメータを追加した後、curlコマンドが機能し始めます(証明書が自己署名されている場合は--insecureオプションを使用)。

<Connector port="8443" protocol="org.Apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" />
           keystoreFile="/path/to/your/keystore"
           keystorePass="yourpass" />
0
Big Pumpkin

ターゲットSSLサイトでSSL証明書を更新した後、同じエラーが発生しました。私のソースOSはCentos6で、新しいcurlバージョンにアップデートすることで解決しました。 *すでにcurl-k(安全でないオプション)を使用していましたが、それでもエラーが発生することに注意してください。基本的に、このエラーはnssまたはopensslが古くなっていることが原因です。 yum -y install curl nss openssl PHP curlを呼び出すようなWebアプリケーションがある場合は、更新を有効にするためにApacheを再起動する必要があることを忘れないでください。

このガイドに基づいて更新しました: http://realtechtalk.com/curl_35_Unknown_SSL_protocol_error_in_connection_Solution_Centos-1988-articles

0
Areeb Soo Yasir

カールバージョンが7.34未満の場合は、--tlsv1オプションを使用して問題を解決できます。

 curl -I --tlsv1 https://9.185.173.135
0
khan