Skip to content

Instantly share code, notes, and snippets.

@cadyyan
Last active August 12, 2019 06:27
Show Gist options
  • Select an option

  • Save cadyyan/8f377d36e3f815e501be84e38a685452 to your computer and use it in GitHub Desktop.

Select an option

Save cadyyan/8f377d36e3f815e501be84e38a685452 to your computer and use it in GitHub Desktop.
Let's Encrypt Java Certs
#!/bin/bash
download_cert() {
URL="https://letsencrypt.org/certs/${1}.der"
wget --quiet --no-clobber $URL
}
import_cert() {
CERT=$1
CERT_ALIAS=$2
if [ -z "$CERT_ALIAS" ];
then
CERT_ALIAS=${CERT%%.*}
fi
keytool -importcert -noprompt -trustcacerts \
-keystore "$KEYSTORE" -storepass changeit \
-alias "$CERT_ALIAS" -file "$CERT"
}
if [ -z "$JAVA_HOME" ];
then
echo "JAVA_HOME not set"
exit 1
fi
read -p "Updating keystore for JRE located at $JAVA_HOME. Is this correct? [y/N]: " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]
then
echo "Cancelled"
exit 1
fi
#KEYSTORE="$JAVA_HOME/jre/lib/security/cacerts"
echo "Downloading certificates..."
download_cert isrgrootx1
download_cert lets-encrypt-x1-cross-signed
download_cert lets-encrypt-x2-cross-signed
download_cert lets-encrypt-x3-cross-signed
download_cert lets-encrypt-x4-cross-signed
echo "Importing root certificate..."
import_cert isrgrootx1.der lets-encrypt-isrgrootx1
echo "Import cross-signed certificate 1..."
import_cert lets-encrypt-x1-cross-signed.der
echo "Import cross-signed certificate 2..."
import_cert lets-encrypt-x2-cross-signed.der
echo "Import cross-signed certificate 3..."
import_cert lets-encrypt-x3-cross-signed.der
echo "Import cross-signed certificate 4..."
import_cert lets-encrypt-x4-cross-signed.der
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment