Ein Zertifikat wird oft so beschrieben, als mache es eine Website sicher, und das bringt Leute dazu, einem Schloss auf einer Website zu trauen, der überhaupt nicht zu trauen ist. Es beweist zwei bestimmte Dinge, und keines davon ist, dass das Geschäft ehrlich ist.

Was es beweist

  • Dass Sie mit dem Inhaber dieses Domainnamens sprechen. Jemand hat einer Zertifizierungsstelle die Kontrolle über die Domain nachgewiesen.
  • Dass niemand dazwischen den Verkehr lesen oder verändern kann. Die Verbindung ist verschlüsselt und ihre Unversehrtheit wird geprüft.

Was es nicht beweist

  • Dass die Firma hinter der Domain existiert oder vertrauenswürdig ist.
  • Dass die Seite keine Phishing-Seite ist - Phishing-Seiten haben gültige Zertifikate, und die meisten haben eines.
  • Dass die Anwendung sicher ist. Ein Zertifikat schützt die Leitung, nicht den Code dahinter.

Wie der Nachweis geführt wird

Auf drei Wegen, die alle die Kontrolle über die Domain beweisen: eine bestimmte Datei unter einer vorgegebenen URL ausliefern, auf Port 443 mit einem bestimmten Zertifikat antworten, oder einen TXT-Eintrag im DNS veröffentlichen. Nur der letzte kann ein Wildcard-Zertifikat ausstellen.

# what a certificate says about itself
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com < /dev/null 2>/dev/null \
  | openssl x509 -noout -subject -issuer -dates

Die Kette ist die andere Hälfte

Ihr Zertifikat ist von einem Intermediate signiert, das von einer Wurzel signiert ist, der der Browser bereits vertraut. Liefern Sie die Kette unvollständig aus, können manche Clients sie nicht prüfen - siehe eine unvollständige Zertifikatskette.

Woraus folgt

Kunden beizubringen, das Schloss als Echtheitsbeweis zu suchen, ist heute ein irreführender Rat. Es beweist die Verbindung, nicht das Gegenüber. Lesenswert ist der Domainname in der Adresszeile.

Ein kostenloses Zertifikat beweist genau so viel wie ein bezahltes - siehe Let's Encrypt gegen ein bezahltes Zertifikat.