TLS1.2クライアントとTLS1.3サーバーでのハンドシェイクの失敗

ramakrushna mishra

opensslを1.1.1バージョンにアップグレードした後、クライアント(odbc)がTLS1.2で実行され、サーバー(データベース)がTLS 1.3で実行されているシナリオがあり、クライアント側で次のエラーが発生して失敗します。

「SSLハンドシェイクの失敗の理由[エラー:1407743E:SSLルーチン:SSL23_GET_SERVER_HELLO:tlsv1アラートの不適切なフォールバック]。」

TLS 1.3のドキュメントでは、フォールバック保護がデフォルトで有効になっており、TLS1.2クライアントがTLS1.3サーバーと通信すると、フォールバック保護のために特別なバイトが送信されると書かれています。

以下は私の疑問です。-クライアントでこれらの特別なバイトを処理する必要がありますか?--TLS 1.3サーバーと通信するためにTLS1.2クライアントで必要な他の処理はありますか?-または、失敗のその他の理由はありますか?

ジュラフ

私はこれが起こったことだと思います:

1)クライアントはTLS 1.2ハンドシェイクを送信します
2)サーバーはTLS 1.3のみをサポートするため接続を閉じます
3)クライアントはフォールバックSCSVを使用したTLS 1.1ハンドシェイクで再試行します(RFC 7507を参照)
4)サーバーはエラーメッセージを送信します:不適切なフォールバック

クライアントが1.2を要求し、サーバーがそれをサポートしていないため、最初の接続は失敗します(ステップ2)。サーバーがこのバージョンをサポートしている可能性がある場合、クライアントは1.1で再試行します。フォールバックSCSVは、1.1がクライアントがサポートする最高バージョンではないことを示すために送信されます。

SCSV RFC(7507)によると:

TLS_FALLBACK_SCSVがClientHello.cipher_suitesに表示され、サーバーでサポートされている最高のプロトコルバージョンがClientHello.client_versionに示されているバージョンよりも高い場合、サーバーは致命的な不適切なフォールバックアラートで応答する必要があります。

あなたの質問に答えるために、あなたが言及する特別なバイトはSCSVだと思いますが、これはクライアントによって送信され、サーバーによって処理されるため、クライアント側では何もしません。この失敗は、クライアントとサーバーが通信するための共通バージョンのTLSを持っていないことが原因だと思います。クライアントが1.2のみをサポートし、サーバーが1.3のみをサポートする場合、クライアントはバージョンに同意できず、接続は失敗します。サーバーでTLS1.2を有効にするか、クライアントで1.3を有効にすると、通信できるようになります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

TLSサーバーがクライアントから証明書を受信せず、ハンドシェイクの終了に失敗する

分類Dev

nodeMCU tls mbedライブラリがPushbulletAPIサーバーからエラー40(ハンドシェイク失敗)を取得したのはなぜですか?

分類Dev

Hyperledgerファブリック:TLSハンドシェイクがエラーリモートエラーで失敗しました:tls:不正な証明書サーバー=注文者のリモートアドレス

分類Dev

TLSハンドシェイクがエラーリモートエラーで失敗しました:tls:不正な証明書サーバー=注文者

分類Dev

apache-tomcatでtls1を無効にしましたが、openssl s_clientと接続できます。なぜですか?

分類Dev

クライアント側でTLS1.2を無効にした後でも、Java1.8クライアントとFIPSモードで実行されているJava1.7 TLS1.1サーバー間でTLSハンドシェイクが失敗する

分類Dev

Mosquitto TLS / SSL SSL3_READ_BYTES:sslハンドシェイクの失敗、エラー:成功およびsslv3アラート

分類Dev

Go httpsクライアントの問題-リモートエラー:tls:ハンドシェイクの失敗

分類Dev

JDK11でのTLS1.3でのハンドシェイクの失敗

分類Dev

サーバーからTLSアラートを受信しました:ハンドシェイクに失敗しました(40)

分類Dev

TLS接続ハンドシェイクの失敗

分類Dev

エラー:「TLSハンドシェイクエラー:tls:クライアントとサーバーの両方でサポートされている暗号スイートがありません」NATSがWindows Server 2012R2でホストされている場合

分類Dev

HyperledgerFabric-呼び出し時のエラー/ TLSハンドシェイクがエラーtlsで失敗しました:最初のレコードがTLSハンドシェイクのように見えません

分類Dev

tls:streadway / amqpでRabbitMQのtlsを有効にするとハンドシェイクが失敗する

分類Dev

Azure SQL DatabaseエラーTLSハンドシェイクがv12のアップグレード以降失敗しました

分類Dev

curlエラー35:ハンドシェイクの受信に失敗しました、SSL / TLS接続に失敗しました

分類Dev

mongoドライバーgolangのインポート時のnet / http TLSハンドシェイクタイムアウト

分類Dev

TLSv1ハンドシェイクの失敗

分類Dev

Office 365で標準のGo net / smtpを設定すると「エラーtls:最初のレコードがTLSハンドシェイクのように見えない」で失敗する

分類Dev

Windows上のTLSクライアントとサーバー[opensslvs。sspi vs. cryptlib]

分類Dev

GRPC GolangサーバーとNodeJSクライアント。TLS接続に失敗しました

分類Dev

Istio入力ゲートウェイを介したTLSハンドシェイクが失敗する(tlsMode = passthrough)

分類Dev

サーバハロー前にハンドシェイクの失敗

分類Dev

OpenSSLサーバーとSChannelクライアントを使用したTLSセッションの再開

分類Dev

ハンドシェイク中の「tlsv1アラート内部エラー」

分類Dev

TLSv1接続がハンドシェイクの失敗で失敗しました

分類Dev

WebRTC DTLS-SRTPOpenSSLサーバーのハンドシェイクの失敗

分類Dev

SQL ServerエラーへのGolang接続-「TLSハンドシェイクが失敗しました:ハンドシェイクパケットを読み取れません:EOF」

分類Dev

「sslv3アラートハンドシェイクの失敗:SSLアラート番号40」でSSLハンドシェイクが失敗する

Related 関連記事

  1. 1

    TLSサーバーがクライアントから証明書を受信せず、ハンドシェイクの終了に失敗する

  2. 2

    nodeMCU tls mbedライブラリがPushbulletAPIサーバーからエラー40(ハンドシェイク失敗)を取得したのはなぜですか?

  3. 3

    Hyperledgerファブリック:TLSハンドシェイクがエラーリモートエラーで失敗しました:tls:不正な証明書サーバー=注文者のリモートアドレス

  4. 4

    TLSハンドシェイクがエラーリモートエラーで失敗しました:tls:不正な証明書サーバー=注文者

  5. 5

    apache-tomcatでtls1を無効にしましたが、openssl s_clientと接続できます。なぜですか?

  6. 6

    クライアント側でTLS1.2を無効にした後でも、Java1.8クライアントとFIPSモードで実行されているJava1.7 TLS1.1サーバー間でTLSハンドシェイクが失敗する

  7. 7

    Mosquitto TLS / SSL SSL3_READ_BYTES:sslハンドシェイクの失敗、エラー:成功およびsslv3アラート

  8. 8

    Go httpsクライアントの問題-リモートエラー:tls:ハンドシェイクの失敗

  9. 9

    JDK11でのTLS1.3でのハンドシェイクの失敗

  10. 10

    サーバーからTLSアラートを受信しました:ハンドシェイクに失敗しました(40)

  11. 11

    TLS接続ハンドシェイクの失敗

  12. 12

    エラー:「TLSハンドシェイクエラー:tls:クライアントとサーバーの両方でサポートされている暗号スイートがありません」NATSがWindows Server 2012R2でホストされている場合

  13. 13

    HyperledgerFabric-呼び出し時のエラー/ TLSハンドシェイクがエラーtlsで失敗しました:最初のレコードがTLSハンドシェイクのように見えません

  14. 14

    tls:streadway / amqpでRabbitMQのtlsを有効にするとハンドシェイクが失敗する

  15. 15

    Azure SQL DatabaseエラーTLSハンドシェイクがv12のアップグレード以降失敗しました

  16. 16

    curlエラー35:ハンドシェイクの受信に失敗しました、SSL / TLS接続に失敗しました

  17. 17

    mongoドライバーgolangのインポート時のnet / http TLSハンドシェイクタイムアウト

  18. 18

    TLSv1ハンドシェイクの失敗

  19. 19

    Office 365で標準のGo net / smtpを設定すると「エラーtls:最初のレコードがTLSハンドシェイクのように見えない」で失敗する

  20. 20

    Windows上のTLSクライアントとサーバー[opensslvs。sspi vs. cryptlib]

  21. 21

    GRPC GolangサーバーとNodeJSクライアント。TLS接続に失敗しました

  22. 22

    Istio入力ゲートウェイを介したTLSハンドシェイクが失敗する(tlsMode = passthrough)

  23. 23

    サーバハロー前にハンドシェイクの失敗

  24. 24

    OpenSSLサーバーとSChannelクライアントを使用したTLSセッションの再開

  25. 25

    ハンドシェイク中の「tlsv1アラート内部エラー」

  26. 26

    TLSv1接続がハンドシェイクの失敗で失敗しました

  27. 27

    WebRTC DTLS-SRTPOpenSSLサーバーのハンドシェイクの失敗

  28. 28

    SQL ServerエラーへのGolang接続-「TLSハンドシェイクが失敗しました:ハンドシェイクパケットを読み取れません:EOF」

  29. 29

    「sslv3アラートハンドシェイクの失敗:SSLアラート番号40」でSSLハンドシェイクが失敗する

ホットタグ

アーカイブ