Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-7158329

NPE in sun.security.krb5.Credentials.acquireDefaultCreds()

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 8
    • 6u31, 7
    • security-libs
    • b36
    • x86
    • generic, windows_xp
    • Verified

        FULL PRODUCT VERSION :
        java version "1.6.0_26"
        Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
        Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

        ADDITIONAL OS VERSION INFORMATION :
        Microsoft Windows XP [Version 5.1.2600]

        A DESCRIPTION OF THE PROBLEM :
        Trying to invoke login with Krb5LoginModule, debug=false, doNotPrompt=true, useTicketCache=true, storeKey=false.

        When an empty file krb5cc_<username> in <userhome> exists, this throws a NullPointerException in sun.security.krb5.Credentials.acquireDefaultCreds().

        The cause is the following code:

                if (cache == null) {
                    cache = CredentialsCache.getInstance();
                }
                if (cache != null) {
                    if (DEBUG) {
                        System.out.println(">>> KrbCreds found the default ticket " +
                                           "granting ticket in credential cache.");
                    }
                    sun.security.krb5.internal.ccache.Credentials temp =
                        cache.getDefaultCreds();
                    if (EType.isSupported(temp.getEType())) {
                        result = temp.setKrbCreds();
                    } else {
                        if (DEBUG) {
                            System.out.println(
                                ">>> unsupported key type found the default TGT: " +
                                temp.getEType());
                        }
                    }
                }

        where cache.getDefaultCreds() can and will return null in case the ticket cache is empty, so the EType.isSupported(...) fails.


        REPRODUCIBILITY :
        This bug can be reproduced always.

              weijun Weijun Wang
              webbuggrp Webbug Group
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: