Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/test/sun/security/tools/keytool/selfissued.sh
38854 views
#1# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.2# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3#4# This code is free software; you can redistribute it and/or modify it5# under the terms of the GNU General Public License version 2 only, as6# published by the Free Software Foundation.7#8# This code is distributed in the hope that it will be useful, but WITHOUT9# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11# version 2 for more details (a copy is included in the LICENSE file that12# accompanied this code).13#14# You should have received a copy of the GNU General Public License version15# 2 along with this work; if not, write to the Free Software Foundation,16# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17#18# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19# or visit www.oracle.com if you need additional information or have any20# questions.21#2223# @test24# @bug 6825352 693797825# @summary support self-issued certificate in keytool and let -gencert generate the chain26#27# @run shell selfissued.sh28#2930if [ "${TESTJAVA}" = "" ] ; then31JAVAC_CMD=`which javac`32TESTJAVA=`dirname $JAVAC_CMD`/..33fi3435# set platform-dependent variables36OS=`uname -s`37case "$OS" in38Windows_* )39FS="\\"40;;41* )42FS="/"43;;44esac4546KS=selfsigned.jks47KT="$TESTJAVA${FS}bin${FS}keytool -storepass changeit -keypass changeit -keystore $KS -keyalg rsa"4849rm $KS5051$KT -alias ca -dname CN=CA -genkeypair52$KT -alias ca1 -dname CN=CA -genkeypair53$KT -alias ca2 -dname CN=CA -genkeypair54$KT -alias e1 -dname CN=E1 -genkeypair5556# ca signs ca1, ca1 signs ca2, all self-issued57$KT -alias ca1 -certreq | $KT -alias ca -gencert -ext san=dns:ca1 \58| $KT -alias ca1 -importcert59$KT -alias ca2 -certreq | $KT -alias ca1 -gencert -ext san=dns:ca2 \60| $KT -alias ca2 -importcert6162# Import e1 signed by ca2, should add ca2 and ca1, at least 3 certs in the chain63$KT -alias e1 -certreq | $KT -alias ca2 -gencert > e1.cert64$KT -alias ca1 -delete65$KT -alias ca2 -delete66cat e1.cert | $KT -alias e1 -importcert67$KT -alias e1 -list -v | grep '\[3\]' || { echo Bad E1; exit 1; }6869echo Good70717273