zertifikat

Glitch: SSL/TLS Sicherheit

Written by  on Juni 16, 2023

Wie könnten wir SSL/TLS Sicherheit erhöhen?
Am besten wir verstecken die Informationen aus dem Zertifikat noch besser.
Futurezone: Schloss-Symbol in Google Chrome wird ersetzt
Was sicher ist, bestimmen wir!

Let’s Encrypt Alternative Buypass

Written by  on März 1, 2020

Es gibt eine Alternative zu Let’s Encrypt (LE): Buypass
Nichts gegen LE, aber eine Backup CA zu haben kann nicht verkehrt sein.
Einen vorhandenen Certbot von LE kann man recht einfach umstellen, erklärt unter Certbot basic usage
Recht schnell zeigt sich, dass hier keinen Umleitungen gefolgt wird und man HTTP auf Port 80 offen braucht.
Fehlermeldung im Certbot Log:

{"type":"compound","detail":"Errors during validation","subproblems":[{"type":"urn:ietf:params:acme:error:connection","detail":"The server could not connect to validation target","code":0}

Problembeschreibung im Buypass Forum
Auch LE empfiehlt Port 80 offen zu haben

Having a backup CA for Let’s Encrypt

SSL Fehler

Written by  on März 18, 2018

Ist schon wieder ein paar Tage her. Aber woher kam dieser Fehler? War nur einmal sichtbar. Foglende Aufrufe haben wieder funktioniert.

Verify X509 Certificate

Written by  on September 8, 2017

Es ist nicht ausreichend nur den Private Key zu überprüfen!
OpenSSL bietet auch eine einfache Möglichkeit einen CSR zu prüfen:

openssl req -in example.csr -verify
verify OK

Beim Public Key wird es komplizierter. Einzig eine Prüfung mit der Signatur der übergeordneten CA hilft. Hier eine erste Version eines Prüfscriptes.

#!/bin/bash
if [[ $# -ne 1 ]]; then
  echo "Wrong number of arguments."
  exit 1
fi

FILE=$1

# Allows to configure different openssl version
OPENSSL=$(which openssl)
TEMPDIR="/tmp
USERAGENT="CustomUserAgent"
# A proxy server would also get configured here
WGETOPTS="--user-agent=${USERAGENT} --timeout=5 --tries=1 -e"

SIGNER=$($OPENSSL x509 -in ${FILE} -text -noout | grep "CA Issuers - URI:http" | cut -d":" -f2- | tr -d '\r')
if [[ -z $SIGNER ]]; then
  echo "No issuer certificate found for download."
  exit 1
fi
SIGNERFILE=$(awk -F'/' '{print $NF}' <<<$SIGNER)

/usr/bin/wget $WGETOPTS $SIGNER -O $TEMPDIR/$SIGNERFILE >/dev/null 2>&1

# Try to convert to PEM
$OPENSSL x509 -inform der -in $TEMPDIR/$SIGNERFILE -out $TEMPDIR/$SIGNERFILE.cer 2>/dev/null
if [[ -s $TEMPDIR/$SIGNERFILE.cer ]]; then
  # use converted file, if conversation was successfull
  SIGNERFILE="$SIGNERFILE.cer"
fi
echo -n "Certificate verification: "
$OPENSSL verify -CAfile $TEMPDIR/$SIGNERFILE -partial_chain $FILE 2>&1 | grep -e "certificate signature failure" -e "OK" | cut -d":" -f2

# Cleanup
if [[ ! -z $SIGNERFILE ]]; then
  /bin/rm $TEMPDIR/$SIGNERFILE*
fi