OpenSSL und so
OpenSSL ist beständiger Quell der Verzweiflung für alle Netzwerk-Programmierer und Admins. Noch steigern lässt sich der Spaß aber mit zwei parallel installierten OpenSSL-Versionen (unter BSD häufig anzutreffen, weil das OS noch v0.9.x mitbringt und man sich dann ein v1.0.x aus den Ports dazuinstalliert).
Mit der Kombination musste ich letztens feststellen dass sich das benutzte Hash-Verfahren für X.509-Zertifikate änderte:
> /usr/bin/openssl version ; /usr/local/bin/openssl version OpenSSL 0.9.8q 2 Dec 2010 OpenSSL 1.0.0d 8 Feb 2011 > /usr/bin/openssl x509 -noout -hash -in astaca.pem ; /usr/local/bin/openssl x509 -noout -hash -in astaca.pem a3a544f7 aff0606f |
Das führte dann dazu dass eine Anwendung meine (im CApath-format hinterlegte) CA nicht benutzen wollte, obwohl beim ausführlichsten Test mit openssl {verify,s_client|s_server}
alles bestens funktionierte. :-/
Als eigentliches Problem entpuppte sich letztlich ein falscher $PATH
:
> which openssl /usr/bin/openssl |
Der insofern ‘falsch’ ist als dass die Anwendung halt gegen die nachinstallierte v1.0 in /usr/local
gelinkt ist. Aber darauf muss man erstmal kommen… ein Test mit /usr/local/bin/openssl verify
hätte echt viel Zeit gespart.