![]() |
1
12
Okie Doke,我想我刚刚知道了。 正如我上面所说,关键的一点是证书并不重要,只要它是用支持AES 256位加密(例如RSA)的算法生成的。为了确保我们在同一个页面上,对于我的测试,我使用以下方法生成了我的自签名证书:
现在,您必须确保您的服务器上的Java实现支持AES-256,这是一个棘手的问题。我在一个OSX(OS10.5)框上进行了测试,当我检查查看默认支持的密码列表时,AES-256不在列表中,这就是为什么使用上面生成的证书在我的浏览器和Tomcat之间创建了一个AES-128连接的原因。(好吧,从技术上讲,带有密码的tls-rsa-u-aes-u-cbc-sha不在名单上——根据 this JDK 5 list ) 为了完整性,这里有一个简短的Java应用程序,用来检查我的箱子的支持密码:
事实证明,JDK 5是默认情况下安装的OS X盒,需要安装“无限强度管辖权策略文件”,以便告诉Java使用更高的加密级别是可以的;您可以 find those files here (向下滚动并查看“其他下载”部分的顶部)。我不确定JDK6是否需要做同样的事情,但JDK6的策略文件是否相同 are available here 我想是的。解压该文件,阅读自述文件以了解如何安装它们所属的文件,然后再次检查支持的密码…我打赌AES-256现在在名单上。 如果是的话,您应该是黄金级的;只需重新启动Tomcat,连接到您的SSL实例,我打赌您现在将看到一个AES-256连接。 |
![]() |
2
1
Danivo,只要服务器的证书能够进行AES加密,浏览器和服务器之间的加密级别就独立于证书本身——加密级别在浏览器和服务器之间协商。换句话说,我的理解是证书没有指定加密级别,只是 类型 加密(如AES)。见 this link (pdf)为了验证这一点,以及尽管证书不是决定256位能力的因素,但证书转售商如何向上销售“256位能力”证书。 所以,您对支持aes-128的cert很满意——它们的关键是找出如何让Tomcat支持aes-256(因为大多数(如果不是全部)主要浏览器都支持它)。 |
![]() |
3
1
SSL连接的强度在浏览器和服务器(或提供SSL的任何设备)之间进行协商。可能是他们的浏览器要求更弱的密码。他们在这个浏览器上见过256-AES SSL连接吗?AES-128仍然是一个非常安全的算法,所以除非他们有一些想要保护的东西,以防离线(想想:超级计算机强力生成2^128个密钥) wikipedia )攻击,128位应该可以。如果他们真的需要这么多的保护,他们可能应该使用比网站更稳定的数据访问解决方案,到他们的服务器的安全SSH通道是防弹的(你可以告诉他们可以有他们的256位AES和4096位RSA),或者VPN,这取决于实现。 |
![]() |
4
1
|
![]() |
MarcForn · 加密/解密字符串Kotlin 7 年前 |
![]() |
Neeraj Athalye · 加密期间发生Java内存不足错误 7 年前 |
![]() |
Kuno Heltborg · 尝试用其他语言解密时AES解密错误 7 年前 |
![]() |
Tim Tuckle · 用Java加密字符串 7 年前 |