Skip to main content

Gluu Server CE Cert import

🎯 Purpose

This guide explainsoutlines howthe process to securely fetchlog ainto self-signedthe orGluu internalServer virtual machine (VM), retrieve the Gluu server's TLS certificate from your Gluu server (gluu.mslspartners.com),certificate, import it into the Java truststore, and restart Gluu services to establishenable trusted internal HTTPS communicationcommunication.

internally.


πŸ” Logging into the Gluu VM

  1. πŸ–₯️ Open a terminal or SSH client on your admin machine.
  2. πŸ”Œ Connect to your Gluu Server via SSH:
    ssh root@your-gluu-server-ip
  3. πŸ’‘ If Gluu is running locally (e.g., in Proxmox/XCP-ng), log in via the hypervisor console directly as root.

🧰 Prerequisites

  • πŸ§‘β€πŸ’» Root or sudo access to the Gluu serverVM
  • 🌐 Domain name of your Gluu server:Gluu: gluu.mslspartners.com
  • πŸ”‘ Java truststore password (default: changeit or custom)
  • πŸ“¦ Installed tools:Tools: openssl, keytool, awk

πŸš€ Step-by-Step Instructions

1️⃣ Create athe Script File

nano /root/import-gluu-cert.sh

2️⃣ Paste the Script Below

#!/bin/bash

DOMAIN="gluu.mslspartners.com"
CERT_PATH="/etc/certs/gluu-full-chain.crt"
KEYSTORE_PATH="/opt/jre/lib/security/cacerts"
KEYSTORE_PASS="changeit"
ALIAS="gluu-remote"

echo "πŸ” Fetching certificate from $DOMAIN..."
openssl s_client -showcerts -connect ${DOMAIN}:443 </dev/null \
  | awk '/BEGIN CERT/,/END CERT/ { print }' > "$CERT_PATH"

if [[ $? -ne 0 ]]; then
  echo "❌ Failed to retrieve certificate."
  exit 1
fi

echo "πŸ—‘οΈ Removing old certificate (if it exists)any)..."
keytool -delete -alias "$ALIAS" -keystore "$KEYSTORE_PATH" -storepass "$KEYSTORE_PASS" 2>/dev/null

echo "βž• Importing new certificate..."
keytool -import -alias "$ALIAS" \
  -keystore "$KEYSTORE_PATH" \
  -trustcacerts -file "$CERT_PATH" \
  -storepass "$KEYSTORE_PASS" -noprompt

echo "πŸ” Restarting Gluu services..."
/root/restart-gluu.sh

echo "βœ… Import and restart complete!"

3️⃣ Make the Script Executable

chmod +x /root/import-gluu-cert.sh

4️⃣ Run the Script

/root/import-gluu-cert.sh

πŸ” Verifying Certificate Import

πŸ“„πŸ§Ύ Check CertificateTruststore in Truststore:Entry:

keytool -list -keystore /opt/jre/lib/security/cacerts -storepass changeit | grep gluu-remote

πŸ”πŸ”’ ConfirmCheck Active Truststore:Truststore in Java:

/opt/jre/bin/java -XshowSettings:properties -version 2>&1 | grep trustStore

πŸ“†πŸ“› CheckConfirm Issuer and Issuer/Subject:

openssl x509 -in /etc/certs/gluu-full-chain.crt -noout -issuer -subject

πŸ›  Troubleshooting

  • ❗ TrustSSL path errors:Errors: EnsureUsually mean the fullcert certificateisn't chain is present in gluu-full-chain.crt.
  • πŸ“ Missing file?trusted. Double-check /etc/certs/import exists and is writable.step.
  • πŸ”’ Permission denied?Denied: MakeEnsure sure you’you're running commands as root.
  • πŸ“œπŸ§± Service won'tNot restart?Restarting: CheckReview logs underin /opt/gluu/jetty/<componentapp>/logs/.

πŸ“πŸ“˜ Notes

  • This methodguide is tailored for internal/self-signed Gluu certificates.certificates.
  • For publicPublic CA certificates,certs ensureusually thedon’t fullrequire chainthis isstep validunless andusing trusteda bynon-standard your system.CA.
  • The script assumes a restart script exists at /root/restart-gluu.sh.