OCSP-Endpoint mit OpenSSL

In einem aktuellen Projekt nutzen wir eine eigene kleine CA auf Basis von OpenSSL, um Zertifikate für Entwicklungs- und Testumgebungen auszustellen. Zertifikate sollen jetzt per CRL und OCSP validiert werden. CRLs lassen sich mit dem Kommando openssl ca -gencrl … generieren und dann an die Clients verteilen. OCSP ist ein aktives Protokoll und benötigt dafür einen Server und einen passenden…

S/MIME mit BouncyCastle 1.46

Mit dem Ende Februar veröffentlichten BouncyCastle 1.46 wurden die APIs für die Ver- und Entschlüsselung von Nachrichten nach dem S/MIME-Standard teils stark verändert. Dies erhöht auf der einen Seite die Flexibilität, erfordert aber auf der anderen Seite eine Umstellung von bestehendem Code, wenn dieser nicht mehr die nun als „deprecated“ gekennzeichneten APIs nutzen soll.

Extraktion der Zertifikatskette mit OpenSSL

Es kommt gelegentlich vor, dass bei Serveranwendungen die SSL-Zertifikate ausgetauscht werden. Insbesondere bei einem gleichzeitigen Austausch von CA-Zertifikaten (weil z.B. eine neue Sub-CA für die Signierung neuer Zertifikate verwendet wird) kann es dabei dazu kommen, dass eine Applikation, die als Client auf die Serveranwendung zugreift die Vertrauenskette des Serverzertifikates nicht mehr prüfen kann und dann z.B. in Java mit einer SSLHandShakeException aussteigt. Um hier Abhilfe zu schaffen, benötigt man die CA-Zertifikate, die bei SSL-Handshakes mitgeschickt werden. Um diese zu extrahieren bietet sich das Tool s_client der openssl-Bibliothek an.