Create self signed certificate

Create certificate and private key

selfsigncert.sh:

#!/bin/bash
# For HTTPS servers remember to put the
# server FQDN in the CN.

basename="$1"
subject="$2"

KEY="$basename.key"
CSR="$basename.csr"
CRT="$basename.crt"

# Generate key
openssl genrsa -out "$KEY" 1024 || exit 1

# Certificate Signing Request (Remember to modify the signing request subject)
openssl req -new -key "$KEY" -out "$CSR" -subj "$subject" || exit 1

# Self sign
openssl x509 -req -days 1000 -in "$CSR" -out "$CRT" -signkey "$KEY" || exit 1

User/role certificate

./selfsigncert.sh myCert "/C=DK/O=my Organisation/OU=my Department/CN=my Name"

Web server certificate:

./selfsigncert.sh myCert "/C=DK/O=KB/OU=DIS/CN=myhost.kb.dk"

For self signed certificates, the .csr-file can be safely ignored

Optionally create java keystore from certificate, eg. for activemq


Convert the broker key and certificate to PKCS12 format - enter a password when prompted and use that password again for the next step

  openssl pkcs12 -export -in broker.crt -inkey broker.key -out broker.p12

Import the server key from the p12 file. Note that redhats builtin keytool is bogus!

  <path_to_jre_or_jdk>/keytool    \
          -importkeystore         \
          -srckeystore broker.p12 \
          -srcstoretype pkcs12    \
          -destkeystore broker.ks \
          -storepass 123456