내 Java 응용 프로그램에 postdatable Kerberos ticket이 필요합니다. 그러나 GSSContext
인터페이스에서 어떤 메소드도 찾지 못했습니다. Java가이 Kerberos 기능을 지원하지 않습니까?자바로 게시 할 수있는 Kerberos 티켓
목적은 다음과 같습니다. 응용 프로그램에서 사용자는 앞으로 얼마 동안 실행될 배치를 설정할 수 있습니다. 그리고 응용 프로그램 서버는 원래 티켓이 만료되었을 때 배치의 실행시 유효한 위임 된 티켓을 사용해야합니다.
편집 : 내 첫 번째 문을 명확히하기 위해 : 나는 GSSContext
, GSSContextImpl
뿐만 아니라 GSSContextImpl
가 Krb5Context
에서만 사용할 수있는 setAuthTime()
방법에 대한 액세스 권한을 부여하지 않는 것을 발견했다. 모든 세부 사항을 파헤 치지 않고도 문서화되지 않은 클래스에 직접 액세스 할 수있는 경우에만 후기 인증이 가능할 것으로 보입니다.
클라이언트 브라우저가 @Michael-O가 지적한대로 올바른 플래그가 설정된 티켓을 보내는 데 추가 문제가있는 것처럼 보이기 때문에 사용자에게 묻는 또 다른 해결책을 찾아야 할 것입니다. 사용자 이름과 암호는 일괄 처리로 암호화하여 저장 한 다음 일괄 시작 시간에 새 티켓을 요청하기 만하면됩니다.
오래 된 티켓의 개념은 내 문제에 적절하게 들리지만 실제 사용이 부족하여 기존 환경에서 제대로 지원되지 않을 수 있습니다. 내 댓글 게다가
Frank, [RFC4120] (http://www.ietf.org/rfc/rfc4120.txt)의 2.4 장을 실제로 읽었습니까? 클라이언트의 TGT는 초기 플래그'MAY-POSTDATE'를 가져야합니다. 먼저 확인하십시오. 예, Java GSS는이를 지원하지만 나 자신을 시도하지 않았습니다. [this] (http://i.imgur.com/VPXrA.png) 검색을 참조하십시오. –
좋은 지적! 클라이언트가 브라우저이기 때문에 아마도 티켓 설정에 영향을 줄 수 없습니다. – FrankPl
'kinit' unter Ubuntu를 확인했고 티켓 (TGT) => postdatable에 대한 시작일을 설정할 수 있습니다. 또한 kerbtray로 Windows 자격 증명 캐시를 검사했으며 TGT는'MAY-POSTDATE '가 아닙니다. SSPI는이 주어진 TGT를 사용하기 때문에 내가 이해하는 한 당신은 늦은 전달 TGT를 가질 수 없습니다. 이 매우 구체적인 질문은 MIT Kerbros 메일 링리스트에서 제기해야합니다. devs의 의견을 듣고 싶습니다. –