一、IE浏览器配置
IE只支持9.0以及9.0以上版本,其他不支持。火狐(Firefox)不需要单独配置,只需要添加证书信任。谷歌(Chrome)使用的是IE设置,不需要单独设置。
IE打开Internet选项,在“高级”页,勾选(使用TLS 1.0、使用TLS 1.1、使用TLS1.2)。保存,重启IE。
二、Windows主机修改
用“管理员身份”运行 notepad (记事本) ,打开文件 C:\Windows\System32\drivers\etc\hosts文件,添加
xxx.xx.xx.xx xxxx.com.cn
保存退出。
浏览器、程序使用域名来访问目标系统。
三、https接口调用,jdk更新
更新
JAVAHOME/jre/lib/security/cacerts文件1.
JAVA_HOME提取办法:
Linux: echo
JAVAHOMEWindows:setJAVAHOME2.先备份cacerts文件3.更新cacerts假设根证书文件RootCA.pem文件在C:\Users\Administrator\Downloads1)进入
JAVA_HOME/jre/lib/security/ :
cd %JAVA_HOME%\jre\lib\security
2)更新
keytool -import -alias xxxxroot -keystore cacerts -file C:\Users\Administrator\Downloads\RootCA.pem
提示输入密码时,密码是 xxxx
4.更新完毕后,java应用需要重启
5.Linux更新类似,不再赘述
四、Linux主机的/etc/hosts修改不再赘述
.NET 是不是有配置允许https加密的位数的?
jdk 的需要更新一个包,允许开启高位加密。用的是jdk几?
nginx的cipher 原来只允许可靠的高位加密。
这说明,你们的应用,在用不可靠的低位加密。类似 RC4、DH、DHE 之类的 而且加密位数128位
哈希也是sha的。修改后,sha用的是sha256、sha384
在加密传输和可靠性验证上存在弱点,存在被劫持、被篡改的风险
解决方法,jdk7的话:
到oracle官网上下载 jce_policy-8.zip ,解压开后,用里面的 jar 替换掉 $JAVA_HOME/jre/lib/security 下的
tomcat 的配置,指定 cipher
在 https 相关配置里,增加
ciphers=”TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256”
这样配置,有一个问题是,调浏览器。具体看我那份word。要求浏览器支持 tls1, tls1.1 tls1.2
火狐、谷歌的新版本都没问题。有问题的是ie,一定得ie9及以上。winxp 不行了。
http 不是加密传输。无解。