問題タブ [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 投票する
2 に答える
16712 参照

ios - iOS のクライアント証明書とサーバー認証を実装する方法

私は最近、非常にシンプルであるべきでありながら、本質的にどこかで見つけられないように見えるものを構築するために、非常に困難なプロセスを経てきました。ここにすべてを掲載して、私が何か間違ったことをしていないかどうかを尋ね、そうでない場合は、この情報が必要な人を助けたいと思います.

背景: 私がセキュリティを提供しようとしていた製品/サービスは、Windows サーバー上の WCF サービスを中心に構築されており、PC または iPad 上のカスタム クライアント アプリからのみアクセスできます。顧客ごとに 1 つのサーバー、ブラウザ アクセスなし。すべてが、Windows 標準メカニズムと商用 CA の証明書を使用した認証と承認によって、すでに TLS で保護されていました。

アクセスをさらに制限するために、自己署名証明書を使用してクライアント/サーバー証明書が Windows プラットフォームに実装されました (反対の主張にもかかわらず、パブリック/ブラウザー アクセスのない相互認証がある場合、商用 CA は必要ありません)。管理する)。

これらすべてを iPad で機能させることは、驚くべき量の偽情報または部分的に正しい推奨事項を含む、ひどく文書化された悪夢でした. 以下では、最良の情報源へのリンクを試みましたが、誤って帰属を見逃していた場合はお詫び申し上げます. この投稿について何か間違っている/誤解を招くようなことがあればコメントしてください。

ありがとう

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

ssl - SFTP を介した相互 SSL 認証?

SFTPを使った「相互SSL認証」の設定をお願いしたいです。彼らは、ProFTPd SFTP サーバーに証明書によってクライアントを認証させたいと考えています。これは SFTP を使用しても可能ですか? SFTP は証明書ベースではなく鍵ベースの SSH であるため、簡単には実行できないと思います。彼らが本当に望んでいるのは FTPS ではないかと思いますが、彼らは SFTP を主張しています。誰かがこのようなことをしていますか?ありがとう!

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

java - Java でのセキュア Websocket (wss) クライアント

安全な Websocket サーバーに接続しようとしていますが、使用しています

ライブラリとして、サーバーとクライアントの相互認証があります。ここで何が問題なのか、または安全な websocket クライアントの他の実装があるキーストアがあります。ここに私のコードがあります、

0 投票する
3 に答える
6450 参照

openssl - クライアントが公開証明書を提供するときの相互認証

通常、双方向SSL別名相互認証には、サーバーcaキーと証明書などの生成が含まれます。次に、クライアントがcsrを生成して提供し、csrに署名してクライアント証明書を提供します。

でも、

x509 公開証明書を相互に交換して「相互認証」を実装するようにクライアントが要求するケースに遭遇しました。これは聞いたことがありますか?おそらく「双方向SSL」または「相互認証」以外のものと呼ばれます。

これに関するドキュメントや情報をopensslで見つけるのに苦労しています。

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

java - 証明書を使用した相互認証

私はJavaを使用してWebアプリケーションを開発しており、相互証明書認証を実装したいと考えていました。

自己署名証明書を使用し、それをブラウザ (chrome) とGlassfish トラスト ストア (cacerts.jks)に配置し、web.xml と sun-web.xml を構成すると正常に動作します。

アプリケーションを実行すると、証明書を選択するように求められ、適切な認証の後、要求したページが表示されます。

ただし、別の証明書 (実際には 3 つ) を作成する必要があり、ユーザーを承認する役割に基づいています。

しかし、他の 2 つの証明書を作成してブラウザーの証明書リストに追加しても、最初の証明書を除いて、ブラウザーはそれらを証明書選択プロンプトにリストしませんでした。

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

.net - WCF - .Net 4.6.1 へのアップグレード後、権限のある SSL/TLS の安全なチャネルを確立できませんでした

.Net 4.6.1 にアップグレードしてから、サード パーティの Web サービスを呼び出すことができなくなりましたが、「権限のある SSL/TLS の安全なチャネルを確立できませんでした...」というエラーが表示されます。いくつかの方法でこれを回避できますが、これらの方法が受け入れられるとは思いません。a) 次の行をコードに追加します。

これにより、Tls1.2を使用せず、.Net 4.5.2で以前と同じようにすべてが機能することが保証されます

b) 次の行を構成ファイルに追加します

これにより、Tls1.2を使用せず、.Net 4.5.2で以前と同じようにすべてが機能することが保証されます

アプリケーションからのすべての呼び出しに対して Tls1.2 をオフにするよりも、Tls1.2 を使用できるようにしたいと考えています。アプリケーションは多くのサードパーティ サービスと通信しており、1 つの問題のためにすべての通信を制限したくありません。

WireShark を使用して問題を診断すると、クライアント証明書が送信されていないことが強調され、明らかにこのエラーにつながります。

ワイヤーシャーク

ClientCertificate はコードで設定されます

私はstackoverflowに関する多くの記事を読みました.最も類似した/有用なものを以下に示します .WCFクライアントにクライアント証明書を送信させる方法は?

確認しました:

  1. クライアント証明書(秘密鍵)へのアクセスが可能
  2. サーバー証明書は信頼され、有効です
  3. クライアント証明書は、サーバーが送信した仕様の 1 つと一致します
  4. バインディングをカスタム バインディングに変換して、requireClientCertificate を指定しました - 効果なし

証明書が送信されない理由を確認したり、理解するのに役立つ他の何かを教えてもらえますか?

6 月 2 日更新 Chrome で認証するクライアント証明書を使用して wsdl を正常にダウンロードできますが、Internet Explorer や Edge ではダウンロードできません。

Chrome は (Edge や IE のように) TLS に SChannel を使用していないと思いますが、SSL/TLS の独自の実装です。

私は100%確実ではありませんが、サーバーがクライアントの署名アルゴリズムと一致しないクライアント証明書の署名アルゴリズムを指定していることに問題があると現在考えています。TLS 1.2がどのように機能するかについてはよくわかりませんが、仕様tools.ietf.org/html/rfc5246#section-7.4.4を読むと、それは可能だと思われます。

Wireshark トレースの証明書要求 - i.stack.imgur.com/BwmUM.png および証明書の詳細 - i.stack.imgur.com/pbKEF.png を参照してください。

そこにtls1.2の専門家はいますか?

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

java - Spring ws は証明書をどのように処理しますか?

Spring Ws は双方向 SSL 接続で証明書を自動的に処理しますか、それとも証明書を手動で処理する必要がありますか (証明書の送信と検証など)。

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

java - SSL証明書の生成にopensslを使用して、Tomcat 7のクライアントとサーバーで双方向SSLを構成するにはどうすればよいですか?

次のリンクで提供されている pedrofb によって提供されるソリューションを使用して、キーストアとトラストストアを構成しました

Tomcat 7 でクライアントとサーバーの両方にキーストアとトラストストアのプロパティを設定しました。それでも、サーバーに接続しようとすると、以下のエラーが表示されます。

クライアント側では、ブラウザに次のエラーがあります

サーバーが証明書を要求しても、クライアントは証明書を送信しません。

clientauth=trueクライアントとサーバーの両方でを保持する必要がありますか?

ありがとう