--- a/src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Context.java Mon Mar 25 17:15:27 2019 +0000
+++ b/src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Context.java Fri Apr 19 10:22:20 2019 +0800
@@ -617,6 +617,8 @@
if (myCred == null) {
myCred = Krb5InitCredential.getInstance(caller, myName,
GSSCredential.DEFAULT_LIFETIME);
+ myCred = Krb5ProxyCredential.tryImpersonation(
+ caller, (Krb5InitCredential)myCred);
} else if (!myCred.isInitiatorCredential()) {
throw new GSSException(errorCode, -1,
"No TGT available");
@@ -653,8 +655,8 @@
// highly consider just calling:
// Subject.getSubject
// SubjectComber.find
- // instead of Krb5Util.getTicket
- return Krb5Util.getTicket(
+ // instead of Krb5Util.getServiceTicket
+ return Krb5Util.getServiceTicket(
GSSCaller.CALLER_UNKNOWN,
// since it's useSubjectCredsOnly here,
// don't worry about the null