[Public] Neues SSL-Zertifikat

Ralf Jung post at ralfj.de
So Mär 2 12:09:37 CET 2014


Hallo,

ein Freund von mir den RSS-Feed unseren Forums mit seinem TinyRSS
getestet, und da ging's. Von daher sehe ich diesen [0] Bug als gefixed
an, und die neuen Zertifikate sind "permanent" (Gültigkeitsdauer: 500
Tage). Conny, wenn du CryptoArt machen willst wäre das dann vermutlich
eine vernünftige Basis.
Über die Gültigkeitsdauer könnten wir noch diskutieren, aber mehr als 2
Jahre (bzw. 700 Tage) halte ich nicht für sinnvoll.

[0]: <https://forum.hacksaar.de/showthread.php?tid=41&pid=156#pid156>

Im Anhang findet ihr außerdem ein Shell-Script, das solche Zertifikate
(also mit zwei Domains, Haupt-Domain und Wildcard) erstellen kann. Das
ist nämlich leider ziemlich grausig. Tobi, ich hoffe das hilft dir, gib
bitte Bescheid, falls was nicht funktioniert :D

Viele Grüße,
Ralf

On 26/02/14 22:36, Ralf Jung wrote:
> Hallo nochmal,
> 
> heute wechseln wir Zertifikate wie Hemden... der neue neue
> Fingerabdruckt - jetzt für hacksaar.de *und* alle Subdomains, und
> hoffentlich klappt das auch - ist:
> E6:6F:22:A9:67:8B:3B:43:C5:54:7D:56:E8:6E:A2:C6:1F:56:F1:51
> 
> Viele Grüße,
> Ralf
-------------- nächster Teil --------------
#!/bin/sh
set -e
# SSL-Zertifikate erstellen.
# Und zwar so, dass Apache nicht meckert (also mit eigenem CA-Key), und dass es auch
# für alle Subdomains gilt.
# Am Besten startest du dieses Skript, wenn du im Ordner /etc/ssl/private bist.

# Parameter (WICHTIG: die CA muss anders heißen als die Domain)
DOMAIN=ralfj.de
FILE=$DOMAIN.2014
DOMAIN_VALIDITY=729
CA=ca.$DOMAIN
CAFILE=$CA.2014
CA_VALIDITY=730 # should be more than 

COUNTRY=DE
STATE=Germany
LOCATION="Somewhere in Germany"
ORGANIZATION="Awesome Organization"
ORGANIZATIONAL_UNIT="Master of the Universe"
EMAIL=admin@$DOMAIN

# Sollen wir eine neue CA machen?
read -p "Should I create a new CA? (y/N) "
echo
if [[ $REPLY =~ ^[Yy][a-zA-Z]*$ ]]
then
    # CA-Config erstellen
	cat > $CA.cnf <<-EOF
		[req]
		distinguished_name = distinguished_name
		prompt = no

		[distinguished_name]
		C  = $COUNTRY
		ST = $STATE
		L  = $LOCATION
		O  = $ORGANIZATION
		OU = $ORGANIZATIONAL_UNIT
		CN = $CA
		emailAddress = $EMAIL
	EOF
	# CA erstellen
	echo "Creating CA"
	openssl genrsa -aes256 -out $CAFILE.key 4096
	openssl req -new -x509 -config $CA.cnf -days $CA_VALIDITY -sha256 -key $CAFILE.key -out $CAFILE.crt
fi

# Domain-Cert-Config erstellen
cat > $DOMAIN.cnf <<-EOF
	[req]
	distinguished_name = distinguished_name
	req_extensions = extensions
	prompt = no

	[distinguished_name]
	C  = $COUNTRY
	ST = $STATE
	L  = $LOCATION
	O  = $ORGANIZATION
	OU = $ORGANIZATIONAL_UNIT
	CN = $DOMAIN
	emailAddress = $EMAIL

	[extensions]
	basicConstraints = CA:FALSE
	subjectAltName = @alt_names

	[alt_names]
	DNS.1 = $DOMAIN
	DNS.2 = *.$DOMAIN
EOF
# Domain-Cert erstellen und signieren
echo "Creating and signing domain key and certificate"
openssl genrsa -out $FILE.key 4096
openssl req -new -config $DOMAIN.cnf -key $FILE.key -out $FILE.csr
openssl x509 -req -in $FILE.csr -out $FILE.crt -sha256 -CA $CAFILE.crt -CAkey $CAFILE.key -CAcreateserial -days $DOMAIN_VALIDITY -extensions extensions -extfile $DOMAIN.cnf
# Domain-Cert-Hash ausgeben
echo
echo "Fingerprint, subject and dates of your domain certificate:"
openssl x509 -subject -dates -fingerprint -in $FILE.crt -out /dev/null
# Ein komplettes Zertifikat ausgeben: openssl x509 -in $FILE.crt -text

echo
echo "Make sure to link the crt files from /etc/ssl/mycerts"


# = Konfiguration der Server =
# 
# == Apache ==
# 
# Einfach die Pfade zur .crt und .key angeben
# 
# 
# == Mumble ==
# 
# Mumble braucht die eigene CA in /etc/ssl/certs/ca-certificates.crt
# Damit das sauber geschieht:
#   ln -s /etc/ssl/mycerts /usr/share/ca-certificates/mycerts
# Und dan in /etc/ca-certificates.conf ganz unten einfügen
#   mycerts/ca.ralfj.de.2013.crt
# Dann läuft auch Mumble wieder.
# 
# == Postfix ==
# 
# Einfach die Pfade zur .crt und .key angeben
# 
# == Dovecot ==
# 
# Einfach die Pfade zur .crt und .key angeben
# 
# == ejabberd ==
# 
# ejabberd will key und crt in einer einzigen Datei haben:
#   cat ralfj.de.2013.key ../mycerts/ralfj.de.2013.crt > ralfj.de.2013.key+crt
# Denk dran die Berechtigungen zu ändern!
# In der ejabberd.cfg gibt es mehere Stellen, wo der Dateiname geändert werden muss.
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 538 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://lists.hacksaar.de/pipermail/public/attachments/20140302/63daae9a/attachment.pgp>


More information about the Public mailing list