問題タブ [client-certificates]
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 - モバイルアプリのクライアントSSL証明書はどの程度安全ですか?
Android / iOSアプリとインターネットでアクセス可能なバックエンドサービスの間で安全な通信を行いたいので、HTTPS/SSLを調査しています。
自己署名証明書を作成し、クライアント証明書をアプリに配置して、バックエンドサービスにそのクライアント証明書を要求させる場合、これは本当に安全ですか?
これが私が尋ねている理由です。.apkに問い合わせることで、クライアント証明書が「ハッキング」される可能性があるようです。クライアント証明書は単なる文字列定数ですよね?つまり、誰でもクライアント証明書を使用して私のバックエンドにアクセスできます。.apk(およびiOSと同等のもの)は、クライアント証明書が検出されないように十分に不透明ですか?
.net - SSLクライアント証明書を選択するためのWCFコールバック
私は次のコードを持っています:
これにより、WCF接続のSSLクライアント証明書が設定されます。ただし、これは、(CertificateRequestで)サーバーから送信されている受け入れ可能なルートを知る前に発生します。
ServerCertValidationコールバックに似たコールバックはありますか?
これにより、受け入れ可能なルートのリストを取得し、その情報に基づいてクライアント証明書を選択できますか?
java - Web サービスを使用するようにミュール https-connector を構成するにはどうすればよいですか?
さて、私の最後の投稿は実際には聴衆を獲得していませんでした。少し自分自身を明確にしようとします. :)
クライアント認証によって保護された Web サービスを使用するために https コネクタを構成する方法の例を教えてもらえますか (つまり、証明書を使用してサーバーに認証する必要があります)。
これは私の現在の構成です:
この構成では、Thawte 証明書があり、それは「キーストア」内の秘密鍵であり、「トラストストア」内のサーバーの CA 証明書です。これはこれがどのように行われるべきですか?
android - ソープコールで送信されないクライアント証明書
クライアント/サーバー証明書認証を使用してWebサービスを呼び出すための次のコードを考え出しましたが、サーバーがクライアント証明書を取得することはありません。ここで何が問題になっていますか?
ssl - Netty ClientBootstrapSSLハンドシェイクが終了します--チャネル/ClientBootstrapが閉じていますか?
テストアプリケーションへの接続は、エラーなしで同じ場所で終了し続けます。
おそらく何かがチャネル/接続を閉じるきっかけになっていると思いますが、それが何であるかはわかりません。コードのプリントアウトを変更すると、正確に閉じる場所がわずかに変わるため、タイミングが別のスレッドにあるように見えます。
私はこれに4日間取り組んできましたが、正式に立ち往生していると自分自身をリストします。
これが私の接続コードです:
これは、SSLデバッグを有効にした場合の出力のようになります。
それが終了するところです。印刷出力を少し変更して、もう1行、logger.info( "Connected to" + realRequest.getHost()+ ":" + realRequest.getPort()+ "" + realRequest.getUri()); しかし、何が原因でシャットダウンしたのかは本当にわかりません。
netty SSLHandlerをオーバーライドしようとしましたが、すべてのパブリック操作でプリントアウトが追加されましたが、close()、channelConnected()、channelDisconnected()などのメソッドが呼び出されることはありません。handshake()も同様です。
私のパイプラインはハンドシェイクを行うように設定されています:
私のカスタムSSLHandlerは、実際にはライブラリのSslHandlerと同じです。スーパーバージョンに委任する前に、プリントアウトを追加するメソッドをオーバーライドするだけです。
呼び出されているのはhandleDownstream()だけのようです。
c# - クライアント証明書を標準エンドポイントに追加しますか?
クライアント証明書を必要とする REST サービスがあります。次のsystem.serviceModel
ように見えます。
standardEndpoint を次のように変更してみました。
しかし、それは役に立ちませんでした。クライアント証明書を有効にするために何が欠けていますか?
wcf - webHttpBinding セキュリティにメッセージ ノードが含まれていませんか?
クライアント証明書を WCF REST サービスに適用しようとしています。次のようなクライアント証明書の適用に関する詳細を見つけました。
その場合は問題ないようです。ただし、webHttpBinding を使用していてmessage
、ノードの無効な子であるというエラーが表示されsecurity
ます。
クライアント証明書を不適切に設定しようとしていますか? 誰でも私を正しい方向に向けることができますか?
portability - 証明書ベースの JAAS LoginModule を実装する方法
ユーザーを認証するために、JAASは、適切なをそれを囲む にLoginModule
渡すことによって、ユーザーのデータと資格情報について環境に尋ねます。ユーザーとの対話にも同じメカニズムが使用されます。Callback
CallbackHandler
が認証を行うために必要な情報LoginModule
がユーザー名とパスワードだけの場合、問題はありません。標準Callback
タイプのjavax.security.auth.callback.NameCallback
と を使用しjavax.security.auth.callback.PasswordCallback
ます。しかし、明らかに、X509 証明書を取得するためのそのような標準はありません。
LoginModule
では、X509 証明書について環境に問い合わせるにはどうすればよいでしょうか。これにはアプリケーションサーバー固有のタイプがあることは知っていますがCallback
、移植可能なソリューションがある場合は探しています。
internet-explorer - WebブラウザでSSL再ハンドシェイクをトリガーする方法は?
SSLのクライアント証明書を要求するように構成されたWebサーバーがあります。クライアントが受け入れ可能な証明書を持っている場合、実際のコンテンツが表示されますが、そうでない場合は、クライアント認証なしでSSLにフォールバックし、セキュリティトークンを接続して再試行するように通知するエラーページを表示します。
問題は、トークンを接続しても、ブラウザは現在のセッションが正常であると見なすため、新しいSSLセッションを再ネゴシエートしないことです。したがって、現在のSSLセッションを無効にする方法が必要です。
Tomcat6であるサーバーでそれを実行しようとしました。
しかし、それsslSessionMgr
は常にそうnull
であり、私はここで何が間違っているのだろうかと思います。
もちろん、クライアントには普遍的な解決策はありませんが、幸いなことwindow.crypto.logout()
にFireFoxのトリックを実行します。document.execCommand("ClearAuthenticationCache")
IEに相当するものは、ActiveXコントロールである、または多分、ActiveXコントロールであるとどこかで読んだことがありますか?いずれにせよ、IEやChromeではできないようです。
だから私はここで何ができますか?これらの解決策のいずれかを修正できますか、または他の解決策はありますか?
ssl - https クライアント証明書のログアウト/再ログイン
SSL 証明書認証を使用する Web サイトがあります。サーバーからの Web ブラウザに、使用する証明書を再度要求させるにはどうすればよいですか? ログアウトに使用できますが、ここでの使用例はユーザー ID の切り替えです。
現在の認証証明書と互換性のない SSL 設定を持つページにユーザーを誘導したことを覚えていますが、適切な設定が見つかりませんでした。
私のセットアップでは apache mod-ssl を使用していますが、IIS ソリューションも歓迎します。
更新: サーバー側に特に質問しています: クライアント証明書を必要とするがすべての証明書を拒否する同じホスト名に URL を設定する方法。
Firefox の場合、javascript:window.crypto.logout();
ユーザーには多少の不便がありますが動作します (これはスクリプトで回避できると思います)。