jdk/test/sun/security/krb5/UnknownCCEntry.java
changeset 7288 a38f3099e518
child 30820 0d4717a011d3
equal deleted inserted replaced
7287:fe038b724bcb 7288:a38f3099e518
       
     1 /*
       
     2  * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
       
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4  *
       
     5  * This code is free software; you can redistribute it and/or modify it
       
     6  * under the terms of the GNU General Public License version 2 only, as
       
     7  * published by the Free Software Foundation.
       
     8  *
       
     9  * This code is distributed in the hope that it will be useful, but WITHOUT
       
    10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    12  * version 2 for more details (a copy is included in the LICENSE file that
       
    13  * accompanied this code).
       
    14  *
       
    15  * You should have received a copy of the GNU General Public License version
       
    16  * 2 along with this work; if not, write to the Free Software Foundation,
       
    17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    18  *
       
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    20  * or visit www.oracle.com if you need additional information or have any
       
    21  * questions.
       
    22  */
       
    23 /*
       
    24  * @test
       
    25  * @bug 6979329
       
    26  * @summary CCacheInputStream fails to read ticket cache files from Kerberos 1.8.1
       
    27  */
       
    28 
       
    29 import java.io.ByteArrayInputStream;
       
    30 import java.io.File;
       
    31 import java.io.FileOutputStream;
       
    32 import sun.security.krb5.internal.ccache.CCacheInputStream;
       
    33 import sun.security.krb5.internal.ccache.CredentialsCache;
       
    34 
       
    35 public class UnknownCCEntry {
       
    36     public static void main(String[] args) throws Exception {
       
    37         // This is a ccache file generated on a test machine:
       
    38         // Default principal: dummy@MAX.LOCAL
       
    39         // Valid starting     Expires            Service principal
       
    40         // 08/24/10 10:37:28  08/25/10 10:37:28  krbtgt/MAX.LOCAL@MAX.LOCAL
       
    41         // Flags: FI, Etype (skey, tkt): AES-128 CTS mode with 96-bit SHA-1
       
    42         //        HMAC, AES-256 CTS mode with 96-bit SHA-1 HMAC
       
    43         byte[] krb5cc = {
       
    44             (byte)0x05, (byte)0x04, (byte)0x00, (byte)0x0C,
       
    45             (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x08,
       
    46             (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFA,
       
    47             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
    48             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01,
       
    49             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01,
       
    50             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x09,
       
    51             (byte)0x4D, (byte)0x41, (byte)0x58, (byte)0x2E,
       
    52             (byte)0x4C, (byte)0x4F, (byte)0x43, (byte)0x41,
       
    53             (byte)0x4C, (byte)0x00, (byte)0x00, (byte)0x00,
       
    54             (byte)0x05, (byte)0x64, (byte)0x75, (byte)0x6D,
       
    55             (byte)0x6D, (byte)0x79, (byte)0x00, (byte)0x00,
       
    56             (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x00,
       
    57             (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x00,
       
    58             (byte)0x00, (byte)0x09, (byte)0x4D, (byte)0x41,
       
    59             (byte)0x58, (byte)0x2E, (byte)0x4C, (byte)0x4F,
       
    60             (byte)0x43, (byte)0x41, (byte)0x4C, (byte)0x00,
       
    61             (byte)0x00, (byte)0x00, (byte)0x05, (byte)0x64,
       
    62             (byte)0x75, (byte)0x6D, (byte)0x6D, (byte)0x79,
       
    63             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
    64             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x02,
       
    65             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x09,
       
    66             (byte)0x4D, (byte)0x41, (byte)0x58, (byte)0x2E,
       
    67             (byte)0x4C, (byte)0x4F, (byte)0x43, (byte)0x41,
       
    68             (byte)0x4C, (byte)0x00, (byte)0x00, (byte)0x00,
       
    69             (byte)0x06, (byte)0x6B, (byte)0x72, (byte)0x62,
       
    70             (byte)0x74, (byte)0x67, (byte)0x74, (byte)0x00,
       
    71             (byte)0x00, (byte)0x00, (byte)0x09, (byte)0x4D,
       
    72             (byte)0x41, (byte)0x58, (byte)0x2E, (byte)0x4C,
       
    73             (byte)0x4F, (byte)0x43, (byte)0x41, (byte)0x4C,
       
    74             (byte)0x00, (byte)0x11, (byte)0x00, (byte)0x00,
       
    75             (byte)0x00, (byte)0x10, (byte)0x92, (byte)0x1D,
       
    76             (byte)0x1A, (byte)0x0C, (byte)0x7F, (byte)0xB8,
       
    77             (byte)0x01, (byte)0x2E, (byte)0xC9, (byte)0xF5,
       
    78             (byte)0x7B, (byte)0x92, (byte)0x81, (byte)0xCA,
       
    79             (byte)0x49, (byte)0xC5, (byte)0x4C, (byte)0x73,
       
    80             (byte)0x30, (byte)0x68, (byte)0x4C, (byte)0x73,
       
    81             (byte)0x30, (byte)0x68, (byte)0x4C, (byte)0x74,
       
    82             (byte)0x81, (byte)0xE8, (byte)0x00, (byte)0x00,
       
    83             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x40,
       
    84             (byte)0x41, (byte)0x00, (byte)0x00, (byte)0x00,
       
    85             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
    86             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
    87             (byte)0x00, (byte)0x01, (byte)0x29, (byte)0x61,
       
    88             (byte)0x82, (byte)0x01, (byte)0x25, (byte)0x30,
       
    89             (byte)0x82, (byte)0x01, (byte)0x21, (byte)0xA0,
       
    90             (byte)0x03, (byte)0x02, (byte)0x01, (byte)0x05,
       
    91             (byte)0xA1, (byte)0x0B, (byte)0x1B, (byte)0x09,
       
    92             (byte)0x4D, (byte)0x41, (byte)0x58, (byte)0x2E,
       
    93             (byte)0x4C, (byte)0x4F, (byte)0x43, (byte)0x41,
       
    94             (byte)0x4C, (byte)0xA2, (byte)0x1E, (byte)0x30,
       
    95             (byte)0x1C, (byte)0xA0, (byte)0x03, (byte)0x02,
       
    96             (byte)0x01, (byte)0x00, (byte)0xA1, (byte)0x15,
       
    97             (byte)0x30, (byte)0x13, (byte)0x1B, (byte)0x06,
       
    98             (byte)0x6B, (byte)0x72, (byte)0x62, (byte)0x74,
       
    99             (byte)0x67, (byte)0x74, (byte)0x1B, (byte)0x09,
       
   100             (byte)0x4D, (byte)0x41, (byte)0x58, (byte)0x2E,
       
   101             (byte)0x4C, (byte)0x4F, (byte)0x43, (byte)0x41,
       
   102             (byte)0x4C, (byte)0xA3, (byte)0x81, (byte)0xEC,
       
   103             (byte)0x30, (byte)0x81, (byte)0xE9, (byte)0xA0,
       
   104             (byte)0x03, (byte)0x02, (byte)0x01, (byte)0x12,
       
   105             (byte)0xA1, (byte)0x03, (byte)0x02, (byte)0x01,
       
   106             (byte)0x01, (byte)0xA2, (byte)0x81, (byte)0xDC,
       
   107             (byte)0x04, (byte)0x81, (byte)0xD9, (byte)0xFB,
       
   108             (byte)0x4B, (byte)0xD2, (byte)0x55, (byte)0x33,
       
   109             (byte)0xA8, (byte)0x1A, (byte)0xE6, (byte)0xB5,
       
   110             (byte)0x3D, (byte)0x67, (byte)0x46, (byte)0x69,
       
   111             (byte)0x6F, (byte)0x0A, (byte)0x64, (byte)0xE7,
       
   112             (byte)0x3D, (byte)0xEF, (byte)0x22, (byte)0xBE,
       
   113             (byte)0x81, (byte)0x32, (byte)0xF3, (byte)0x72,
       
   114             (byte)0xB4, (byte)0x50, (byte)0xE3, (byte)0xC3,
       
   115             (byte)0xDB, (byte)0xE5, (byte)0x38, (byte)0x3C,
       
   116             (byte)0x60, (byte)0xC8, (byte)0x08, (byte)0x53,
       
   117             (byte)0x44, (byte)0x6F, (byte)0xDF, (byte)0x55,
       
   118             (byte)0x67, (byte)0x32, (byte)0x02, (byte)0xDD,
       
   119             (byte)0x6B, (byte)0xFB, (byte)0x23, (byte)0x1A,
       
   120             (byte)0x88, (byte)0x71, (byte)0xE0, (byte)0xF8,
       
   121             (byte)0xBB, (byte)0x51, (byte)0x1E, (byte)0x76,
       
   122             (byte)0xC9, (byte)0x1F, (byte)0x45, (byte)0x9B,
       
   123             (byte)0xA0, (byte)0xA5, (byte)0x61, (byte)0x45,
       
   124             (byte)0x9E, (byte)0x65, (byte)0xB8, (byte)0xD6,
       
   125             (byte)0x0E, (byte)0x3C, (byte)0xD9, (byte)0x56,
       
   126             (byte)0xD6, (byte)0xA6, (byte)0xDD, (byte)0x36,
       
   127             (byte)0x21, (byte)0x25, (byte)0x0E, (byte)0xE6,
       
   128             (byte)0xAD, (byte)0xA0, (byte)0x3A, (byte)0x9B,
       
   129             (byte)0x21, (byte)0x87, (byte)0xE2, (byte)0xAF,
       
   130             (byte)0x3A, (byte)0xEF, (byte)0x75, (byte)0x85,
       
   131             (byte)0xA8, (byte)0xD7, (byte)0xE5, (byte)0x46,
       
   132             (byte)0xD8, (byte)0x5C, (byte)0x17, (byte)0x4E,
       
   133             (byte)0x64, (byte)0x51, (byte)0xDB, (byte)0x38,
       
   134             (byte)0x8E, (byte)0x6B, (byte)0x02, (byte)0x05,
       
   135             (byte)0x46, (byte)0x77, (byte)0xD0, (byte)0x75,
       
   136             (byte)0x8A, (byte)0xE0, (byte)0x42, (byte)0x5E,
       
   137             (byte)0x8D, (byte)0x49, (byte)0x86, (byte)0xDE,
       
   138             (byte)0x6C, (byte)0xBC, (byte)0xAF, (byte)0x10,
       
   139             (byte)0x9A, (byte)0x97, (byte)0x64, (byte)0xA6,
       
   140             (byte)0xBD, (byte)0xDB, (byte)0x01, (byte)0x40,
       
   141             (byte)0xA9, (byte)0x3D, (byte)0x74, (byte)0x99,
       
   142             (byte)0xDC, (byte)0x63, (byte)0x34, (byte)0x40,
       
   143             (byte)0x31, (byte)0x57, (byte)0xC7, (byte)0x70,
       
   144             (byte)0x9F, (byte)0xCE, (byte)0xC6, (byte)0x7B,
       
   145             (byte)0x00, (byte)0x5B, (byte)0x02, (byte)0x5C,
       
   146             (byte)0xC7, (byte)0x81, (byte)0x40, (byte)0x4D,
       
   147             (byte)0xA7, (byte)0xB1, (byte)0xD2, (byte)0xEA,
       
   148             (byte)0x8E, (byte)0xEC, (byte)0xA0, (byte)0xB3,
       
   149             (byte)0x03, (byte)0x29, (byte)0xB8, (byte)0x44,
       
   150             (byte)0xD7, (byte)0xA1, (byte)0x2B, (byte)0x37,
       
   151             (byte)0x9D, (byte)0x19, (byte)0x11, (byte)0x1D,
       
   152             (byte)0x58, (byte)0xE8, (byte)0x06, (byte)0xE7,
       
   153             (byte)0x06, (byte)0xE3, (byte)0xF7, (byte)0xEF,
       
   154             (byte)0x05, (byte)0xA9, (byte)0x05, (byte)0x93,
       
   155             (byte)0x42, (byte)0x94, (byte)0x5A, (byte)0xD6,
       
   156             (byte)0xA0, (byte)0x24, (byte)0x3A, (byte)0x52,
       
   157             (byte)0x92, (byte)0xA3, (byte)0x79, (byte)0x98,
       
   158             (byte)0x3C, (byte)0x68, (byte)0x55, (byte)0x1B,
       
   159             (byte)0x6A, (byte)0xC5, (byte)0x83, (byte)0x89,
       
   160             (byte)0x5A, (byte)0x79, (byte)0x5C, (byte)0x52,
       
   161             (byte)0xBA, (byte)0xB8, (byte)0xF7, (byte)0x72,
       
   162             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
   163             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01,
       
   164             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01,
       
   165             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x09,
       
   166             (byte)0x4D, (byte)0x41, (byte)0x58, (byte)0x2E,
       
   167             (byte)0x4C, (byte)0x4F, (byte)0x43, (byte)0x41,
       
   168             (byte)0x4C, (byte)0x00, (byte)0x00, (byte)0x00,
       
   169             (byte)0x05, (byte)0x64, (byte)0x75, (byte)0x6D,
       
   170             (byte)0x6D, (byte)0x79, (byte)0x00, (byte)0x00,
       
   171             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
   172             (byte)0x00, (byte)0x03, (byte)0x00, (byte)0x00,
       
   173             (byte)0x00, (byte)0x0C, (byte)0x58, (byte)0x2D,
       
   174             (byte)0x43, (byte)0x41, (byte)0x43, (byte)0x48,
       
   175             (byte)0x45, (byte)0x43, (byte)0x4F, (byte)0x4E,
       
   176             (byte)0x46, (byte)0x3A, (byte)0x00, (byte)0x00,
       
   177             (byte)0x00, (byte)0x15, (byte)0x6B, (byte)0x72,
       
   178             (byte)0x62, (byte)0x35, (byte)0x5F, (byte)0x63,
       
   179             (byte)0x63, (byte)0x61, (byte)0x63, (byte)0x68,
       
   180             (byte)0x65, (byte)0x5F, (byte)0x63, (byte)0x6F,
       
   181             (byte)0x6E, (byte)0x66, (byte)0x5F, (byte)0x64,
       
   182             (byte)0x61, (byte)0x74, (byte)0x61, (byte)0x00,
       
   183             (byte)0x00, (byte)0x00, (byte)0x0A, (byte)0x66,
       
   184             (byte)0x61, (byte)0x73, (byte)0x74, (byte)0x5F,
       
   185             (byte)0x61, (byte)0x76, (byte)0x61, (byte)0x69,
       
   186             (byte)0x6C, (byte)0x00, (byte)0x00, (byte)0x00,
       
   187             (byte)0x1A, (byte)0x6B, (byte)0x72, (byte)0x62,
       
   188             (byte)0x74, (byte)0x67, (byte)0x74, (byte)0x2F,
       
   189             (byte)0x4D, (byte)0x41, (byte)0x58, (byte)0x2E,
       
   190             (byte)0x4C, (byte)0x4F, (byte)0x43, (byte)0x41,
       
   191             (byte)0x4C, (byte)0x40, (byte)0x4D, (byte)0x41,
       
   192             (byte)0x58, (byte)0x2E, (byte)0x4C, (byte)0x4F,
       
   193             (byte)0x43, (byte)0x41, (byte)0x4C, (byte)0x00,
       
   194             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
   195             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
   196             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
   197             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
   198             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
   199             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
   200             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
   201             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
   202             (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
       
   203             (byte)0x00, (byte)0x03, (byte)0x79, (byte)0x65,
       
   204             (byte)0x73, (byte)0x00, (byte)0x00, (byte)0x00,
       
   205             (byte)0x00,
       
   206         };
       
   207 
       
   208         File f = File.createTempFile("ccache", "cc", new File("."));
       
   209         FileOutputStream fout = new FileOutputStream(f);
       
   210         fout.write(krb5cc);
       
   211         fout.close();
       
   212 
       
   213         CredentialsCache cc = CredentialsCache.getInstance(f.getPath());
       
   214         if (!cc.getDefaultCreds().getServicePrincipal().getNameStrings()[0]
       
   215                 .equals("krbtgt")) {
       
   216             throw new Exception("No TGT found");
       
   217         }
       
   218     }
       
   219 }