問題タブ [sslhandshakeexception]
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.
android - Android で SSL 接続用の証明書の検証を無効にする方法
クライアントである Android アプリケーションからサーバーへの SSL ハンドシェイクを確立しようとしています。私は内部ネットワークで作業しており、サーバーを信頼しており、テスト目的で証明書の検証を無効にしたいと考えています。どうやってやるの ?
java - Android サーバー アプリケーション: SSLHandshakeException (要求されたターゲットへの有効な証明書パスが見つかりません)
私は Android アプリケーションを開発しており、独自の SSL 証明書を使用して SSL で保護された TCP サーバーを提供する必要があります。次のファイルがあります。
- サーバー.crt
- server.key (プライベート)
- my-ca.crt
1) 証明書の作成:
この SO で説明されているように、コマンドライン ツール「keytool」を使用して、mycert.pem から BKS キーストアを作成しました。アプリケーションの /res/raw フォルダーに配置します。秘密鍵をどうすればよいかわかりませんが、証明書の作成には必要ありませんか?
2) サーバーコード:
3) クライアント コード:
次のコードを含むダミーの Java クライアントを作成しました。
そして、次のように呼び出して実行します。
java -Djavax.net.ssl.trustStore=keystore -Djavax.net.ssl.trustStorePassword=password クライアントは、サーバー用に作成したのと同じキーストアを渡します。
クライアントを呼び出すとstartHandshake()
、「PKIX パスの構築に失敗しました: sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な証明書パスが見つかりません」という SSLHandshakeException がスローされます。
クライアントとサーバーの両方で、server.crt ファイルのみを含む同じキーストアを使用します。それが問題の根源ではないでしょうか?これを機能させるには、秘密鍵 (server.key) や ca-cert を使用する必要がありますか? 他の提案はありますか?
どんな助けでも大歓迎です。前もって感謝します。
sslhandshakeexception - wcf の使用時に SSL ハンドシェークが失敗する
助けて!</p>
wcf クライアントを使用して https 経由で Web サービスを要求すると、例外が発生しました。
私のwcfクライアントバインディング設定は
wirshark では、トラフィックが発生しました。
Alter が表示されます。それは次のとおりです。
私の wcf クライアントは Windows Server 2003 で実行されています。この例外の根本的な原因が見つかりました。wcf クライアントでは SSL3 を使用してリモート サーバーとの SSL ハンドシェイクを開始しますが、リモート サーバーの F5 ファイアウォールは SSL3 との接続を拒否します。 Tls (SSL3.1) での接続のみを許可します。
しかし、私の質問は、WCF クライアントが Tls ではなく SSL ハンドシェイクを開始するために SSL3 を使用する理由です。なぜなら、Windows Server 2003 が Tls (SSL3.1) をサポートし、SSL ハンドシェイクを開始するためにサポートする最高のプロトコル (Tls) を常に使用することを知っているからです。これは私の場合に起こりませんか?
ssl - itext bouncycastle tsaclient から SSL 接続を確立する方法
HTTPS 接続を介して itext tsaclient でタイムスタンプを取得しようとしています。tsaclient がサーバーに対して接続を確立しようとすると、署名の瞬間に接続に問題が発生します。受け取ったトラフィックをWhiresharkで分析する
「致命的なアラートを受信しました: bad_certificate」
ポイントは、接続を確立できますが、tsaclient からは確立できないということです。
サーバーに接続できないのは MakeSignature の瞬間です。
java - ホスト名の個人を確認できません
次のように使用しHostnameVerifier
ます。
このコードでうまく機能します:
しかし、このコードは機能しません:
これは例外です:
なんで?
java - Jboss AS 6.1.0 Java7 でのハンドシェイク タイムアウト
Jboss 6.1.0 の SSL に問題があります。CLIEN-CERT を使用して、クライアント証明書で特定のセキュリティ制約を制限します。必要なすべての場所を構成しました( web.xml, jboss-web.xml, jboss-loggin, server.xml, jboss-service
)。JDK6 でサーバーを起動するとすべて正常に動作しますが、JDK7 でサーバーを起動してセキュリティ制約にアクセスしようとすると、SSL 属性を取得中にエラー Exception が発生しますjava.net.SocketException: SSL Cert handshake timeout
。スタックトレースは次のとおりです。
切り替えるclientAuth="true"
と"want"
動作"false"
しますが、CLIENT-CERT でセキュリティ制約にアクセスすると、JDK7 では動作しません。デバッグを試みたところJSSESupport.java
、ハンドシェイク メソッドにサイクルがあり、JDK6 では、そのサイクルに初めて入り、InputStream ブラウザ ウィンドウからバイトを読み取り、クライアント証明書を要求することがわかりましたが、JDK7 ではこれは発生しませんでした。クライアントが証明書を送信しなかったため、メソッドの最後にエラーがスローされます。実際には、このブラウザ ウィンドウは後で開かれ、証明書を送信しても何も起こりません。ハンドシェイクが完了してfalse
結果が得られるためです。Firefox、IE、Chrome で試してみましたが、結果は同じです。誰かが私を助けたり、アドバイスをくれたりしたら、それは素晴らしいことです。