問題タブ [gssapi]
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.
java - Active Directory に対する Java 認証、認証の不一致?
そのため、認証でうまく機能することを確認するためにテストしているコードがいくつかあります。ストレート kerberos に対しては問題なく動作するため、AD ではわずかな問題が発生するだけであると考えました。残念ながら、KrbException: KDC has no support for encryption type (14) を回避できません。
エラーが暗号化タイプの不一致であることはわかっています。問題が発生したのはコードだけです。私は何も設定していないので、kinit と同じデフォルトを継承する必要があると思いますが、明らかにそうではありません。
コード-
および jaas.conf
そして、スタックトレース-
python - バインド中に Windows 上の SASL-GSSAPI が失敗する
RHELで以下のコードを試してみましたが、とてもうまく機能します。Linux では、Kerberos チケットを取得するだけです。
次に、ActivePython-2.7"、"python-ldap-2.4.10"、"openssl-0.9.8o"、"setup-sasl-1.5.27" がインストールされている Windows 2k3 サーバーに同じものをコピーしました。
誰か助けてくれませんか?
java - KDC - サーバーはどこから入手したのですか?
Java を使用して kerberos 認証を実行しようとしています。
デバッグを有効にしました。
tgt を使用して LDAP に接続しようとすると、次のようになります (サーバー名が変更されました)。
私の答えは次のとおりです。
kdc サーバー (server123.myserver.com) を取得した場所は?
変更できますか?
ありがとう。
c# - C#でのGSSAPIとActive Directory
これはばかげた質問かもしれませんが、Active Directoryから現在ログインしているユーザーのGSSAPIトークンを取得することは可能ですか?
サーバーに接続する単純なライブラリがあります。ユーザー名、パスワード、ドメイン名、またはGSSトークン(base64)を渡すことができます。今のところ最初の方法は私にとってはうまくいきますが、ユーザーがパスワードを入力しなければならないのは面倒です。
GSSAPIとActiveDirectoryとの統合に関する情報が見つかりませんでした。
C#で可能ですか?
@Harvey Kwokのコメントに基づくいくつかの詳細情報:ライブラリが呼び出さAltair COM
れ、ドキュメント管理に使用されます
GSSを使用したログインに関するAPIリファレンスは次のとおりです。
以下は、VBでの使用例です。
そしてVC++の使用法
これは私が持っているすべての情報です。
ログイン手順を示すコードスニペットを見つけました:
しかし、私はそのトークンを入力する必要があり、現在のユーザーのためにそれを生成しようとしています。
java - Thrift用のKerberos?
私が書いた単純なThriftベースのJavaアプリケーションがあります。これは非常に単純で、JavaでThriftを使用した「HelloWorld」メッセージトランスポートにすぎません。メッセージにKerberosサポートを追加する必要があると言われました。私はいくつかのグーグルを実行しましたが、Thriftが何らかの形でKerberosをまだサポートしていないことに驚いています(または、サポートしている場合は、それを見つけることができません)。GSSAPIを使用して独自のラッパーを作成することを考えましたが、Thriftメッセージの形式が台無しになるため、Thriftメッセージをラップ/アンラップできません。
誰かがKerberizedThriftをしたことがありますか?..またはそれがどのように行われるか知っていますか?
前もって感謝します。
java - krb5.conf なしで kerberos を構成する
ActiveDirectory へのログインに kerberos 認証を使用しています。私はGSSAPIでそれをやっています。
現在、レルム、暗号化アルゴリズムなどを記述した krb5.conf ファイルを使用しており、認証は正常に機能します。
このファイルの使用は避けたいと思います。このファイルを使用せずにプログラムで kerberos を構成できますか?
ありがとう。
java - Java での更新可能な Kerberos チケット
Java アプリケーションで更新可能な Kerberos チケットが必要です。GSSContext
しかし、インターフェイスにメソッドが見つかりませんでした。Java はこの Kerberos 機能をサポートしていませんか?
目的は次のとおりです。このアプリケーションでは、ユーザーは将来実行されるバッチを設定できます。また、元のチケットの有効期限が切れている可能性がある場合、アプリケーション サーバーは、バッチの実行時に有効な委任されたチケットを使用する必要があります。
EDIT:私の最初の声明を明確にするために:私はGSSContext
、GSSContextImpl
だけでなく、 でのみ利用可能なメソッドGSSContextImpl
へのアクセスを与えないことを発見しました。すべての詳細を掘り下げることなく、後付けの認証は、文書化されていないクラスへの直接アクセスによってのみ可能になるようです。setAuthTime()
Krb5Context
@Michael-Oが指摘したように、クライアントブラウザに正しいフラグが設定されたチケットを送信させるには追加の問題があるように思われるため、ユーザーにユーザー名とパスワードを尋ねるだけで、別の解決策を見つける必要があると思います、バッチで暗号化して保存し、バッチの開始時に新しいチケットをリクエストするだけです。
遅延チケットの概念は私の問題に適しているように思えますが、実際の使用が不足しているようで、既存の環境では十分にサポートされていません。
c++ - GSS-API kerberos プログラミングの一般的な概念を明確にしたい
GSS-API は初めてです。そして、私は KERBEROS の実装を目標とするプロジェクトに参加しています。
MIT のアプリケーション開発者向けドキュメントを読みました - http://web.mit.edu/kerberos/krb5-latest/doc/appdev/index.htmlリンク。
また、RFC-2744 GSS-API C BINDINGS もお読みください。
私の質問は、
* KERBEROS プロトコルは、
AS-REQ、AS-REP、TGS_REQ、TGS-REP、AP-REQ、AP-REPで構成されます
* GSS-APIは、
資格情報管理ルーチン (例: gss_acquire_cred)、コンテキストレベルで構成されますルーチン (例: gss_init_sec_context) など
GSS-API ルーチンを使用して kerberos を実装するにはどうすればよいですか?
以来、ケルベロスにある TICKET 生成ルーチン、TIMESTAMP 埋め込みルーチンなどは見当たりませんか?
前もって感謝します。
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++ - GSSAPIはユーザー名のパスワードを取得し、ログインしていないユーザーに対してクレデンシャルを作成しても機能しません
GSSAPIを使用してサーバーにログインするC++クライアントを開発しています。クレデンシャルについては、gssメソッドを使用してクレデンシャルオブジェクトを作成しています(以下のコードで説明されています)。この部分の私のコードは
現在、メジャーステータス(gssapiレベルのステータス)とマイナーステータス(メカニズムレベルのステータス)を出力しています。この場合はKerberosです。ログインしたユーザー(つまり、asanyal)に与えると、ステータスprintfメッセージは両方の値に0を与えます(すべてうまくいきます)
ただし、別のユーザー名を使用すると(これは、Active Directoryに登録されていますが、彼としてログインしていません)、次のようになります。
さらに調査したところ、このマイナーステータスメッセージはエラーに対応していることが判明しました
ログインしていないユーザーに正しい資格情報(ユーザー名パスワード)を渡していると確信しています)
これはGSSAPIの内部的な問題ですか(チケットなどを取得できない可能性があります)、それとも私は何か間違いを犯していますか?
使用した構成:Windows Active Directory(Windows Server 2008)およびMITKerberosライブラリ-バージョン4.0.1