Skip to content

Instantly share code, notes, and snippets.

@steini
Last active January 7, 2020 19:43
Show Gist options
  • Save steini/d40a59ae4a9036c4d5a4 to your computer and use it in GitHub Desktop.
Save steini/d40a59ae4a9036c4d5a4 to your computer and use it in GitHub Desktop.
import RDS certificates to java keystore on alpine / osx
#!/usr/bin/env sh
OLDDIR="$PWD"
if [ -z "$CACERTS_FILE" ]; then
CACERTS_FILE=$JAVA_HOME/jre/lib/security/cacerts
fi
mkdir /tmp/rds-ca && cd /tmp/rds-ca
echo "Downloading RDS certificates..."
curl https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem > rds-combined-ca-bundle.pem
csplit -sk rds-combined-ca-bundle.pem "/-BEGIN CERTIFICATE-/" "{$(grep -c 'BEGIN CERTIFICATE' rds-combined-ca-bundle.pem | awk '{print $1 - 2}')}"
for CERT in xx*; do
# extract a human-readable alias from the cert
ALIAS=$(openssl x509 -noout -text -in $CERT |
perl -ne 'next unless /Subject:/; s/.*CN=//; print')
echo "importing $ALIAS"
# import the cert into the default java keystore
keytool -import \
-keystore $CACERTS_FILE \
-storepass changeit -noprompt \
-alias "$ALIAS" -file $CERT
done
cd "$OLDDIR"
rm -r /tmp/rds-ca
@leonmax
Copy link

leonmax commented Jul 14, 2017

@steini, one suggestion though, is to import this into jssecacerts (and copy it from cacerts if not present)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment