--- a/jdk/src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java Sat Oct 06 13:56:16 2012 +0100
+++ b/jdk/src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java Mon Oct 08 10:42:43 2012 +0800
@@ -1064,12 +1064,17 @@
if (storeKey) {
if (encKeys == null) {
- if (!privCredSet.contains(ktab)) {
- privCredSet.add(ktab);
- // Compatibility; also add keys to privCredSet
- for (KerberosKey key: ktab.getKeys(kerbClientPrinc)) {
- privCredSet.add(new Krb5Util.KeysFromKeyTab(key));
+ if (ktab != null) {
+ if (!privCredSet.contains(ktab)) {
+ privCredSet.add(ktab);
+ // Compatibility; also add keys to privCredSet
+ for (KerberosKey key: ktab.getKeys(kerbClientPrinc)) {
+ privCredSet.add(new Krb5Util.KeysFromKeyTab(key));
+ }
}
+ } else {
+ succeeded = false;
+ throw new LoginException("No key to store");
}
} else {
for (int i = 0; i < kerbKeys.length; i ++) {