DANE stunnel
Stunnel dane
Vorüberlegung
OpenSSL DANE support
Derzeit keiner. Weil stunnel auf OpenSSL aufsetzt, ist die Idee, DANE basierend auf dem bestehenden OpenSSL Code bereitzustellen.
Postfix Implementation
Postfix implementiert DANE auf Basis von OpenSSL. Also genau das, was wir auch machen möchten. Idee: Routinen aus Testsuite nach stunnel portieren. Ergebnis: Postfix copy pastet Code aus OpenSSL 1.0.1 und maintained diesen scheinbar lange genug nichtmehr, um die Tests brechen zu lassen. Nach einigen Stunden geben wir auf.
GnuTLS
GnuTLS implementiert DANE bereits und stellt die Funktionalität in der libdane bereit. Der DNSSEC Teil basiert auf libunbound, welches als Abhängigkeit bereit stehen muss.
unbound
Initial muss der DNSSEC root key von data.iana.org bezogen werden. Falls unbound installiert: unbound-anchor -a "/etc/unbound/root.key"
libdane
dane_verify_crt erwartet ein Zertifikat (bzw. Zertifikatskette wenn mit intermediate) im PEM Format. OpenSSL kann das leisten.
Deshalb: stunnel hält im verification Teil (verify.c) das Zertifikat des Servers, zu dem eine Verbindung aufgebaut werden soll. Dieses wird übergenen an dane_verify_crt, welches das DANE Ergebnis zurückliefert.
Test
DNSSEC/TLSA Validator für Firefox
danetool ist Teil von GnuTLS
https://good.dane.verisignlabs.com/