2016-10-16 14 views
1

私は、ウェブアプリケーション用にApache Directory Studioをセットアップして、kerberos認証を開発してテストする(spnegoを使用して)ことについて、このtutorialに従っていました。私はldapとチケット付与サービスといくつかの基本的なユーザーアカウントを設定しました。私はユーザーアカウントでkinitを行うことができるので、その部分がうまく機能していることが分かります。SPNでkinitを実行できないのはなぜですか?

したがって、現在のログはチケットを復号化できないことを示しています。私はkinitでkeytabファイルを使用しようとしましたが動作しませんでしたので、ちょうどkinitを実行してパスワードを手動で入力しようとしました - これも動作しません(パスワードがApache Directory Studioで正しいことを確認した後でも) 。ここで私はSPN作成するために使用されるLDIFファイルです。私はkinit -V HTTP/example.comとパスワードを入力を行うたび

dn: uid=HTTP/example.com,ou=users,dc=security,dc=example,dc=com 
objectClass: top 
objectClass: krb5KDCEntry 
objectClass: inetOrgPerson 
objectClass: krb5Principal 
objectClass: person 
objectClass: organizationalPerson 
cn: HTTP/example.com 
krb5KeyVersionNumber: 1 
krb5PrincipalName: HTTP/[email protected] 
sn: Something 
uid: HTTP/example.com 
userPassword: secret 

が、私は得る:

HTTP/[email protected]'s Password: 
kinit: Password incorrect 

は、これが私のkrb5.confのです

[libdefaults] 
debug = true 
default_realm = EXAMPLE.COM 

[realms] 
EXAMPLE.COM = { 
    kdc = example.com:60088 
    admin_server = example.com:60088 
    default_domain = EXAMPLE.COM 
} 

[domain_realm] 
.example.com = EXAMPLE.COM 
example.com = EXAMPLE.COM 

答えて

1

したがって、デフォルトのレルムと同じSPNをセットアップすることはできません。私はサブドメイン(myapp.example.com)を作成し、関連する新しいLDIFファイルをインポートする必要がありました。その後

dn: uid=HTTP/myapp.example.com,ou=users,dc=security,dc=example,dc=com 
objectClass: top 
objectClass: krb5KDCEntry 
objectClass: inetOrgPerson 
objectClass: krb5Principal 
objectClass: person 
objectClass: organizationalPerson 
cn: HTTP/myapp.example.com 
krb5KeyVersionNumber: 1 
krb5PrincipalName: HTTP/[email protected] 
sn: myapp 
uid: HTTP/myapp.example.com 
userPassword: secret 

を、私はHTTP/myapp.example.comでkinitをすることができました。私はキータブをセットアップしてそれを私のウェブサーバにロードしてSSOを稼働させました!

関連する問題