From 5481bf876c5f89690dbb8298ce6ae04504eca6e8 Mon Sep 17 00:00:00 2001 From: donghongyu Date: Mon, 26 Dec 2022 12:13:02 +0800 Subject: [PATCH] =?UTF-8?q?[opt=203.0]=20[Change]=20[1=E3=80=81=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=B8=AD=E7=A7=91=E5=88=9B=E8=BE=BEEB5=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E7=AD=BE=E5=90=8D=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- keystore/EB5/platform.jks | Bin 0 -> 2899 bytes keystore/EB5/platform.pk8 | Bin 0 -> 1216 bytes keystore/EB5/platform.x509.pem | 27 ++++++ keystore/keytool-importkeypair.sh | 136 ++++++++++++++++++++++++++++++ 4 files changed, 163 insertions(+) create mode 100755 keystore/EB5/platform.jks create mode 100644 keystore/EB5/platform.pk8 create mode 100644 keystore/EB5/platform.x509.pem create mode 100755 keystore/keytool-importkeypair.sh diff --git a/keystore/EB5/platform.jks b/keystore/EB5/platform.jks new file mode 100755 index 0000000000000000000000000000000000000000..09071d3f17eb88c2fc5218d94c92b4a818295fd1 GIT binary patch literal 2899 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 literal 0 HcmV?d00001 diff --git a/keystore/EB5/platform.x509.pem b/keystore/EB5/platform.x509.pem new file mode 100644 index 0000000000..087f02e6a9 --- /dev/null +++ b/keystore/EB5/platform.x509.pem @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEqDCCA5CgAwIBAgIJALOZgIbQVs/6MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYD +VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g +VmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UE +AxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe +Fw0wODA0MTUyMjQwNTBaFw0zNTA5MDEyMjQwNTBaMIGUMQswCQYDVQQGEwJVUzET +MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4G +A1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9p +ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZI +hvcNAQEBBQADggENADCCAQgCggEBAJx4BZKsDV04HN6qZezIpgBuNkgMbXIHsSAR +vlCGOqvitV0Amt9xRtbyICKAx81Ne9smJDuKgGwms0sTdSOkkmgiSQTcAUk+fArP +GgXIdPabA3tgMJ2QdNJCgOFrrSqHNDYZUer3KkgtCbIEsYdeEqyYwap3PWgAuer9 +5W1Yvtjo2hb5o2AJnDeoNKbf7be2tEoEngeiafzPLFSW8s821k35CjuNjzSjuqtM +9TNxqydxmzulh1StDFP8FOHbRdUeI0+76TybpO35zlQmE1DsU1YHv2mi/0qgfbX3 +6iANCabBtJ4hQC+J7RGQiTqrWpGA8VLoL4WkV1PPX8GQccXuyCcCAQOjgfwwgfkw +HQYDVR0OBBYEFE/koLPdnLop9x1yh8Tnw48ghsKZMIHJBgNVHSMEgcEwgb6AFE/k +oLPdnLop9x1yh8Tnw48ghsKZoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UE +CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMH +QW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAG +CSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJALOZgIbQVs/6MAwGA1Ud +EwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBAFclUbjZOh9z3g9tRp+G2tZwFAAp +PIigzXzXeLc9r8wZf6t25iEuVsHHYc/EL9cz3lLFCuCIFM78CjtaGkNGBU2Cnx2C +tCsgSL+ItdFJKe+F9g7dEtctVWV+IuPoXQTIMdYT0Zk4u4mCJH+jISVroS0dao+S +6h2xw3Mxe6DAN/DRr/ZFrvIkl5+6bnoUvAJccbmBOM7z3fwFlhfPJIRc97QNY4L3 +J17XOElatuWTG5QhdlxJG3L7aOCA29tYwgKdNHyLMozkPvaosVUz7fvpib1qSN1L +IC7alMarjdW4OZID2q4u1EYjLk/pvZYTlMYwDlE448/Shebk5INTjLixs1c= +-----END CERTIFICATE----- diff --git a/keystore/keytool-importkeypair.sh b/keystore/keytool-importkeypair.sh new file mode 100755 index 0000000000..9faddc3050 --- /dev/null +++ b/keystore/keytool-importkeypair.sh @@ -0,0 +1,136 @@ +#! /bin/bash +# +# This file is part of keytool-importkeypair. +# +# keytool-importkeypair is free software: you can redistribute it +# and/or modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation, either version 3 of +# the License, or (at your option) any later version. +# +# keytool-importkeypair is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied warranty +# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with keytool-importkeypair. If not, see +# . +# + +DEFAULT_KEYSTORE=$HOME/.keystore +keystore=$DEFAULT_KEYSTORE +pk8="" +cert="" +alias="" +passphrase="" +tmpdir="" + +scriptname=`basename $0` + +usage() { +cat << EOF +usage: ${scriptname} [-k keystore] [-p storepass] +-pk8 pk8 -cert cert -alias key_alias +This script is used to import a key/certificate pair +into a Java keystore. +If a keystore is not specified then the key pair is imported into +~/.keystore in the user's home directory. +The passphrase can also be read from stdin. +EOF +} + +cleanup() { +if [ ! -z "${tmpdir}" -a -d ${tmpdir} ]; then + rm -fr ${tmpdir} +fi +} + +while [ $# -gt 0 ]; do + case $1 + in + -p | --passphrase | -passphrase) + passphrase=$2 + shift 2 + ;; + -h | --help) + usage + exit 0 + ;; + -k | -keystore | --keystore) + keystore=$2 + shift 2 + ;; + -pk8 | --pk8 | -key | --key) + pk8=$2 + shift 2 + ;; + -cert | --cert | -pem | --pem) + cert=$2 + shift 2 + ;; + -a | -alias | --alias) + alias=$2 + shift 2 + ;; + *) + echo "${scriptname}: Unknown option $1, exiting" 1>&2 + usage + exit 1 + ;; + esac +done + +if [ -z "${pk8}" -o -z "${cert}" -o -z "${alias}" ]; then + echo "${scriptname}: Missing option, exiting..." 1>&2 + usage + exit 1 +fi + + +for f in "${pk8}" "${cert}"; do + if [ ! -f "$f" ]; then + echo "${scriptname}: Can't find file $f, exiting..." 1>&2 + exit 1 + fi +done + +if [ ! -f "${keystore}" ]; then + storedir=`dirname "${keystore}"` + if [ ! -d "${storedir}" -o ! -w "${storedir}" ]; then + echo "${scriptname}: Can't access ${storedir}, exiting..." 1>&2 + exit 1 + fi +fi + +# Create temp directory ofr key and pkcs12 bundle +tmpdir=`mktemp -q -d "/tmp/${scriptname}.XXXX"` + +if [ $? -ne 0 ]; then + echo "${scriptname}: Can't create temp directory, exiting..." 1>&2 + exit 1 +fi + +key="${tmpdir}/key" +p12="${tmpdir}/p12" + +if [ -z "${passphrase}" ]; then + # Request a passphrase + read -p "Enter a passphrase: " -s passphrase + echo "" +fi + +# Convert PK8 to PEM KEY +openssl pkcs8 -inform DER -nocrypt -in "${pk8}" -out "${key}" + +# Bundle CERT and KEY +openssl pkcs12 -export -in "${cert}" -inkey "${key}" -out "${p12}" -password pass:"${passphrase}" -name "${alias}" + +# Print cert +echo -n "Importing \"${alias}\" with " +openssl x509 -noout -fingerprint -in "${cert}" + +# Import P12 in Keystore +keytool -importkeystore -deststorepass "${passphrase}" -destkeystore "${keystore}" -srckeystore "${p12}" -srcstoretype PKCS12 -srcstorepass "${passphrase}" + +# Cleanup +cleanup \ No newline at end of file