<div dir="ltr"><div><div>Hi,<br></div>we got a problem with OCSP stapling.<br><br>During the handshake some browsers send TLS extension "certificate status" with more than 5 bytes in it.<br>In Nginx error_log it looks like:<br>
<br> [crit] 8721#0: *35 SSL_do_handshake() failed (SSL: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag error:0D08303A:asn1 enco<br>ding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error error:1408A0E3:SSL routines:SSL3_GET_CLIENT_HELLO:parse tlsext) while SSL handshaking, client:<br>
<br></div><div>If we disable OCSP stapling - everything works fine. Looks like the problem is on the browser side and in OpenSSL tls ext parsing function. But can we make it just ignore the incorrect (?) tls extension than dropping SSL hanshake?<br>
</div><div><br></div>Here is a list of user-agents which we were able to get on the same IPs after disabling OCSP stapling.<br><div><br>Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.16<br>Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.16<br>
Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16<br>Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36<br><br></div><div>PoC reproducing the problem attached.<br>
</div></div>