src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Context.java
changeset 58611 53ddf218eddd
parent 57487 643978a35f6e
child 58638 7be56b2ac50d
--- 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