Ich glaube nicht, dass es sich dabei überall um Programmierfehler handelt - bzw. man greift da deutlich zu kurz, wenn man das einfach als Programmierfehler abtut. Es wird sicher auch solche darunter haben. Aber ich bin mir ziemlich sicher, es hat darunter viele Fälle, in welchen die Programmierer durchaus wissen, was sie tun und es mit voller Absicht tun. Nicht, weil sie böse sind oder den Nutzern schaden wollen. Sondern ganz einfach, weil sie Software schreiben wollen, die funktioniert (im Sinne von: ihren Hauptzweck ohne zu murren erfüllt).
In sehr vielen Anwendungsbereichen wird nämlich Software, die selbstsignierte und/oder abgelaufene Zertifikate nicht akzeptiert häufiger nicht funktionieren, als dass sie funktioniert. Und was tut der Nutzer dann? "Scheiss Software! So'n Mist ist ja nicht zu gebrauchen! ..."
Ich würde das viel eher als Zertifikat- bzw. Zertifizierungsproblem bezeichnen. Überall und an allen Ecken und Enden gibt es selbstsignierte und/oder abgelaufene Zertifikate. Und wieso ist das so? Zertifikate sind umständlich zu erhalten, teuer und nur lächerlich kurz gültig. In so einem Umfeld lässt sich gar keine sichere SSL-Software betreiben. Es ist ein Infrastruktur-Problem und nicht ein Programmierproblem.
Digitale Identitätsausweise (also Zertifikate) sind bzw. wären etwas vom Wichtigsten für das gute Funktionieren einer zunehmend digital funktionierenden Volkswirtschaft. Während es im analogen Leben als Staatsaufgabe betrachtet wird, Identitätsnachweise auszustellen, haben sich die europäischen Staaten bisher kaum um digitale IDs gekümmert. Bzw. sie beginnen damit erst zögerlich (z.B. Deutschland mit dem neuen Perso), beschränken sich dabei aber wie im analogen Leben ausschliesslich auf natürliche Personen. Den Rest überlässt man sich selbst bzw. einem Markt, der irgendwie nicht recht funktionieren will. Es gibt kaum europäische Anbieter. Und die Anbieter, die es weltweit gibt, bieten schlecht organisierte und nicht wirklich überzeugende Identifikationen und verkaufen überteuerte Zertifikate mit zu kurzen Laufzeiten. Mit dem Resultat, dass nur gerade dort, wo absolut sicherheitskritisch, anständige Zertifikate eingesetzt werden.
Und während insbesondere die europäischen Staaten sonst jeden erdenklichen Mist, der im freien Markt besser aufgehoben wäre, als Staatsaufgabe betrachten bzw. sich einmischen, geschieht bei diesem ziemlich kritischen Marktversagen einfach nichts. Und so wird bezüglich Zertifikate weiterhin gewurstelt und die Ursache für eine ganze Reihe von Sicherheitsproblemen weiterhin Anwendungsentwicklern in die Schuhe geschoben...