問題タブ [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.

0 投票する
4 に答える
19858 参照

python - urllib2 でのクライアント証明書の使用

サーバーとリモート Web サービスの間に安全なチャネルを作成する必要があります。クライアント証明書で HTTPS を使用します。また、リモート サービスによって提示された証明書を検証する必要もあります。

  1. urllib2 で自分のクライアント証明書を使用するにはどうすればよいですか?

  2. リモート証明書が正しいことを確認するには、コードで何をする必要がありますか?

0 投票する
4 に答える
40833 参照

java - Web サービスとの相互認証

現在、クライアントが Web ブラウザーを使用して Web サイトにアクセスする限り、相互認証セキュリティの実装に成功しています。これは、ブラウザーがすべての証明書交換を処理するためです。次に、サーバーが必要とする相互認証を使用して、ユーザーが HTTPS 経由で Web サービスにアクセスできる安全なインターフェイスを作成する必要があります。

まず、これに役立つリソースを知っている人はいますか? 私はかなり長い間探しましたが、何も見つかりませんでした。これを行う方法について誰かが私に与えることができる他のヒントはありますか?

第二に、私の最大の障害は、証明書の処理方法を理解していないことだと思います。サーバーのキーを受け入れ、自分のキーをサーバーに提示することをネゴシエートするにはどうすればよいですか? これは Java です。

0 投票する
1 に答える
3801 参照

ssl - OpenSSLでクライアントの相互認証を実装するにはどうすればよいですか?

相互認証にはどのような関数呼び出しを行う必要がありますか?たくさん検索しましたが、役に立たなかったです。

誰かが私がこれをするのを手伝ってくれる?

0 投票する
2 に答える
7679 参照

python - クライアント証明書を使用するカスタム urllib オープナー

使用する必要のある API があります。API は HTTPS によって保護され、相互認証/クライアント証明書を使用します。PEM ファイルと CRT ファイルがあります。

PyOpenSSLを使用して定期的にサーバーに接続する場合、問題はありません。コードは次のとおりです。

しかし、これはクライアント証明書を使用する HTTPS API であるため、そのためのオープナーを実装しました。何らかの変更を加えたコードは次のとおりです。

しかし、2 番目のコードを実行すると、次のエラーが発生します。

最後に、私は何か間違ったことをしていますか?そうでない場合は、エラーを理解するのを手伝ってください...

乾杯。

0 投票する
2 に答える
1766 参照

asp.net-mvc - Asp.net MVC でクライアント証明書を要求する

ユーザーを認証するために、クライアント ブラウザからクライアント証明書を取得しようとしています。コントローラーと同じ名前のフォルダーを作成し、IIS を使用してその SSL 設定をクライアント証明書を要求するように設定できることはわかっています。実際、私はこれを試してみましたが、うまくいきましたが、コントローラー内にユーザーにクライアント証明書を要求する必要のない他のアクションがあるため、このアプローチを取ることはできません。また、別のコントローラーでクライアント証明書を要求する必要があります。

では、ユーザーにクライアント証明書を選択するよう促すクリーンな (可能であれば) 方法を知っていますか?

0 投票する
0 に答える
388 参照

android - AndroidでセキュアなWebサーバーにアクセスする際の相互認証にSIMカードを利用することはできますか?

私の意図は、Android (ブラウザー) を使用して Web サーバーで相互認証することです。そのため、SIM カードからの公開証明書を使用でき、PIN を使用して SIM カードから署名操作を行うことができればよいでしょう。

Android は優先事項ではありません。Symbian またはその他の仮説を検討する必要があります。

0 投票する
1 に答える
7358 参照

ssl - JBoss 相互証明書認証が SSL ハンドシェイクで失敗する

JBoss7.0.2を使用しているという事実を除いて、このブログ投稿http://virgo47.wordpress.com/2010/08/23/tomcat-web-application-with-ssl-client-certificates/のすべての手順に従いました。 6.x バージョンではありません。

目標は、クライアント証明書を提供し、クライアントとサーバー間の相互認証を実現するようクライアントに依頼することです。

クライアントとサーバーの証明書に署名するための証明機関 (CA) を作成しました。

サーバー証明書をキーストアにインポートし、HTTPS コネクタを standalone.xml 構成ファイルに追加して、8443 ポートで HTTPS 要求を処理しました。

クライアントの Firefox の認証局の下にある Certificate Manager に CA ルート証明書をインポートしました。

すべて正常に動作し、https://localhost:8443をリクエストすると、有効なサーバー証明書を含むページが表示されます。

問題は、クライアント証明書を Firefox の Certificate Manager にインポートし、クライアント証明書を検証するようにサーバー構成を設定すると (standalone.xml で verify-client="true")、ブラウザー エラーが発生することです。

サーバーのjbossログには次のように記載されています:

この問題を解決する方法はありますか?

私のセットアップ:

ローカルホスト サーバー:

JBoss 7.0.2 Final standalone.xml (関連部分):

Java のバージョン:

必要に応じて、他の関連情報を提供させていただきます。

0 投票する
1 に答える
3155 参照

c - gSOAP による相互 SSL 認証

相互 SSL 認証を必要とする SOAP サービスに接続しようとしています。

自己署名証明書を作成し、それをサービス オペレーターに転送して、サービス オペレーターが接続を確認できるようにしました。同様に、ssl 証明書のコピーも送られてきました。

openssl s_client を使用し、HTTP 要求、ヘッダー、および SOAP コンテンツを手動で入力することにより、サービスから予期される SOAP 応答を取得するために正常に接続できました。次のようなパラメーターを使用して、接続を成功させます。

  • my_key.pemは秘密鍵のファイル名です
  • my_cert.pemは、サービス オペレーターに転送される自己署名証明書のファイル名です。
  • my_passphraseには、秘密鍵のパスフレーズが含まれています。

gSOAP とその C バインディングを使用して同じサービスにアクセスしようとしています。http://www.cs.fsu.edu/~engelen/soapdoc2.htmlのドキュメントに従って、サービス WSDL からバインドを作成soap_ssl_client_context()し、SSL 接続をセットアップするための呼び出しを追加しましたが、問題が発生しています。 .

my_key.pemへのパスをパラメーターとして使用する必要があると推測しましたが、gdb を使用すると、呼び出しが失敗keyfileしていることがわかります。SSL_CTX_use_certificate_chain_file()gSOAP は、keyfileパラメーターをfile引数としてこの呼び出しに渡します。

どんな助けでも大歓迎です。

0 投票する
2 に答える
10470 参照

ssl - PFX ファイルによる双方向認証

双方向認証に問題があります。Tomcat6 をサーバーとして使用し、クライアントとして IE、Firefox、および独自の Java アプリケーションを試しています。

この問題は、他の人から提供された PFX 証明書を使用して発生します。それらをクライアント証明書として使用する必要があるため、サーバー上の信頼できる証明書に追加し、ブラウザーでユーザー証明書で使用します。問題は、bad_certificate アラートが表示されることです。

サーバーとクライアント用に独自の証明書を生成し、両方のキーストアなどで信頼できる公開鍵を追加することで、双方向 ssl の実行に成功しました...

Wireshark ログを見ると、そのサーバーは適切な証明書要求を送信しますが、クライアントは、独自に生成した証明書を使用したときに 500 バイト以上ではなく、空の証明書 (11 バイト長のパケット) を送信します。

何が問題になる可能性がありますか? クライアントが適切な証明書を送信しないのはなぜですか? :(