<div dir="ltr">That's certainly a very good idea!<div><br></div><div>I'm not so sure about the RC4 in there - it should be Java7 compatible with CBC as well, right? Let's include this. Any comments from other people?</div>
<div><br></div><div>Aaron</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Nov 12, 2013 at 11:44 PM, Adi Kriegisch <span dir="ltr"><<a href="mailto:adi@kriegisch.at" target="_blank">adi@kriegisch.at</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey!<br>
<div><div class="h5"><br>
> >> PS: For Java7 this trick will not work as Java7 supports sni and needs the<br>
> >> "strong crypto pack" to enable stronger ciphers.<br>
> > Are there _really_ any Browsers written in Java that people actually use? Or is Java “only” used to access Web-APIs? In the latter case one could specifically narrow access without impacting common browsers. Or am I totally thinking in the wrong direction here? (Or is it just that I'm allergic to Java that I try to find excuses to not support it?)<br>

> Everybody is allergic to java except for java programmers. Java is used by so many things - you can’t work around it - There might come a time (like with flash) that it is in fact obsolete, but that will take a long time. Java is heavily used in webapps and GUIs that use HTTPS. We’ll need to find a solution.<br>

</div></div>Ok, another idea: not even sni config is needed. For apache, nginx and I am<br>
sure and for lighttpd I assume the following is possible:<br>
Add (for the sake of simplicity) on weak cipher supported by about every<br>
client out there (something like DHE+AES128+RC4+SHA comes to my mind) as a<br>
"last ressort". Then add a condition to your web server redirecting to a<br>
special page based on the cipher:<br>
in apache<br>
 RewriteCond %{ENV:SSL_CIPHER} = "MY_CIPHER_STRING_FROM_ABOVE"<br>
 RewriteRule ...whereever we want to send that guy...<br>
<br>
in nginx<br>
 if ($ssl_cipher ~ "MY_CIPHER_STRING_FROM_ABOVE") {<br>
     rewrite ...whereever we want to send that guy...;<br>
 }<br>
<br>
This has three advantages:<br>
It is more generic than the sni approach<br>
It doesn't need a modification on the application level<br>
It catches Java7 too<br>
<br>
One may even extend that to detecting the client string and redirect to a<br>
certain page for a client (like a page that tells Java people to enable<br>
reasonable crypto).<br>
<br>
The disadvantage is obvious: there is a certain overhead in checking that<br>
conditional on every request. When using a default Apache with all/most<br>
modules enabled, people are used to pain and won't notice the difference in<br>
speed. Also compared to a complete SSL/TLS handshake the difference might<br>
be negligible.<br>
<span class="HOEnZb"><font color="#888888"><br>
-- Adi<br>
</font></span><br>-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v1.4.6 (GNU/Linux)<br>
<br>
iQIVAwUBUoKvT3REfA6phVy/AQJGBw//VaQTsWWTPuO6S/AvVtnpc9FU+uKDsLej<br>
rmLD7J5GjTUP7pBfJJ5M+1KRZQm/OzKtqBG3rFP5t69yQ//y11PpNYjFa1V0EeWq<br>
nnhS8DZPKtWXW8ZKlap4dlcZjY8wKAKFOgHtT2ePy82oAdZP9sw3rSBJu2P9d94J<br>
wyAZJm2BruEW8kNKVnN0p0OwQL3OyPpbsXz9i61KQD82VqVGlosmjVgccyaLFS4Y<br>
B2GypI1f/O/wdJIVPiINTHUxzILHmwp+Rn7JeyeJtpZrv8ko86IBVyxkc997/ERC<br>
84NaKthWBhPYqubX/y8/eZVYxszEaP4+mZUaAfIlMmRiW6GMsdnAwFQh8IQlNta4<br>
wIkRTfvteIPfrRuwpoCXvLOHCDdkGl3QcoxtBvvOcUX8QWepstukFTuTQVVv194B<br>
QMzXhJ7p0vrv7DPVFADD5m9MI0nwoYMxiUeJ/J9GLHtzT4hWyplknIQd1PPq4tt9<br>
xTLNJBIYJylkpYBE7nbOjY6yq0A/aezj/kbIDrkFqnCpOmjUy6MRTFV21H0GFEv/<br>
SXzljTPO4e0q3rngy9c8gUmzTFdJxG94cDCxseLvbXVn1x0bQHxjHv6HKSDFTEN7<br>
EsaFKFKqxy3p2A+XQvUucaIJlbmhtAQkJZVm53VPauaNVA39zsMl8DmcBzmsPFrY<br>
ekJ3Mw8FqP0=<br>
=AGGX<br>
-----END PGP SIGNATURE-----<br>
<br></blockquote></div><br></div>