SHA256兼容性
SHA-2是一个加密哈希(Cryptographic Hash)函数的一个集合,包括SHA-224,SHA256和SHA-512。在SHA-256中的256代表哈希(Hash)输出或者摘要的位尺寸(即:哈希输出多少位),当哈希(Hash)函数被执行时。不是所有的软件支持在SHA-2函数家族中的每个摘要尺寸。本文重点讲SHA-256对于不同的软件平台和操作系统(OS)的兼容性。作为一个通用的规则,SHA-256被支持在OS X 10.5+和Windows XP SP3+以上的平台上。
阅读技术支持部分的”哈希(Hash)函数”文章可以更好的理解它们是怎样工作的以及他们被怎样地使用有效的证书和文件中。
对应需要购买可信任的SHA-256证书,请联系易维信(EVTrust)客服代表。
索引
1、 操作系统(OS)、浏览器(Brower)和服务器(Server)的支持
2、 防火墙(Firewall)的支持
3、 工具套件(Toolkits)、库(Libraries)、软件框架(Frameworks)等的支持
4、 数据库(Database)的支持
5、 详细的操作系统支持
6、 Email客户端的支持
7、 文件签名的支持
8、 Windows代码签名(Code Signing)的支持
9、 SafeNet iKey / eToaken兼容性
10、 第三方的手
1、 操作系统(OS)、浏览器(Brower)和服务器(Server)的支持
最低的操作系统(OS)版本 |
最低的操作系统(OS)版本 |
|
Apple OS X |
10.5+ |
10.5+ |
Apple iOS |
3.0+ |
3.0+ |
Android * |
1.0+ (1.6 / 2.2) |
1.0+ |
Blackberry |
5.0+ |
5.0+ |
ChromeOS |
All Versions |
All Versions |
Windows |
XP SP3+ |
XP SP3+ |
Windows Phone |
7+ |
7+ |
Windows Server |
2003 SP2 +MS13-095 |
2003 SP2 +MS13-095 |
【操作系统(OS)】
*Andorid自V1.0版有处理SHA-256证书的技术能力。在实践中,一些用户可能会遇到使用交叉证书验证证书的问题(这些有助于证书链交替验证到根证书),1.6改进了这个问题,到V2.2这个问题已被解决。
最低的浏览器(Browser)版本 |
|
|
Chrome ** |
1.0+ (38+) |
|
Firefox |
1.0+ |
|
Internet Explorer |
6+ |
|
Konqueror |
3.5.6+ |
|
Mozilla |
1.4+ |
|
Netscape |
7.1+ |
|
Opera |
6.0+ |
|
Safari |
3+ |
【浏览器(Brower)】
** Chrome在V1.0版就有支持SHA-256证书的能力,然而直到版本V37它还是依赖操作系统,比如:在没有MS13-095的Windows Server 2003或者Windows XP SP2上的Chrome浏览器不能使用SHA-256证书连接页面,在这些遗留的操作系统上,Windows Server 2003需要应用MS13-095或Windows XP需要应用SP3,才允许Chrome支持SHA-256.
Chrome V38+以上版本可以独立的验证SHA-2证书,甚至在没有MS13-095的Windows Server 2003和没有SP3的Windows XP等这样的操作系统上。
|
Minimum Server Version |
|
Active Directory Federation Server (AD FS) |
2.0+ |
|
Apache HTTP Server *** |
Dependent on OpenSSL or |
|
Apache Tomcat |
Dependent on Java version |
|
IBM Domino Server |
9.x with Fix Pack |
|
IBM HTTP Server |
Any version with GSKit 7.0.4.14 |
|
IBM WebSphere Server |
7.0.0.25 / 8.0.04 with PM62842 |
|
Microsoft Exchange Server |
Dependent on Windows Server version |
|
NGINX |
Dependent on OpenSSL version |
|
Oracle Wallet Manager |
11.2.0.1+ |
|
Oracle Weblogic **** |
10.3.3+ |
|
【服务器(Server)】
*** Apache 2.0默认绑定mod_SSL模块,2.0之前的版本需要手工安装mod_ssl为任何SSL支持。Mod_gnutls对于mod_ssl是一个替换,利用GnuTLS替换OpenSSL库。
**** Oracle Weblogic Server 10.3.3以及以上版本有JSSE,有效地支持SSL/TLS证书与连接。现在老版本Certicom扩展已被废弃。
V 10.3.3版是第一个正式支持JSSE的版本,它可以通过登录到管理控制台,然后点击: Environment > Servers > ManagedServerName > Configuration > SSL > Advanced > Use JSSE SSL.点击保存(Save),重启你的服务器.V10.3.3版本可以手工启用JSSE,但它不被Oracle官方支持。
2、 防火墙(Firewall)的支持
|
Minimum Version |
Cisco ASA 5500 [官网] |
8.2 (3.9) |
3、 工具套件(Toolkits)、库(Libraries)、软件框架(Frameworks)等的支
|
Minimum Version |
Java [资料] |
Java 1.4.2+ |
Mozilla NSS [官网] |
3.8+ |
OpenSSL* [官网] |
0.9.8 / 0.9.8o+ |
GNUTLS [资料] |
1.7.4+ |
.NET FX[官网] |
3.5 SP1+ |
->对应SHA-2支持在OpenSSL 0.9.8里介绍了,但默认不启用SSL_library_init()。在0.9.8版本里,SHA-2哈希功能必须被专门调用或使用OpenSSL_add_all_algorithms().OpenSSL 0.9.80默认配置中启用SHA-2哈希算法。
4、 数据库(Database)的支持
|
Minimum Version |
MYSQL[官网] |
5.5.5+ |
8.1 / 8.2 * |
* 在8.1 Release版本中,PostSQL的pgcrypto模块介绍了支持SHA-2家族哈希算法,然而它仅仅是一个单独的模块。8.2版本中在PostgreSQL核心pgcrypto模块中包含了SHA-2算法,即使在安装的OpenSSL版本不支持它,也允许这些哈希算法是有效的。
5、 详细的操作系统支
|
SSL 证书 |
SSL证书 |
S/MIME |
代码签名 |
Windows XP (SP1, SP2) |
✗ |
N/A |
✗ |
✗ |
Windows XP SP3 |
✓ |
N/A |
Partial* |
Partial** |
Windows Vista |
✓ |
N/A |
✓ |
Partial** |
Windows 7 [官网] |
✓ |
N/A |
✓ |
✓ |
Windows 8 |
✓ |
N/A |
✓ |
✓ |
Windows Server 2003 / 2003 SP1 |
✗ |
✗ |
✗ |
✗ |
Windows Server 2003 SP2 +MS13-095 |
✓ |
✓ |
✓ |
✗ |
Windows Server 2008 |
✓ |
✓ |
✓ |
Partial** |
Windows Server 2008 R2 [官网] |
✓ |
✓ |
✓ |
✓ |
Windows Server 2012 & 2012 R2 |
✓ |
✓ |
✓ |
✓ |
Windows Mobile 5 |
✗ |
N/A |
✗ |
N/A |
Windows Mobile 6 |
✗ |
N/A |
✗ |
N/A |
Windows Phone 7 |
✓ |
N/A |
✓ |
N/A |
Windows Phone 8 |
✓ |
N/A |
✓ |
N/A |
注意:标识“Partial”—表示部分兼容
S/MIME
->在Windows XP SP3上的Outlook,可以使用SHA-256签名的证书,但使用SHA-256哈希算法签名的email是无效的。默认Outlook用SHA1签名,即使一张SHA2证书在使用过程中将根据需要而被改变。
代码签名(Code Signing)
->代码可以在任何列表中“部分”或“全部”兼容系统中用一个SHA2证书签名,它是没问题的。
->用SHA2签名的内核驱动(kernel drivers),在部分兼容的平台是不兼容的。用SHA2证书签名的内核驱动(kernel drivers)不能安装在上面标注”Partial”兼容的系统上。
6、 Email客户端的支持
证书上的签名哈希算法是独立置于Email上的签名哈希。例如:在XP SP3上的Outlook 2003可以利用SHA-256签名的一个证书签名一个加密的e-mail,但是在这个Email上的签名将限制在SHA1。
验证SHA-1 签名的 E-Mail |
验证 SHA-256 签名的E-Mail |
发送SHA-1 签名的 E-Mail |
发送SHA-256 签名的E-Mail |
|
Mozilla Thunderbird 1 - 4 [官网] |
✓ |
✗ |
✓ |
✗ |
✓ |
✓ |
✓ |
✗ |
|
Mozilla Thunderbird 38+ [官网] |
✓ |
✓ |
? |
✓ |
IBM Notes 8 [官网] |
✓ |
✗ |
✓ |
✗ |
IBM Notes 9 [官网] |
✓ |
✓ |
✓ |
✓ |
Microsoft Entourage 2004 [官网] |
✓ |
✗ |
✓ |
✗ |
Microsoft Entourage 2008 [官网] |
✓ |
✓ |
✓ |
✓ |
✓ |
✗ |
✓ |
✗ |
|
✓ |
✓ |
✓ |
✓ |
|
Outlook for Mac 2011[官网] |
✓ |
✓ |
✓ |
✓ |
->设置Outlook哈希算法为SHA1:
Outlook 2003: Tools > Options > Settings > Security > Settings > Hash Algorithm > SHA1
Outlook 2007, 2010, 2013: File > Options > Trust Center > Trust Center Settings > E-Mail Security > Settings > Hash Algorithm > SHA1
7、 文件签名的支持
8、 Windows代码签名(Code Signing)的支持
9、 SafeNet iKey / eToaken兼容性
10、 第三方的手