Excel试图打开HTTPS网站的xls文件会报告错误:
Microsoft Excel Security Warning
Certificate error
The application experienced an internal error loading the SSL libaries
然后启动wireshark观察tls(ssl)协议的协商过程,发现IE11用TLS1.2来建立连接,而Excel2013只能用TLSV1建立连接,并且发现它支持的cipher很少,只有区区12种:
Excel2013和F5协商的结果是采用 AES256-SHA ,但是后面Excel就报告错误了:
Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
试着配置Apache,使能HTTPS,设置同样的Cipher(AES256-SHA )就没有问题:
至此,可以判断可能是F5实现 AES256-SHA 方式和Office2013不兼容,导致问题.
后来有同事觉得是证书的散列算法导致的问题,试着更换服务器证书的生成命令,之前的命令是
openssl req -new -x509 -nodes -out server.crt -keyout server.key -days 999 -md5
修改为SHA散列算法:
openssl req -new -x509 -nodes -out server.crt -keyout server.key -days 999
这样就可以成功的打开excel文件而不报告"certificate error'了。
还有一点特别的是,无论md5还是散列算法,在我的电脑上都不报错的,但是在另外的n台电脑都报错。
附:OpenSSL 支持的cipher列表:
https://openssl.org/docs/manmaster/apps/ciphers.html