2013-04-15 4 views
4

JAVA GSSAPI를 사용하여 NTLM 바인딩을 수행하려고합니다.GSSAPI의 javax.naming.AuthenticationException

나는이 오류 메시지가 표시됨 : 내가 생각

javax.naming.AuthenticationException: GSSAPI [Root exception is javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Invalid option setting in ticket request. (101))]]

을 (확실하지 않음)는 과거에했다. 다른 문제를 해결하기 위해 "kinit"을 시도했습니다. 그 시점부터 작동이 중지됩니다. 나는 심지어 캐시 파일을 삭제했다. (윈도우에서 kclear를 찾을 수 없었다.) 여전히이 문제가있다.

어떻게 해결할 수 있습니까?

답변

1

좋아, 해결했습니다.

나는 나의 KRB5 파일에

사실

프록시 화를 = 있었다.

제거하고 작동합니다!

1

는 일이 Troubleshooting에서 당신을 도와줍니다 :

원인 : Kerberos는 느슨하게 동기화 할 수있는 KDC에와 클라이언트의 시간이 필요합니다. 기본값은 5 분 이내입니다. 그렇지 않은 경우이 오류가 발생합니다.

해결책 : 시계를 동기화하십시오. (또는 시스템 관리자에게 문의하십시오.)

또는

원인 : 유효한 Kerberos 자격을 얻을 수없는 경우이 발생할 수 있습니다. 특히 기본 메커니즘에서 자격 증명을 가져 오려고하지만 javax.security.auth.useSubjectCredsOnly 시스템 속성 값을 false (예 : 실행 명령에서 -Djavax.security.auth.useSubjectCredsOnly = false를 통해)로 설정하여이를 나타내는 것을 잊어 버린 경우에 발생합니다.

해결 방법 : 기본 메커니즘은 자격 증명을 취득 할 경우 응용 프로그램이나 래퍼 프로그램이 아닌, false로 javax.security.auth.useSubjectCredsOnly 시스템 속성 값을 설정해야합니다 (예 : 자습서의 일부가 사용하는 로그인 유틸리티 등) JAAS를 사용하여 인증 수행.

+1

감사합니다. 시계가 동기화 된 것으로 보이고이 플래그를 false로 설정했습니다. 더 많은 아이디어? – Matan

0

Forwardable로 생성되지 않은 Kerberos 티켓에 대해 동일한 문제 (정확히 동일한 Java 오류 스택)가있었습니다.

Kerbros 티켓 갱신/모니터 프로세스가 Perl로 작성되었고 Authen :: Krb5 :: Easy Perl 모듈을 사용하여 /etc/krb5.conf "forwardable = true"설정을 무시합니다.