問題タブ [negotiate]

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 投票する
3 に答える
9829 参照

kerberos - SPNEGO はサポートされているが、NTLM は HTTP 要求用ではないことをクライアントに示すことはできますか?

Microsoft が利用している 2 つの WWW-Authenticate 追加機能は、私が現在認識しているものです。

  • NTLM
  • 交渉

Negotiate がサーバーから送信されると、一連の条件に基づいて Kerberos が使用されます

  • イントラネット ゾーン
  • IP ではなくホスト名を使用してサーバーにアクセスする
  • IE の統合 Windows 認証が有効で、ホストが Firefox で信頼されている
  • サーバーはブラウザに対してローカルではありません
  • クライアントの Kerberos システムがドメイン コントローラーに対して認証されている

次に、サーバーとクライアントの間で Kerberos が試行されます。上記の条件が満たされない場合は、NTLM が試行されます。

私の質問は、サーバーが NTLM を送信してはならないことを示す方法はありますか? 私は現在、セッション内のリクエストを追跡することでこれを処理しており、NTLM メッセージを受信した場合、そのセッションの残りの期間、Kerberos と WWW 認証を無効にしています。

0 投票する
10 に答える
288815 参照

wcf - WCFTestClient HTTP 要求は、クライアント認証方式 'Anonymous' で許可されていません

1 つの WCF サービスを作成し、それをサーバーにデプロイしました。このサービスを参照すると、?wsdl URL で肯定的な応答が返されます。現在、WCF テスト クライアントを使用してサービスをテストしようとしています。適切なメタデータが表示されます。しかし、サービスからメソッドのいずれかを呼び出そうとすると、例外が表示されます...スタックトレースのエラーの詳細は次のとおりです..

HTTP 要求は、クライアント認証スキーム「匿名」では許可されていません。サーバーから受信した認証ヘッダーは「Negotiate,NTLM」でした。

サーバー スタック トレース:


System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication (HttpWebRequest 要求、HttpWebResponse 応答、WebException responseException、HttpChannelFactory ファクトリ) で
HTTP 要求は、クライアント認証方式 '匿名' で承認されていません。サーバーから受信した認証ヘッダーは「Negotiate,NTLM」でした。

サーバー スタック トレース:

System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication (HttpWebRequest 要求、
HttpWebResponse 応答、WebException responseException、HttpChannelFactory ファクトリ) で

クライアント バインディング:

サーバーバインディング:

クライアントのクライアント セクション:

サーバーのサービス セクション:

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

authentication - NegotiateStreamにKerberosを使用させる方法は?

この質問をした後、私はNegotiateStreamを使用してJavaサーバーに対してWindowsクライアントを認証しようとしています。Javaは優れたNTLMライブラリをサポートしていないようです。そのため、Javaが(GSS-APIを介して)はるかに優れていると思われるKerberosを使用する必要があると想定して取り組んできました。

問題は、NegotiateStreamが毎回NTLMを使用しようとしているように見えることです。ドキュメントは、どちらも使用できることを示唆していますが、選択方法は指定されていません。選択するメカニズムを制御するためのAPIのオプションが表示されません。方法はありますか?

私は自分自身にサービスプリンシパル名を持っており、私のクライアントコードは次のようになっています。

サーバー側では、最初に受信したバイトのセットは22,1,0,0,59で、次に「NTLMSSP」です。これは私が予期していなかったことです。

SPN文字列に対していくつかの異なる形式を試しましたが、正しい形式が何であるかわかりません。私はもともとSPNを作成しました

setspn -Lは、次のように正常にリストします。

私は何か間違ったことをしているのですか、それともこのことを完全に誤解していますか?:)

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

dns - 複数のドメインで kerberose-sso-negotiate を構成する

mycorp.com、ch1.mycorp.com、mycorp2.com ドメインがあります (すべて Windows です) sso-kerberose-negotiate 認証を構成しています mainaaa3.mycorp2.com で実行されているサーバーで、spn "http:/mainaaa3 を作成しました.mycorp2.com」を作成し、ドメイン間に信頼を設定しましたが、mycorp.com、ch1.mycorp.com ドメインのユーザーがブラウザでネゴシエート チケットを送信しない場合、各ドメインに「 http:/mainaaa3.mycorp2.com」、そして今、私はエラーを持っています: メカニズムレベル: 復号化されたフィールドの整合性チェックに失敗しました (31)

私は何を間違っていますか?

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

firefox - インストール前またはアドオンを使用してFirefoxのプロパティを変更する

私は現在、特別なサーバー環境のセットアップに関するドキュメントを書いています。この環境をFirefoxと一緒に使用するには、Firefoxのabout:configウィンドウで1つのプロパティを変更する必要があります。

私たちの顧客は大きなネットワークを持っており、そのネットワーク内の何百台ものコンピューターに対してそれを行うことはできません。私は今、network.negotiate-auth.trusted-uris完全に馬鹿げたものでなければならないそのプロパティを簡単に構成するための解決策を探しています。このプロパティは、Kerberos認証に関連しています。

すでにプロパティが含まれているFirefoxの特別なインストールパッケージを作成したり、アドオンなどを提供したりすることを考えました。(それを行う簡単な方法はありますか?)

または、FirefoxをKerberosで適切に動作するように設定するためのよりエレガントな方法はありますか?

助言がありますか?

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

http - Negotiate が失敗した場合にのみ、Negotiate メソッドから Basic にフォールバックする方法

kerberos と基本認証も行う webapplication があります。クライアントの能力がわからない。したがって、両方の認証メカニズムが 401 応答で送信されます。

返信ヘッダーには、

ただし、ネゴシエートが失敗した場合にのみ、クライアントが基本認証にフォールバックするようにします。

私は流れが好きであるべきです、

  1. クライアントのリクエスト
  2. サーバーは WWW-Authenticate: Negotiate で応答します
  3. クライアントは (認証データが間違っているか、処理を続行できないことを示す何らかのフラグを使用して) 再リクエストします。
  4. サーバーは再び WWW-Authenticate: Basic realm="MYREALM" で応答します。
  5. クライアントは基本認証を行います。

これどうやってするの?これを行うためにサーバーコードを変更しました。しかし、どのドメインにも属していない (基本認証を行うはずの) ブラウザーは、ステップ 2 の後で応答しません。

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

.net - NTLMまたはKerberosがWWWから使用されているかどうかを確認する方法-認証:ヘッダーのネゴシエーション

HTTP経由でサーバーと通信する.Netでクライアントアプリケーションをプログラミングしています。

NTLMおよびKerberos認証の場合、異なる要求バッファリングオプションを設定する必要があります。

NTLMまたはKerberosが使用されているかどうかを確認するにはどうすればよいですか?'WWW-Authenticate:Negotiate'ヘッダーをなんとかしてデコードすることは可能ですか?

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

c++ - NTLM認証用のGSSAPI

NTLM v1 / v2認証にGSSAPIを使用することは可能ですか?squid / apacheのようなWebサーバーを構築しようとしていますが、NTLM / Negotiateプロトコルを使用して、IE/FireFoxを使用している可能性のあるクライアントを認証したいと思います。heimdalライブラリを使用しようとしましたが、gss_accept_sec_contextを機能させることができません。「サポートされていないメカニズムが要求されました」で失敗するだけです。gss_accept_sec_contextが試行される前にgss_acquire_credが呼び出されたときに、サービスプリンシパル名、spnegoのOIDなどが正しく発生したことを確認できます。はい、もちろん、承認ヘッダーをbase64でデコードして、クライアントから受け取ったトークンを抽出しました。私はC++を使用しており、これをdebianで実験しています。このあたりの素晴らしいハックの1つがもっと知っていると確信しており、いくつかの重要な手がかりを共有することを願っています。

前もって感謝します。

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

iis - HTTP 要求は、クライアント認証スキーム「ネゴシエート」で許可されていません

問題が何であるかを把握するために、すでに多くの時間を費やしてきました。デスクトップ コンソール アプリケーションから WCF サービスを使用すると、このエラーが発生します。Silverlight クライアントを使用してブラウザーからアクセスすると、サービスは正常に動作します。

エラーメッセージ:

System.ServiceModel.Security.MessageSecurityException: HTTP 要求は、クライアント認証スキーム 'Negotiate' で承認されていません。サーバーから受信した認証ヘッダーは「Negotiate,NTLM」でした。

クライアントとサーバーの両方が同じ認証スキーム「ネゴシエート」を持っていても、なぜ機能しないのかわかりません。HTTP 401 を取得しています。

同じクライアント構成を使用して Silverlight クライアントで動作するため、クライアントとサーバーの構成が正しいことを確認しました。

IIS7 Web サイトは、プロバイダー 'Negotiate,NTLM' を使用した Windows 認証で構成されています。

では、このエラー メッセージは何を意味するのでしょうか。:(

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

c++ - gss_init_sec_context return資格情報キャッシュが見つかりません(Windows、C ++)

アプリケーションでgssapi32.dllを使用しようとしましたが、アプリの起動時に例外が発生します

「HTTP/proxy.domain.com@domain.com」のような名前Kerberosチケットツールでこの名前を見ました

しかし、「クレデンシャルキャッシュが見つかりません」と表示されます

多分誰かがすでに同様の問題を抱えていますか?そして助けることができます

Windows 7(x64)MSVS C ++ 2010 Express

アドバイスありがとうございます&私の英語をごめんなさい

-編集されたありがとう友達-私は提案された道を進むと思います