#!/bin/bash # # # This scripts generates: # - root CA certificate # - server certificate and keystore # - client keys # # https://cwiki.apache.org/confluence/display/KAFKA/Deploying+SSL+for+Kafka # if [[ "$1" == "-k" ]]; then USE_KEYTOOL=1 shift else USE_KEYTOOL=0 fi OP="$1" CA_CERT="$2" PFX="$3" HOST="$4" C=NN ST=NN L=NN O=NN OU=NN CN="$HOST" # Password PASS="abcdefgh" # Cert validity, in days VALIDITY=10000 set -e export LC_ALL=C if [[ $OP == "ca" && ! -z "$CA_CERT" && ! -z "$3" ]]; then CN="$3" openssl req -new -x509 -keyout ${CA_CERT}.key -out $CA_CERT -days $VALIDITY -passin "pass:$PASS" -passout "pass:$PASS" < " echo " $0 [-k] server|client " echo "" echo " -k = Use keytool/Java Keystore, else standard SSL keys" exit 1 fi