Erstellen einer Root CA fuer Apache 2 Webserver ----------------------------------------------- OpenSSL installieren: ./config shared make && make test && make install Eigene Root CA erstellen: /usr/local/ssl/bin/openssl genrsa -des3 -out ca.key 1024 /usr/local/ssl/bin/openssl req -new -x509 -days 365 -key ca.key -out ca.crt Private Server-Key erstellen: /usr/local/ssl/bin/openssl genrsa -des3 -out server.key 1024 Inhalt anschauen: /usr/local/ssl/bin/openssl rsa -noout -text -in server.key Certificate Signing Request (CSR) erstellen CommonName ist URL: /usr/local/ssl/bin/openssl req -new -key server.key -out server.csr In /usr/local/ssl ein Script erstellen (sign.sh): #!/bin/sh ## ## sign.sh -- Sign a SSL Certificate Request (CSR) ## Copyright (c) 1998-2001 Ralf S. Engelschall, All Rights Reserved. ## # argument line handling CSR=$1 if [ $# -ne 1 ]; then echo "Usage: sign.sign .csr"; exit 1 fi if [ ! -f $CSR ]; then echo "CSR not found: $CSR"; exit 1 fi case $CSR in *.csr ) CERT="`echo $CSR | sed -e 's/\.csr/.crt/'`" ;; * ) CERT="$CSR.crt" ;; esac # make sure environment exists if [ ! -d ca.db.certs ]; then mkdir ca.db.certs fi if [ ! -f ca.db.serial ]; then echo '01' >ca.db.serial fi if [ ! -f ca.db.index ]; then cp /dev/null ca.db.index fi # create an own SSLeay config cat >ca.config < $CERT:" /usr/local/ssl/bin/openssl ca -config ca.config -out $CERT -infiles $CSR echo "CA verifying: $CERT <-> CA cert" /usr/local/ssl/bin/openssl verify -CAfile ca.crt $CERT # cleanup after SSLeay rm -f ca.config rm -f ca.db.serial.old rm -f ca.db.index.old # die gracefully exit 0 Danach: ./sign.sh server.csr Wichtige Dateien: server.key und server.crt Diese in die Verzeichnisse /usr/local/httpd/conf/ssl.crt und ssl.key kopieren. Mit /usr/local/httpd/bin/apachectl startssl starten!