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

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

apache - mod_rewrite を使用して仮想的にクライアントを chroot しますか?

さまざまなクライアントがファイルをアップロード/ダウンロードするための webdav Web サイトをセットアップしようとしています。ただし、各クライアントに他のクライアントのデータを見せたくありません。各クライアントは SSL クライアント証明書を使用して認証するため、それらを独自のディレクトリ ツリーに chroot したいと考えています。

例えば:

これには mod_rewrite を使用できると思っていましたが、私のルールでは無限のリダイレクト ループに陥っているようです。何かご意見は?

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

cocoa - Cocoa で WebView を使用してクライアント証明書に接続するには?

クライアント証明書を必要とするサーバーに接続しようとしています。したがって、このサーバーを参照するときに発生するイベントの通常の流れは、Web ブラウザー (Safari と Chrome の両方) がユーザーに証明書を選択して操作を再試行するように求めることです。

では、Cocoa プロジェクトに埋め込まれた WebView でこれを実現するにはどうすればよいでしょうか? これまでのところ、メソッドでエラーが発生していることを確認しましたdidFailProvisionalLoadWithError:

エラーは確かにerror = Error Domain=NSURLErrorDomain Code=-1206 UserInfo=0x1006a8030 "The server “myserver.xxx” requires a client certificate.
ですが、ユーザーがキーチェーンから証明書を選択できるようにダイアログを表示するにはどうすればよいですか?

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

java - メッセージセキュリティとクライアント証明書認証を使用してWebセキュリティを呼び出す方法は?

JavaクライアントでWebサービスを呼び出す必要があります。このサービスは、メッセージレベル(SSLではなくWs-Security)の証明書を介してクライアントを認証します。

このダイアログでは、相互証明書セキュリティを備えたJAX-WSを使用してWebサービスを生成できるため、可能であるはずです。

しかし、私はなんとかクライアントを作成することができません。誰かアイデアがありますか?

0 投票する
9 に答える
121207 参照

web-services - RESTful Web サービス - 他のサービスからのリクエストを認証する方法は?

ユーザーだけでなく、他の Web サービスやアプリケーションもアクセスする必要がある RESTful Web サービスを設計しています。着信要求はすべて認証する必要があります。すべての通信は HTTPS 経由で行われます。ユーザー認証は、サービスによって提供される/sessionリソースに (SSL 接続を介して) ユーザー名とパスワードを POST することによって取得される認証トークンに基づいて機能します。

Web サービス クライアントの場合、クライアント サービスの背後にエンド ユーザーは存在しません。要求は、スケジュールされたタスク、イベント、またはその他のコンピューター操作によって開始されます。接続するサービスのリストは事前にわかっています (当然だと思います)。他の (Web) サービスからのこれらのリクエストをどのように認証すればよいですか? これらのサービスの認証プロセスをできるだけ簡単に実装したいと考えていますが、セキュリティを犠牲にすることはありません。このようなシナリオの標準およびベスト プラクティスは何でしょうか?

私が考えることができる(または私に提案された)オプション:

  1. クライアント サービスに「偽の」ユーザー名とパスワードを使用させ、ユーザーと同じ方法で認証させます。私はこのオプションが好きではありません - それはちょうど正しく感じられません.

  2. クライアント サービスに永続的なアプリケーション ID を割り当てます。場合によっては、アプリケーション キーも割り当てます。私が理解している限り、これはユーザー名 + パスワードを持つこととまったく同じです。この ID とキーを使用して、各リクエストを認証するか、認証トークンを作成して以降のリクエストを認証することができます。いずれにせよ、アプリケーション ID とキーを入手できる人は誰でもクライアントになりすますことができるため、このオプションは好きではありません。

  3. 前のオプションに IP アドレス チェックを追加できます。これにより、偽のリクエストを実行することが難しくなります。

  4. クライアント証明書。独自の認証局を設定し、ルート証明書を作成し、クライアント サービス用のクライアント証明書を作成します。ただし、いくつかの問題が思い浮かびます: a) 証明書なしでユーザーを認証できるようにするにはどうすればよいですか? b) クライアント サービスの観点から、このシナリオを実装するのはどれほど複雑ですか?

  5. 他に何か - 他の解決策があるはずですか?

私のサービスはJavaで実行されますが、実装の詳細ではなく基本原則に関心があるため、それが構築される特定のフレームワークに関する情報を意図的に省略しました-これに対する最善の解決策は基盤となるフレームワークに関係なく実装できます。ただし、私はこのテーマに少し慣れていないので、実際の実装に関する具体的なヒントや例 (便利なサードパーティ ライブラリ、記事など) も同様に高く評価されます。

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

asp.net - プログラムまたは宣言によって、IIS の単一の asp.net ページのクライアント証明書を要求します。

タイトルはほとんどそれを示しています.SSL証明書を使用してIIS 7 Webサイトを展開し、単一のページに「SSL設定/クライアント証明書/受け入れる」をプログラムまたは宣言的に設定することをいとわない. IIS マネージャーを使用してこれを行う方法を見つけましたが、インフラストラクチャの制限により、IIS マネージャーにアクセスせずに構成できるようにする必要があります。

どんなポインタでも大歓迎です!

どうもありがとう

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

.net - .NET ClickOnceダウンローダーは、PINを必要とするクライアント証明書で保護されているサイトからファイルをプルできますか?

(私は1年以上前に.NETフレームワークの古い(4.0より前;正確には覚えていません)バージョンを使用してこれを試しました。非ブラウザーダウンローダーは(私の知る限り)クライアント証明書要件をネゴシエートすることができませんでした。現在、.NET 4.0を使用した別の展開でClickOnceを検討していますが、再度実験するためのリソースがありません。したがって、この質問は...)

ClickOnceを使用して.NETアプリケーションを展開しようとしています(.NET 4.0を使用)。

ClickOnceファイルをホストするために利用できる唯一のWebサイトは、ユーザーがサイトにアクセスしたときにPINを入力する必要があるクライアント証明書によって保護されています(保護されている必要があります)。

私の理解では(間違っている可能性があります)、ClickOnceのインストールエクスペリエンスは、最初にユーザーのブラウザーでアプリケーションのファイルのサブセットをダウンロードし、次に小さなアプリケーション(.NETフレームワークのインストールの一部)を使用してサイトにアクセスします。ワークステーション)これは、アプリケーションの実行に必要な残りのファイルをダウンロードします。

ファイルをダウンロードするこの2番目の小さなアプリケーションは、ユーザーがサイトにアクセスしたときにクライアント証明書とそのPINを提供する必要があるサイトからファイルをダウンロードできますか?

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

asp.net-mvc-3 - ASP.NET MVC でのクライアント PC 認証 (アドバイスが必要)

アプローチ方法がわからない認証シナリオがいくつかあります。この件に関するアドバイスをいただければ幸いです。

要件:

  1. Web サイトには、特定のコンピューターのみが利用できる1 つのセクションが含まれます。
  2. Web サイトは、どの PC が現在リクエストを行っているかを認識する必要があります (この PC をデータベース内の他のテーブルに関連付けることができる必要があります)。
  3. Web サイトにアクセスする PC に完全にアクセスできます
  4. ウェブサイトにログインを要求することはできません。ユーザーはログインを必要とせずにコンテンツ ページだけを表示する必要があります。
  5. セキュリティ監査に合格する必要があるため、ソリューションは安全である必要があります
  6. すべての PC が異なるネットワーク上にあると仮定します。

これまでの私の考え:

  • クライアント証明書を使用しますが、クライアントごとに異なる証明書を発行できるかどうかわかりませんか? 答えが「誰がリクエストを行っているかわからない」である場合は、要件 2 を満たしていないため、オプションではありません。
  • 偽装を使用した Windows 認証により、さまざまなユーザーを PC にログインさせることができます (マシンにログインするユーザー名/アカウントを制御できます)
  • 基本認証を行い、ユーザー名とパスワードを最初に記憶するように PC を設定します。誰かがこの PC を再度セットアップしなければならないので、この「私を覚えている」が期限切れになる可能性があり、大きな混乱を引き起こすのではないかと少し心配しています...
  • Windows Identity Foundation - 試したことはありませんが、ここでこのシナリオを適切な方法で実装できれば、正しい方向に向けていただければ幸いです。

よろしくお願いします。

編集:
可能であればSSLを使用したくない...(パフォーマンスの考慮事項)

EDIT2:
現在、PCが認証されているかどうか(フォーム認証Cookieが含まれているかどうか)を確認し、そうでない場合は、クライアント証明書を確認するhttps://ページにリダイレクトし、証明書の場合はCookieを設定するのが最善の方法だと思います存在し、ターゲット ページにリダイレクトされます。
SSL は Cookie の有効期限が切れるまれなケースでのみ使用されるため、これは遅くはないはずです。
このソリューションに欠陥がある場合はお知らせください。
サーバー証明書を作成し、後でそれから別のクライアント証明書を生成する方法を知っている場合は、ガイドラインに感謝します.

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

asp.net - ASP.NETRequest.ClientCertificateがIIS7で空を返す

WebアプリをIIS6サーバーからIIS7サーバーに移行していますが、クライアントの証明書の取得に問題があります。

私が使用しているコードは次のようになります。

IIS 6サーバーでは、これcert.IsPresentは常にtrueです。ただし、IIS 7ボックスでは、常にfalseです。両方のテストは、同じコンピューターからIE8を使用して実行されました。唯一の変更はサーバーのURLであったため、クライアントは正しくセットアップされている必要があります。

SSL接続エラーが発生せず(を介してページにアクセスしていますhttps)、[SSL設定]-> [クライアント証明書:]を[承認]に設定しました(IIS 6構成と同じ)。

IIS7サーバーをIIS6サーバーにできるだけ近づけて構成しましたが、まだ証明書を取得していません。

構成のために調べる必要がある他の領域はありますか?

また、[クライアント証明書:]を[必須]に設定すると、IIS7ボックスで403.7エラーが発生します。それが症状かどうかはわかりませんが、万が一の場合に備えて...

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

client-certificates - serverxmlhttpにオプションclient-certificateのリクエストを無視させる

到達したい特定のSOAPWebサーバーは、「クライアント証明書を受け入れる」ように構成されていますが、それらを必要としません。

Internet Explorerに直接URLを入力すると、クライアント証明書(私は持っていません)のポップアップが表示されます。このダイアログをキャンセルすると、ユーザー名とパスワードの2番目のダイアログがポップアップ表示されます。これは私のユーザー名とパスワードでうまく機能します。

ServerXMLHTTPを使用してスクリプト内から同じことを行おうとしています

エラーメッセージはmsxml6.dll: An unknown error occurred while processing the certificate.またはmsxml6.dll: A connection with the server could not be established

ServerXMLHTTPにクライアント証明書のoptional(!)要求を無視させ、基本認証を続行するにはどうすればよいですか?または、他にどのようなコンポーネントを使用できますか?

ノート:

  • Webサーバーの設定を変更したり、クライアント証明書を取得したりできません。
  • WinHTTP.WINHTTPRequest.5.1も試しましたが、役に立ちませんでした。
  • 覚えておいてください:この質問はクライアント証明書に関するものです。サーバー証明書エラーobjXMLHTTP.setOption(2) = 13056のみを無視します。
0 投票する
1 に答える
4402 参照

linux - リモートサーバーへのクライアント証明書認証を行うプロキシの設定

リソースへのアクセスにクライアント証明書を要求するように構成された nginx Web サーバーがあるインフラストラクチャをセットアップしています。

ただし、クライアント自体はクライアント証明書をサポートしていません (これは pip であり、証明書をサポートするように変更することはできません [Python の場合は簡単ですが、それでも])。

基本的に、私が考えていたのは、リモートサーバーへの証明書認証を行うことができるプロキシを各マシンにセットアップすることでした. 理想的には、プロキシはできるだけ軽量である必要があります。

何か案は?:)