test/jdk/sun/security/tools/keytool/ListOrder.java
author weijun
Sat, 15 Jun 2019 14:39:04 +0800
changeset 55412 55a79ffab804
permissions -rw-r--r--
8225392: Comparison builds are failing due to cacerts file Reviewed-by: erikj, martin, mullan
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55412
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
     1
/*
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
     2
 * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
     4
 *
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
     7
 * published by the Free Software Foundation.
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
     8
 *
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    13
 * accompanied this code).
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    14
 *
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    18
 *
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    21
 * questions.
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    22
 */
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    23
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    24
/**
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    25
 * @test
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    26
 * @bug 8225392
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    27
 * @summary Comparison builds are failing due to cacerts file
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    28
 * @library /test/lib
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    29
 */
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    30
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    31
import jdk.test.lib.SecurityTools;
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    32
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    33
import java.util.Random;
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    34
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    35
public class ListOrder {
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    36
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    37
    public static void main(String[] args) throws Throwable {
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    38
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    39
        Random rand = new Random();
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    40
        for (int i = 0; i < 10; i++) {
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    41
            gen(String.format("a%02d", rand.nextInt(100)));
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    42
        }
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    43
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    44
        String last = "";
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    45
        for (String line : SecurityTools.keytool(
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    46
                "-keystore ks -storepass changeit -list").asLines()) {
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    47
            if (line.contains("PrivateKeyEntry")) {
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    48
                // This is the line starting with the alias
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    49
                System.out.println(line);
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    50
                if (line.compareTo(last) <= 0) {
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    51
                    throw new RuntimeException("Not ordered");
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    52
                } else {
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    53
                    last = line;
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    54
                }
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    55
            }
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    56
        }
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    57
    }
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    58
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    59
    static void gen(String a) throws Exception {
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    60
        // Do not check result, there might be duplicated alias(es).
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    61
        SecurityTools.keytool("-keystore ks -storepass changeit "
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    62
                + "-keyalg ec -genkeypair -alias " + a + " -dname CN=" + a);
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    63
    }
55a79ffab804 8225392: Comparison builds are failing due to cacerts file
weijun
parents:
diff changeset
    64
}