2013-08-16 6 views
0

Kerberos 서버와 통신하고 다양한 작업을 수행하는 Java API가 있습니다. 지금, 내 API는 Kerberos 서버에 재생할 수없는 티켓을 요청합니다. 내가 아는 바로는 jaas 설정 파일에는 renewTGT 옵션을 true로 설정하여 재생 가능한 티켓을 발급 할 수있는 옵션이 있습니다. 그러나 Jaas는 "renewUntil"시간 설정에 많은 제한을 가지고있는 것으로 보입니다. 아무도 우리가 arenewable 티켓을 요청할 수있는 방법을 말해 줄 수 또한 자사의 renewability을 제어? 기본적으로, Java와 동등한 작업을 수행 할 수있는 방법이 있습니까? kinit -R? 미리 감사드립니다.Jaas - Renewable Kerberos Tickets 요청

+0

실제로 'renewTGT'가 수행해야합니다. 로깅을 활성화하고 Wirshark를 사용하여 Java가 실제로 무엇을하는지 확인하지 않는 이유는 무엇입니까? –

+0

감사합니다. Michael. 로깅을 가능하게했고 wireshark를 사용하여 요청/응답을 캡쳐했습니다. renewTGT를 true로 설정 한 후에도 요청한 티켓은 갱신 할 수없는 티켓입니다. 수행해야 할 다른 구성이 있습니까? – user2690793

+0

이것은 KDC의 설정 일 수 있습니다. 관리자에게 물어보십시오. –

답변

2

JDK7 (1.7.0_55) 현재, JAAS Krb5LoginModule은 인증시 재생 가능 TGT를 요청하는 옵션을 제공하지 않으므로 JAAS를 사용할 수 없습니다. 이를 달성 할 수는 있지만 JAAS를 거치지 않고 내부 Kerberos 클래스를 직접 사용해야 할 수도 있습니다.

내부적으로 Krb5LoginModulesun.security.krb5.KrbAsReqBuilder을 인스턴스화하여 제공된 암호 또는 keyTab을 사용하여 자격 증명을 얻습니다. KrbAsReqBuilder에는 setOptions(KDCOptions options) 메서드가 있지만이 모듈은 로그인 모듈에서 호출되지 않습니다. 액세스가 가능하다면 KDCOptions#set(KDCOptions.RENEWABLE, true)으로 전화하면 KDC가 재생 티켓을 허용하도록 구성된 경우 반환 된 티켓을 재생할 수 있습니다.