我所遵循的指南是使用openssl genrsa生成一个TLS键,我做到了。我已经将CSR生成命令更改为使用SHA256而不是SHA1,但我仍然不确定这是否是最佳解决方案。
我想要支持的最古老的客户端是Windows和SP3 (哭声)和Android2.3(最好,但我真的不需要这个),或者如果这会导致严重的痛苦,则使用Android4.0。
最优的键类型是什么?我假设RSA,但ECDSA密钥看起来也不错(除了compat问题)。
发布于 2014-11-23 13:44:24
每个人都使用RSA。如果你坚持RSA,你的证书应该在任何地方都是可以接受的。使用2048位密钥大小.ECDSA很时髦,而且非常时髦,但它不会在任何地方都发挥作用。
RSA密钥就是RSA密钥。但是,证书也是一个签名对象,签名算法从散列开始。因此,证书将包含对散列函数的引用。一些现代浏览器在看到证书中的"SHA-1“时,显然决定尖叫、哀号和呼喊;因此,为了避免过时,您需要使用SHA-256。这应该适用于自SP3以来的XP (但在此之前)。请注意,这与证书上的签名有关,所以确实是证书颁发机构在证书上签名的问题。
无论您是用SHA-1还是SHA-256作为支持散列函数来签署证书请求,都不重要。CA从您的请求中提取公钥,将其推入新证书中,然后将根据其配置使用SHA-1或SHA-256,而不管您使用什么方式对请求进行签名。至少CA应该是这样工作的;有些CA有时会做一些奇怪的事情。
https://security.stackexchange.com/questions/73009
复制相似问题