問題タブ [sspi]
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.
c# - Windows 7 での SSL クライアント SSPI エラー
C#.NET Win-Forms で SSL クライアントを作成しました。証明書 (公開鍵) をシステム ルート ストアに追加し (.NET コードまたは Internet Explorer を介して手動でどちらも機能します)、Windows XP では正常に機能しますが、Windows 7 ではAuthenticateAsClient()を試行すると次のようなAuthenticationExceptionが発生します:
"クライアントとサーバーは共通のアルゴリズムを持っていないため、通信できません」
Microsoft のサポート ドキュメントでは、いくつかのレジストリ キーを一覧表示し、Windows 7 でデフォルトで有効 (新しい強力なもの) または無効 (古い古いもの) になっているプロトコル / 暗号 / アルゴリズムについて説明しているため、レジストリを編集して有効/無効にすることができます。これらのリンクは次のとおりです。
Schannel.dll で特定の暗号化アルゴリズムとプロトコルの使用を制限する方法 TLS/SSL 暗号化の機能強化
暗号化が苦手な限り、どのレジストリ キーが自分のケースに一致するかわかりません。クライアントとして使用している X509Certificate オブジェクトのプロパティは次のとおりです。
SignatureAlgorithm.FriendlyName: " sha1RSA "
バージョン: 3
誰か助けてくれませんか?
postgresql - 統合セキュリティを使用して PostgreSQL に接続するか、パブリック ログインにフォールバックします
Npgsql を使用していますが、パブリック ログインに自動的にフォールバックする統合セキュリティを使用して PostgreSQL サーバーに接続する方法があるかどうか疑問に思っていました。または、私が達成しようとしていることを行う別の方法があるかもしれません。
Windows 認証を使用する ASP.NET Web サイト (IIS7.5) があり、SSPI 経由のアクセスを許可するように PostgreSQL を構成しました。データベースに正しい名前のロールがある限り、これは正常に機能します。この Web サイトは、イントラネット上のすべてのユーザーが表示できますが、一部のユーザーには、他のユーザーにはできないはずのいくつかの特別な機能 (または追加のデータを表示できる) があります。
現在、私は次のようなものを使用しています:
これは正常に機能しますが、「www-read」ロールにフォールバックするたびに、認証エラーがあったことを示す重要なログ エントリが追加されます。これを回避できる唯一の方法は、常に www-read 経由で接続し、適切な統合セキュリティ ロールが存在するかどうかを問い合わせてから再接続することですが、上記よりもさらに面倒に思えます。
c# - SSLStream: 「SSPI の呼び出しに失敗しました」例外
私は奇妙な問題を抱えています..net 2 SslStreamを介してチャットしている.net2に基づいてc#でサーバーとクライアントを書きました。Cl と S の間でコマンドを送信するための接続が 1 つあり、cl と s の間でファイルを送信するための接続が 1 つあります。
ローカルでは、すべてが私の Windows マシンで正常に動作しています。しかし、Linux サーバー (mono を使用) でサーバーを実行すると、特定の状況でファイルの共有が機能しません。ファイルにはさまざまなカテゴリがあり、3 つのうち 2 つが機能しており、3 つ目はサーバーがハングアップしSSLStream.AuthenticateAsServer(....);
、クライアントが「SSPI への呼び出しに失敗しました。内部例外を参照してください」というメッセージで例外をスローします。innerexception は System.ComponentModel.Win32Exception で、「受信したメッセージは予期しないものであるか、形式が正しくありません。」というメッセージが表示されます。
Linuxで実行する方法が間違っている可能性があると思います。実際、私はローカル開発にVS2012を使用しており、サーバーに配置したい場合は、VSでコンパイルされたexeをアップロードし、それを使用mono server.exe
して起動します。しかし、Windowsでmonodevelopを使用してコンパイルし(monodevelopからコンパイルされたものもローカルで動作します)、Linuxサーバーで使用しようとしましたが、これは同じ結果になりました。
どんな助けでも大歓迎です。
私の短縮コードは次のとおりです。
クライアント:
サーバ:
sql-server - SQL Server 2008 sspi に接続できません
ローカル ネットワーク内のマシンで SQL サーバーを実行しています。過去3か月間、Windows認証を介して接続しています。他のユーザー (Sa) は 1 人だけで、彼は過去 1 年か 2 年の間、問題なく接続できています。
今週は両方とも SSPI エラーが発生し、どちらも接続できません。sa
どちらも Windows 認証を使用しているため、ログインを思い出せません。
Windows 認証に正常にログインでき、マシンを再起動しましたが、サーバーにアクセスできません。sspi と同じエラーが発生します。
何か案は?
http - AcceptSecurityContextランダムSEC_E_LOGON_DENIED
(IOCPを使用して)http.sysベースのサーバーにシングルサインオンを実装しようとしていますが、AcceptSecurityContextで奇妙な問題が発生し、SEC_E_LOGON_DENIEDでランダムに失敗します。
同じクライアントマシンから同じサーバーマシンに接続すると(約50%の確率で)、http接続が1つしかないクライアントが1つしかない場合でも、ランダムにエラーが発生します。両方のマシンは同じドメインにあり、どちらもドメインコントローラーではありません。
失敗した呼び出しは、チャレンジ/レスポンスシーケンスの2番目(そして最後)の呼び出しであり、最初の呼び出しは常に成功します。
AcceptSecurityContext呼び出しの前にIDEにブレークポイントがある場合(他に何も変更されていない場合)、認証は常に成功します(テストできる限り)。
タイミングの問題を疑って、呼び出しの前にSleep()を配置しましたが、成功率は向上しませんでした。
また、httpサーバーが実行されているのと同じマシンから接続する場合、認証は常に成功します。
クライアントブラウザ(IEとChrome)に関係なく、動作は同じです。
何か案は?
c# - C# API を使用して SSPI to vSphere で認証する
vSphere (VimClient) への接続に C# ライブラリを使用しています。この方法を使用してログインします。
ログインしているユーザーは、プロセスで使用されている現在のユーザーです。現在ログインしているユーザーを認証に使用する方法はありますか?
このスレッドは提案を提供しているようですが、そこで試したものは何も機能しません: http://communities.vmware.com/message/1125103
それは、私が .NET での SSPI の実装に慣れていないためかもしれません。
wcf-client - SSPI:ユーザー原則名WCFクライアント
wcfクライアントにアクセスしようとしています。私は人々が今それから情報を得ていることを知っているので、それがうまくいくことを知っています。私の問題は、それを乗り越えられないように見えることです。このサービスは相互認証サービスです。ローカルマシンの個人ストアに適切な証明書があります。それでも、次の例外が発生します。
例外を深く検索すると、次のように表示されます。
どうすればこれを解決できますか?アプリプールが実行されているユーザーになりすます必要がありますか?Identity\ServicePrincipleNameまたはIdentity\UserPrincipleNameを追加する必要がありますか?誰かがこれに似た問題に遭遇しましたか?
ruby - Ruby TinyTDSでSSPIを使用する-可能ですか?
Rubyを使用してSQLServerデータベースに接続しようと苦労した後、私はついにTinyTDSを発見しました。それは素晴らしいことです。
ただし、データベースと通信するには、ユーザー名とパスワードが必要です。過去のC#テストでは、これを提供するためにSSPIを使用していました。これにより、すべてのテスターがスクリプトを取得して実行し、Windows認証の詳細を使用できるようになります。
TDSでこれを行う方法が見つかりません(現在のバージョンでは不可能だと思われ始めています)。誰かが私を間違っていると証明したり、別の提案があることを期待していますか?
乾杯。
java - 人々はどのようにしてJavaSPNEGOクライアントをWindowsで動作させるのですか?
WindowsでJavaを使用してクライアント側のHTTPSPNEGO認証を行うには、Windowsレジストリキーallowtgtsessionkeyを設定する必要があります。これは十分に文書化されています。私が理解していないのは、人々がこれをどのように回避するかです。ほとんどの企業サイトは、単一のソフトウェアのためにWindowsでこのレジストリキーを変更することを決して受け入れません。また、組織内のすべてのワークステーションでこれを変更する必要がある場合は、面倒なことも考えてください。しかし、これまでのところ、このレジストリキーを変更するようにお客様を説得することができなかったため、これは単なる理論です。
私は彼らを責めません。ほとんどの企業管理者は、これがセキュリティを緩和すると考えているため、反対します。
私はこれを読みました: ネイティブSSPI APIを使用してサービスのKerberosチケットを取得する方法はJavaまたはコマンドラインユーティリティにありますか?
でも今はかなり古いです。
ですから、大学の環境やホームユーザーなど以外で、Windows+Javaクライアント+Kerberosをどのように機能させることができるのか本当によくわかりません。
企業の管理者からの質問は、「IEやFirefoxなどのアプリケーションでこのキーを設定せずにSPNEGOを実行しても問題がないのに、なぜこのレジストリキーを設定する必要があるのですか?」です。まあ、私は答えが何であるかを知っています。これは、(ほとんどの場合)IEやFirefoxなどのアプリケーションがWindowsネイティブGSS API(SSPI)に基づいているのに対し、SunのJavaは独自の実装を使用しているためです。
WAFFLEのようなものを使用すれば問題は解決すると思いますが、純粋なJavaソリューションを好みます。また、SpringセキュリティやApache HttpClientなどのJavaベースのソリューションを使用しても、これらすべてがこの問題に悩まされるため、役に立たないと思います。
ヘルプやポインタをいただければ幸いです。
UPDATE1:
OracleのバグデータベースにこのためのRFEがあることがわかりました。オラクルの従業員によってこの問題について提出されたパッチと、この機能に関するJDKメーリングリストでの議論もあります。これが現在のJava7で利用できないことを理解できる限り、実験的でさえない限り、私はそれほど賢くなりません。右?
UPDATE2:
質問は、OpenJDKSecurityDevメーリングリストで再び生きています。
c# - プッシュ通知が表示されない
MoonAPNS を動作させることができないようです。同じ問題についていくつかの質問があったことは知っています。たとえば、これです。p12証明書の作成に関するチュートリアルに従い、phpスクリプトで正常に使用してデバイスに通知を送信しましたが、MoonAPNSで使用する方法がわかりません. Windowsにも証明書をインストールしました。デバッグは、通知が送信されていることを示しているようですが、iPad には何も表示されません。
これが私のコードです: