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

ios - iOS デバイスにインストールされているクライアント証明書をアプリ内で使用することはできますか?

クライアント証明書を (たとえば、電子メール経由で) インストールし、その証明書を使用して、アプリから送信された要求を認証できるようにしたいと考えています。Apple はその種のアクセスを許可しない気がしますが、明確な答えは見つかりません。それとも、アプリ内からデバイスにインストールされているクライアント証明書にアクセスする方法はありますか?

編集:明確にするために、これはネイティブアプリであり、Webアプリではありません。

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

maven - Can Maven access a repository without exposing my keystore password?

The artifact repository I use as my primary mirror just switched over from HTTP to HTTPS. I had to add a truststore with the CA that issued the server certificate, as well as a keystore containing my client certificate, as per this guide.

In this question, a commenter mentions giving Maven access to the OSX keyring, but didn't know what to do in Linux. Has there been any movement on this in the last year+?

As far as I can tell, the "state of the art" is still to put your personal cert in a keystore, then put the keystore password in plain text in your .bashrc, which seems just plain wrong. Are there just not enough client-cert users to care?

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

c++ - Microsoft HTTP Server API - SSL を使用して、クライアント証明書を要求する方法は?

現在、Microsoft HTTP Server API バージョン 2.0 ( http://msdn.microsoft.com/en-us/library/windows/desktop/aa364510(v=vs.85).aspx )を使用して小さな HTTP サーバーを実装しています。

サーバー側で HTTPS を有効にする必要があり、クライアント要求が着信したときにクライアント証明書も要求する必要があります (クライアントがサーバーを認証し、サーバーがクライアントを認証できるようにする必要があり、それらは SSL 経由で通信する必要があります)。

これまでのところ、サーバー側の SSL を有効にすることができたので、{ https://127.0.0.1:9999/hello } サイトに安全に接続し、サーバーにリクエストを送信して応答を受け取ることができましたが、まだできていません。クライアント証明書も要求する (そしてそれを検証する) 機能をオンにします。

アプリケーション コードで、"{ https://127.0.0.1:9999/hello }" URL (これは URL グループに追加した URL です) をリッスンしていると言い、次に netsh.exe ツールを使用して 9999 をバインドしました。 SSL へのポート:

この「clientcertnegotiation=enable」が正確に何をすべきかはわかりません。ドキュメントには、「証明書のネゴシエーションを有効にする」必要があると書かれています。そこで、HTTP サーバー コードに関数呼び出しを 1 つ追加しました。

クライアントに証明書を要求する必要があることを理解しましたが、機能しません (おそらく何か間違ったことをしているので、ここに質問を書いている理由です)。「回答」の値は 1168 (ERROR_NOT_FOUND) です。クライアントとしてFirefoxブラウザーを使用しており、そこに証明書を追加しました:ツール->オプション->証明書の表示->インポート、したがって、Firefoxはおそらくその証明書を使用するか、何らかの証明書を要求する必要がありますが、Firefoxはそうではないと思われますクライアント証明書に対するサーバーの要求をまったく受信しません。

とにかくHTTPサーバーがクライアント証明書を要求する必要があるのはどの時点ですか? リクエストが入った直後にすべきだと思いました。正確に何をしているのかを示すために、Microsoft の HTTP サーバー サンプル アプリケーション コード ( http://msdn.microsoft.com/en-us/library/windows/desktop/aa364640(v=vs.85) ) を使用しています。 aspx )、少し変更しました:

私の質問は、クライアント証明書を必要とする機能を有効にする方法と、それを受け取った後に証明書を検証する方法です (現在のサンプル コードはクライアントから証明書を受信しようとするだけで、検証部分がありません)。Microsoft HTTP Server API を使用し、クライアント証明書を必要とするインターネットのサンプルは実際には見つかりませんでした。

皆様、早々にありがとうございました。

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

c# - クライアント証明書を使用した WCF REST サービス用の WCF クライアント - 不足しているものは何ですか?

わかった。HttpWebRequest 呼び出しを介してクライアント証明書を使用して、WCF REST サービスを正常に実行しています。ただし、このコードを使用すると機能しません。

エラーが発生します: しかし、まったく同じクライアント証明書を使用して、まったく同じURLまったく同じサービスThe HTTP request was forbidden with client authentication scheme 'Anonymous'.を 呼び出すと、問題なく動作します。HttpWebRequest

私も ServiceCertificate のものをすべて使わずに試してみましたが、違いはありませんでした
。WCF コードから何が欠けているのか誰か教えてもらえますか?

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

iis - 認証用の Websphere 8 への証明書のインストール

.pfx 証明書を Websphere8 サーバーに追加して、IIS サーバーへの接続を確立しようとしています。証明書を個人証明書として deaultkeystore に追加しようとし、署名証明書と同じものを defaulttrustkeystore に追加しました。アプリケーションからリクエストを送信するたびに、401 無許可エラーが発生します。Wireshark を使用して B/W サーバーの通信を確認しましたが、クライアントまたはサーバーから FINISHED メッセージがありません。

そのため、Websphere サーバーに証明書をインストールして認証を受け、HTTPS Post 要求の一部として XML を送信する正確な手順を知りたくありません。

Web サービス プロバイダーに連絡したところ、他のユーザー、またはこのサービスのクライアントを既に実装しているユーザーが pfx を .cer に変換し、要求と共に送信したとのことでした。また、それがどのように可能かを知りたいです。Java 6を使用してコーディングしています。

助けてくれてありがとう。

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

java - javax.net.ssl.SSLException: SSLSocketFactory が null です

次のコードに問題があります...

メソッドを使用して SSL コンテキストのトラスト ストア、キーストア、およびその他のプロパティを設定しようとしましたSystem.setProperty(key,value)が、次のエラーが発生します。

誰かがこの問題を手伝ってくれませんか。

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

wcf - クライアント証明書が必要です-ただし、特定のルートのみ

WCF RESTサービスは、次の組み合わせで正常に実行されています。

私のルートはglobal.asax内で構成されており、独自のClient-Certificate検証でカスタムWebServiceHostFactory()を使用しています。

ここで、クライアント証明書の適用を制限して、ルートの1つにのみ適用されるようにします。4つのRESTエンドポイントがありますが、クライアント証明書を必要とするほど機密性が高いのは1つだけです。

同じWebサイトに複数のwebHttpエンドポイントを含めることができるように構成(IIS、WCF、CustomWebServiceHostFactory)を設定するにはどうすればよいですか?そのうちの1つはクライアント証明書が必要で、他はHTTPSだけが必要です。

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

wcf - WCF - クライアントを認証するためにサービス証明書が必要ですか?

私の WCF 認証のメンタル モデルにはギャップがあると思います。誰かがそれを埋めるのを手伝ってくれることを願っています。

そのため、私は WCF サービスを作成しており、証明書とメッセージ レベルのセキュリティを使用してクライアントを認証させたいと考えています。各クライアント証明書をサービスにインストールする必要がないように、サービスがチェーン トラストを使用してこれらを検証することを希望します。今のところ、サービスをクライアントに対して認証することに興味はありません。

これを行うために何が必要かについての私の理解は次のとおりです。

  1. クライアントには、サービス側で信頼されている CA によって署名された証明書が必要です。
  2. サービスには、その CA 用にインストールされた CRL が必要です。
  3. サービス構成では、メッセージ セキュリティをオンにし、clientCredentialType="Certificate" を指定し、クライアント証明書の検証のために信頼をチェーンする必要があります。
  4. クライアント構成では、メッセージ セキュリティをオンにし、clientCredentialType="Certificate" を指定し、ストアでクライアント証明書を見つける方法を示すエンドポイント動作を指定する必要があります。

クライアントはサービスにリクエストを送信し、証明書を送信します。サービスは、クライアントの証明書が信頼できる CA によって署名されていることを認識し、要求を通過させます。

現在、私が見つけたこのプロセスのすべてのウォークスルーには、サービスの証明書を作成する手順も含まれています。彼らの誰も、これが何のためにあるのかを説明していません。クライアントを認証したいだけなのに、なぜサービス証明書が必要なのですか?

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

windows-7 - SSL を介した双方向認証のローカル テスト用のクライアント証明書を作成するにはどうすればよいですか?

IIS7 で実行されている Web アプリで双方向認証をセットアップしようとしています。クライアントは主にモバイル デバイスになる予定です。まず、第 3 世代の iPad を使用してデモを実行しようとしています。最初に自分のワークステーション (IIS も実行されている) で実行することから始めて、iPad で有効な証明書をコピーすることにしました。

しかし、壁にぶち当たりました。

サイトをhttps経由で安全に実行し、自己署名サーバー証明書をインストールしましたが、iPadにインストールできるクライアント証明書を生成する方法がわかりません. 私は Windows 7 を実行しているローカル ワークステーションで作業しているので、http://machinename/CertSvrこれを行うために通常は使用できません。

makecertしたがって、テストクライアント証明書を生成する方法があるかどうか、またはサーバー証明書の使用フラグを変更してクライアントでの使用に適したものにすることができるかどうか疑問に思っています。それとも、グーグルの最終日がまだ発見されていないツールがあるのでしょうか?

アップデート:

私はこのガイドを見つけ、それに従って手紙を書きました。それはすべてうまくいくようで、エラーはありませんでした.1つはサーバー用、もう1つはクライアント用の2つのpfxファイルになりました(念のため、これらを使用pvk2pfxして生成し、元のファイル.pvk.cerファイルを保持しました)。

サーバー証明書を の下Certificates (Local Computer) > Trusted Root Certification Authorityにインストールし、クライアント証明書を の下にインストールしましたCertificates (Current User) > Personal。サーバー証明書 (CA 証明書) も IIS にインポートしました。IIS がクライアント証明書を受け入れるか無視するように構成されている場合、すべて正常に機能します。ただし、「必須」に設定すると、サイトをリクエストするときに 403.7 が返されます。また、クライアント証明書を IE/Chrome の証明書ストアにインポートしようとしましたが、サイコロはありません。

私が間違っていることは明らかですか?

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

java - jetty 組み込みを使用したクライアント証明書認証と loginservice の関係を理解するのに助けが必要です

Java WebApp プロジェクトに組み込まれた jetty 7 を使用しています。

SSL をセットアップしました。次のステップは、クライアント証明書認証を処理することです。私が指定したweb.xmlで:

以下は、startserver ルーチンのコードです。

私の質問は、 ClientCertAuthenticator と組み合わせてどの loginservice を使用すればよいですか? または、それが不可能な場合、自分の (DummyAuthenticator) を実装する最良の方法は何でしょうか?

上記のコードでは、Authenticator インターフェースを実装するだけの DummyAuthenticator を使用していますが、validateRequest メソッドの servletRequest には、期待する場所に常に空の parameterMap があります。