add-to-truststore 802 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/bin/bash
  2. set -euo pipefail
  3. TRUSTSTORE="${1:-}"
  4. if [[ -z "$TRUSTSTORE" ]]; then
  5. echo "Usage: $0 <truststore.p12>" >&2
  6. exit 1
  7. fi
  8. PASSWORD="password"
  9. # Temp workspace
  10. WORKDIR=$(mktemp -d)
  11. trap "rm -rf $WORKDIR" EXIT
  12. # Extract from tar input
  13. tar -C "$WORKDIR" -xf -
  14. ALIAS=$(cat "$WORKDIR/alias")
  15. CA_CERT="$WORKDIR/ca.pem"
  16. DER_CERT="$WORKDIR/ca.der"
  17. # Convert to DER format for keytool
  18. openssl x509 -in "$CA_CERT" -outform DER -out "$DER_CERT"
  19. # If alias exists, delete
  20. if [[ -f "$TRUSTSTORE" ]]; then
  21. keytool -delete -alias "$ALIAS" -keystore "$TRUSTSTORE" \
  22. -storepass "$PASSWORD" -storetype PKCS12 || true
  23. fi
  24. # Import into truststore
  25. keytool -importcert -noprompt \
  26. -alias "$ALIAS" \
  27. -file "$DER_CERT" \
  28. -keystore "$TRUSTSTORE" \
  29. -storetype PKCS12 \
  30. -storepass "$PASSWORD"