問題タブ [mutual-authentication]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 警告: 適切な証明書が見つかりません - クライアント認証なしで続行します
HTTPS を使用して相互ハンドシェイクを完了しようとすると、次の問題に直面しています。
私のJAVAクラスは次のとおりです
私はjarファイルを準備し、UNIXボックスからこれをテストしています
次のコマンドを使用 java -Djavax.net.debug=ssl -cp snSSLclientTrustWithStoreCCC.jar cassandra.cass.ClientCustomSSL
SSL ハンドシェイク中にJavaがクライアント証明書を送信しないのはなぜですか? また、ブルーノが言及したすべての手順を完了しました。
ここで何が欠けているのかわかりません。どんな助けでも大歓迎です
web-services - 証明書による JAX-WS スタンドアロン サーバーの相互認証
TLS を使用する単純な JAX-WS スタンドアロン サーバーがあります。
Web サービスを使用する前に、クライアント証明書を使用して相互認証を作成したいと考えています。また、クライアントがDNやその他の証明書属性を読み取るために使用した証明書を確認したいと思います。
どうすればいいですか?
ssl - 双方向 SSL/TLS 構成
サーバーのみの認証でSSL / TLSを正しく理解していれば、ハンドシェイクの後、サーバーはクライアントに公開鍵とCAによって署名されたデジタル署名証明書を送信します。クライアントがこの CA の公開鍵を持っている場合、クライアントは証明書を復号化し、サーバーとの信頼を確立できます。CA を信頼しない場合、通信は停止します。クライアントがサーバーに対して認証を返す必要がある双方向 SSL では、クライアントが公開鍵とデジタル署名された証明書を受け取った後、クライアントはその公開鍵とデジタル署名された証明書を介してサーバーに送信します。サーバーは、クライアントの証明書の公開鍵を持っているかどうかを確認し、持っている場合はクライアントとの信頼を確立できます。weblogic サーバー (この場合はクライアント) で相互認証 [双方向 ssl] をセットアップしています。Web サービスへのアウトバウンド呼び出し] で、サード パーティからデジタル署名された証明書と証明書チェーンが送られてきました。なぜこれらが必要なのですか。これは、ハンドシェイク後にサーバーが応答するものではありませんか?
ssl - Openssl クライアント証明書
自己署名証明書を使用して基本的な SSL ソケットを作成しようとしています。OpenSSLで Ubuntu のガイドに従っています。私は仕事server_crt.pem
をしていserver_key.pem
ます。server_crt.pem
クライアントに配置すると(サーバーに配置するだけでなく)、SSLソケットが機能します。
ただし、クライアントには独自の証明書が必要であり、サーバーの複製を持たないことはわかっています。重複を探しましたが、これに対する直接的な答えは見つかりませんでした...
自己署名 CA ファイルにリンクされたクライアント証明書を作成するにはどうすればよいですか?
google-chrome - クライアント認証に P7B 証明書を使用する
私たちはサービスプロバイダーと統合しており、私たちは彼らのサービスを利用しているクライアントです. 相互認証 (双方向 SSL) を使用する必要があります。PKCS#7 ファイルがあり、.p7b ファイルを Chrome ブラウザにインポートしました。ブラウザから SSL ハンドシェイクを正常に機能させることができませんでした。P7B ファイルを使用したブラウザからのテストに関する指針はありますか?
注: JKS で動作する Java クライアントがあり、ブラウザーから P12 ファイルをテストできました。P7B ファイルでテストしたい理由は、サービス プロバイダーと P12 ファイルを共有したくないからです。
android - ssl23_get_server_hello:tlsv1 アラート ハンドシェイク失敗 android 4.4
私は、Android クライアントと Apache サーバーおよび相互認証 (つまり、クライアント証明書) を使用したクライアント - サーバー アプリケーション プロジェクトに取り組んでいます。私は SSL/TLS が苦手です。
サーバー認証はすべて正常に完了しますが、クライアント認証に関しては、次のエラーssl23_get_server_hello:tlsv1 alert handshake failure
が発生します。また、WireShark を使用してパケットを何度もチェックし、自己作成の CA を使用して自己署名証明書を何度も作成しました。
SSLVerifyClient
Apacheプロパティを "require" とSSLVerifyDepth
on1
に設定し、SSLCACertificateFile
設定もされていることを言及しておく必要があります。「オプション」ではすべて問題ありませんが、そのようにしたくありません。
localhost
を使用してテストしopenssl s_client
、 client cert と key と CA file に対処すると、すべて問題なく問題ないようです。
問題はAndroidクライアント認証のようです。アプリをテストする Android デバイスのバージョンは Android 4.4 (Kitkat) で、Apache 暗号スイートは次のようになります。
私はたくさん検索しましたが、問題はクライアントとサーバーの暗号の不一致である可能性があると思いますが、それが正しいかどうかはわかりませんし、修正方法もわかりません。
助けてくれてありがとう。
更新:
クラスを使用しNoSSLv3SocketFactory.java
てsslv3を回避しています。
このエラーに変わりました: SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
、これが私のパケット キャプチャです。私のパケット キャプチャ、そしてこれ
も私の ssl アクセス ログです。