搜 索
(网银盾登录)企业结算户 >

网商银行银企直联服务器证书升级验证和修正指引

网商银行银企直联服务器证书升级验证和修正指引
<link href="https://a.alipayobjects.com/kbase-static/2.4.7/pc.css" rel="stylesheet" charset="utf-8"><div class="csp-ck-article"><h1> <span style="color: rgb(0, 0, 0);"><strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 16px;">1、需要您做什么</span></strong></span> </h1> <p style="margin-bottom:8px;text-align:left;text-indent:28px;background:white"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"><strong><span style="font-size: 14px; font-family: 微软雅黑, &quot;Microsoft YaHei&quot;;">需要您确认贵司业务系统中与网商银行系统交互的系统或组件可兼容新服务器证书:</span></strong></span> </p> <p style="text-indent: 28px; margin-bottom: 8px; text-align: left; background: white;"> <span style="color: rgb(0, 0, 0);"><strong style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; text-indent: 0em;">(1)如果验证结果为可兼容,贵司不需要做其他任何事情。</strong><strong style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; text-indent: 0em;"></strong></span> </p> <p style="text-indent: 28px; margin-bottom: 8px; text-align: left; background: white;"> <span style="color: rgb(0, 0, 0);"><strong style="text-indent: 0px; font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">(2)如果不能兼容,您需要对贵司系统进行必要的修正。</strong></span> </p> <p style="text-indent: 28px; margin-bottom: 8px; text-align: left; background: white;"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">请贵司按照【<span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; text-indent: 28px; background-color: rgb(255, 255, 255);">2、如何验证</span>】章节的方法尽快完成验证。</span> </p> <p style="margin-bottom:8px;text-align:left;text-indent:28px;background:white"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">如果验证结果为不兼容,贵司需要修改相关的系统实现或配置,详情参见“4.修正方法”。在验证和修正过程中若遇到问题,请贵司及时联系我行对接的技术人员或客户经理。</span> </p> <p style="margin-bottom:8px;text-align:left;text-indent:28px;background:white"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">请贵司务必在2018年8月1日前完成有关验证和修正操作,否则部分企业业务系统有可能会出现与我行银企直联系统无法正常交互,影响业务运行。</span> </p> <p> <br> </p> <h1> <strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; color: rgb(0, 0, 0); font-size: 16px;">2、如何验证</span></strong> </h1> <h2> <strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">2.1 证书有关说明</span></strong> </h2> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;网商银行服务器证书当前通过权威电子认证机构VeriSign签发,根CA为“VeriSign Class 3 Public Primary Certification Authority - G5”,计划于2018年8月1日启用的新服务器证书,由权威电子认证机构DigiCert签发,根CA为“DigiCert Global Root CA”。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;为了提升兼容性,在部署新证书时,网商银行将在服务上增加部署Baltimore CyberTrust Root根对DigiCert Global Root CA的根交叉认证证书,因此,客户端信任根证书库中只要包含Baltimore CyberTrust Root或DigiCert Global Root CA中任意一个即可。大部分操作系统和执行环境的默认信任根证书库都已内置上述两个根CA证书,也就是说,一般情况下,大部分系统无需做特别的配置即可兼容新服务器证书。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;<strong>新、旧根证书信息:</strong></span><br> </p> <p style="text-align: left;"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;下表列出了4个根证书的基本信息、在常见OS和执行环境默认配置下的兼容性情</span><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">况:</span><img src="//my-knowledge.alicdn.com/pic20180723180807f1c79e36-199f-44eb-acb4-ead6ce5095de.png" data-id="4380" class="fccsmng-picture-tag" alt="" width="900" height="" border="1" vspace="0" title="" style="width: 900px; border: 1px solid rgb(0, 0, 0);"> </p> <p style="text-align: left;"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; text-align: center; color: rgb(0, 0, 0);">表1 网商银行新老服务器根CA证书的信息</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"><br></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(255, 0, 0);"><strong>注:</strong></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;macOS: 根据DigiCert官网提供的兼容性信息,所有Mac OS X都可兼容新证书;根据目前能从Apple官网查到“macOS中可用的受信任根证书列表”的最早版本为OS X Mavericks(即10.9,2013年发布的版本),能确认自该版本起的macOS版本均包含上述四个根CA证书。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;Linux:Linux系统信任根证书的保存位置因发行版(Distribution)不同有所差异,大部分Linux发行版使用目录"/etc/ssl/certs/"或文件"/etc/pki/tls/certs/ca-bundle.crt"来包含系统信任根证书库。预期在绝大部分Linux发行版中,都可同时兼容我们的新旧证书。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;如何获取根证书文件?一般需要从CA机构的官方网站下载根CA证书文件,为方便合作伙伴升级,我们将DER和PEM格式的"VeriSign Class 3 Public Primary Certification Authority - G5" 和 "DigiCert Global Root CA"的根证书文件打包于一个文件中,您可下载root-certs.zip(链接:download: root-certs.zip)并解压,然后根据操作命令需要的格式选择使用PEM或DER格式的文件。压缩包中的文件后缀标识格式,文件名体现了根CA名称。</span><br> <br> </p> <h2> <span style="color: rgb(0, 0, 0);"><strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">2.2 验证方式</span></strong></span> </h2> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;贵司可通过网商银行预发验证环境 (HOST绑定IP方式) 来验证贵司系统是否可兼容新的服务器证书。如果贵司系统可正常获得网商银行系统的响应,说明是兼容的。如果贵司系统不能正常获得网商银行系统的响应,很有可能是不兼容的。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 如果验证结果为不兼容,您需要:</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;1、查看贵司系统所使用的TLS/SSL库的使用文档,确保新服务器证书的根CA包含在执行环境的信任根证书库中。我们总结了常见环境可能的问题于【<span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">3、验证的常见问题</span>】供参考。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;2、完成上述步骤后,重新验证。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"><br></span> </p> <p> <strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;HOST绑定IP方式,连接预发验证环境进行验证</span></strong> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 可通过HOST绑定IP的方式来访问已部署了新证书的网商银行预发验证环境。HOST绑定IP可通过修改操作系统的hosts文件来进行,例如,可在hosts文件中新增一行如下内容,实现将域名"fcopenpre.mybank.cn"绑定到新证书环境:</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;110.76.58.8&nbsp; fcopenpre.mybank.cn</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(255, 0, 0);"><strong>注:</strong></span></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;1、预发验证环境上提交的交易与生产正式环境提交的交易均会被视为生产正式业务,会实际触发有关账务操作。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;2、在使用预发验证环境验证前,请先评估切换后对贵司业务系统以及业务的影响。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;3、因预发验证环境机器数量有限,存在一定的不稳定性,为不影响贵司正常的生产业务运行,请在验证完成后尽快解除HOST绑定。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;4、在linux系统下,hosts文件的完整路径为"/etc/hosts",在Windows系统下,hosts文件的完整路径为"C:\Windows\System32\drivers\etc\hosts"。</span> </p> <p> &nbsp; </p> <h1> <span style="color: rgb(0, 0, 0);"><strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 16px;">3、验证的常见问题</span></strong></span> </h1> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp; &nbsp;&nbsp;Q1:什么是服务器证书?<br> &nbsp;&nbsp;&nbsp; A:服务器证书通常又称为“SSL证书”、“域名证书”、"SSL Certificate"、"Server Certificate"、"SSL Web Server Certificates"、"TLS/SSL server certificate"。通常由权威机构颁发的证书,用于对网站进行身份鉴定,并使客户端与网站之间通过TLS/SSL协议建立起安全传输通道,HTTPS协议是最常见的基于TLS/SSL的应用层协议之一。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"><br></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; Q2:什么是根证书?<br> &nbsp;&nbsp;&nbsp; A:根证书用于标识权威机构的身份,是权威机构用自己的身份私钥对自己的身份公钥签发的数字证书。根证书需要经不易被篡改的通道分发;浏览器、操作系统、TLS/SSL开发库通常随软件发行包预置其信任的权威机构的根证书。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"><br></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; Q3:如何确认是否可兼容新证书?<br> &nbsp;&nbsp;&nbsp; A:建议按照第3章介绍的方法进行验证;如果您对TLS/SSL技术和应用非常精通,也可仅通过检查相关的系统代码和配置,来判断是否可兼容新证书。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"><br></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; Q4:请问应在何时安装新的根CA证书?<br> &nbsp;&nbsp;&nbsp; A:必须在2018年8月1日前将新的根CA证书安装于贵司系统中。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"><br></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; Q5:修正过程中有哪些注意事项?<br> &nbsp;&nbsp;&nbsp; A:必须以新增安装根CA证书的方式(即应该同时兼容老证书和新证书),且必须最晚在2018年8月1日之前完成。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"><br></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; Q6:本次升级涉及的网站/域名有哪些?<br> &nbsp;&nbsp;&nbsp; A:本次服务器证书升级以证书为操作控制粒度,通过X.509 V3的Subject Alternative Name(SAN,中文名:主题备用名称)扩展使一个证书可适用于多个域名。本次升级的证书主题通用名(Subject CommonName)为:"*.mybank.cn"。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 您可以通过下述方法来协助确认:</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 以使用openssl命令行工具快速确认某个域名是否在本次升级范围,命令行格式为:</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;openssl s_client -connect real_domain_name:443 -servername real_domain_name -showcerts&nbsp;</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;以域名“fcopen.mybank.cn”为例:如下为运行结果截图,可以看到证书的主题CN与上述三个中的第一个相同,说明" fcopen.mybank.cn”域名在本次升级范围。</span> </p> <p> <img src="//my-knowledge.alicdn.com/pic20180723174326887e4887-b645-48c5-b962-6527f631dff3.png" data-id="4376" class="fccsmng-picture-tag" alt="" width="600" height="" border="1" vspace="0" title="" style="width: 600px; border: 1px solid rgb(0, 0, 0);"><br> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"></span><br> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;Q7:请问应在何时完成对应验证?如果无法按时完成验证会有什么影响?<br> &nbsp;&nbsp;&nbsp; A:贵司最迟应在2018年8月1日完成验证。如果贵司系统的实现方式已能兼容新的服务器证书,那么,不会影响贵司的业务;如果贵司系统的实现方式不能兼容新的服务器证书,那么会导致贵司系统与网商银行相关系统不能正常交互,影响业务顺利进行。</span> </p> <p> <br> </p> <h1> <strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 16px; color: rgb(0, 0, 0);">4、修正方法</span></strong> </h1> <h2> <span style="color: rgb(0, 0, 0);"><strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">4.1 JAVA</span></strong></span> </h2> <p> <span style="color: rgb(0, 0, 0);"><strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">4.1.1 不兼容的现象</span></strong></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;如果验证时不能正常获得网商银行系统的响应,并在您的系统中出现如下错误信息,说明不兼容新的证书。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed...</span> </p> <p> <span style="color: rgb(0, 0, 0);"><strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">4.1.2 修正方案</span></strong></span> </p> <p> &nbsp;&nbsp;&nbsp; <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">如果您的系统程序是使用Java程序开发,您使用的信任根证书(trustStore)库可能是如下两种情况之一: 一种是使用jre发行包中的cacerts,另一种是使用自主管理的trustStore。</span> </p> <p> <strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 使用jre发行包中的cacerts</span></strong> </p> <p> <strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; cacerts文件是Java环境默认使用的信任根证书库,</span></strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">位于%JAVA_HOME%/lib/security/目录下,cacerts文件本质是一个JKS (Java KeyStore),可使用Java发行包中自带的keytool工具来查看和修改,默认密码为“changeit”,keytool命令行工具在%JAVA_HOME%/bin目录下。 说明:网商银行所提供Java语言版SDK为这种方式。 如表1所列,正常情况下JDK1.4.2及以上版本的cacerts应已经包含了Baltimore CyberTrust Root,JDK 1.6.05及以上版本的cacerts应已经包含了DigiCert Global Root CA。 如果系统实际验证结果为不通过,可以通过如下方法检查执行环境中的cacerts是否包含网商银行新服务器证书的根CA(表1中前2个根CA之一)。</span> </p> <p> <strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp; &nbsp; 检查方法</span></strong> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;1、将cacerts中信息输出为易于阅读的文本形式。命令行下输入如下命令,回车后,输入cacerts的保护密码。&nbsp;</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;keytool -list -v -keystore %JAVA_HOME%/lib/security/cacerts &gt; cacerts.txt</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;2、查找其中是否包含特定主题的可信证书。 以DigiCert Global Root CA为例:在上一步中输出的文件中(cacerts.txt)查找是否包含主题(Subject)和签发者(issuer)CN(Common Name)皆为"DigiCert Global Root CA"的trustedCertEntry的项目,找到后,核对证书序列号是否与表1中相同。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"></span> </p> <p> <img src="//my-knowledge.alicdn.com/pic20180723174726fc6c5c81-de07-405e-a7c2-f8a0026c2bb0.png" data-id="4377" class="fccsmng-picture-tag" alt="" width="600" height="" border="1" vspace="0" title="" style="width: 600px; border: 1px solid rgb(0, 0, 0);"><br> </p> <p> <img src="//my-knowledge.alicdn.com/pic20180723174752324293b6-6c0d-4b07-ae8f-d95ce9a18b1f.png" data-id="4378" class="fccsmng-picture-tag" alt="" width="600" height="" border="1" vspace="0" title="" style="width: 600px; border: 1px solid rgb(0, 0, 0);"><br> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;说明:证书序列号的显示方式一般有两种,一种是带":"的,以两个16进制数一组;一种是不带":"的,与前一种表示方法相比,其数值相同,但是最左边的0会被省略。</span> </p> <p> <strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 添加根证书到cacerts</span></strong> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp; &nbsp; 如果没有查找到,您需要添加根CA证书到cacerts。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp; &nbsp; 在命令行下输入如下命令,回车后输入cacerts的保护密码,看到增加成功的提示即说明添加成功。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;keytool -keystore $JAVA_HOME$/lib/security/cacerts -importcert -alias CAFriendlyName -file rootca-cert.pem&nbsp; --注:rootca-cert.pem为PEM格式的根CA证书文件,请使用表1中链接下载PEM格式根证书,CAFriendlyName是计划给此根CA的友好名称/别名,您可以用根证书主题名称代替,这个别名在一个jks中必须唯一。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"><strong>&nbsp;&nbsp;&nbsp;&nbsp;使用指定的trustStore</strong><br></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 如果您的系统程序目前是用指定trustStore的方式,有两种修正方法:</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 1、修改系统实现代码,改为使用jre自带cacerts的方式,可使用蚂蚁开放平台提供的SDK或参考其写法;同时检查您的java版本,官方Java发行包自1.4.2版本起都内置了上述新旧服务器证书的兼容根CA。稳妥起见,您可以按前述方法确认都包含。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 2、往当前trustStore增加表1中的第一个根CA证书,操作方法与往cacerts中增加相同,只是操作的keystore对象换成您应用系统中使用的。如下示例:</span> </p> <p> <span style="color: rgb(0, 0, 0); font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">keytool -keystore 您系统使用的jks文件路径 -importcert -alias CAFriendlyName -file rootca-cert.pem&nbsp;</span> </p> <p> <span style="color: rgb(0, 0, 0); font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;J<span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">ava中一般使用如下几种方式来指定trustStore:</span></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;1、代码中设定,示例代码: System.setProperty("javax.net.ssl.trustStore", "&lt;same .jks file&gt;");</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">2、设置系统变量javax.net.ssl.trustStore&nbsp;</span></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;3、修改JVM启动选项:"-Djavax.net.ssl.trustStore=-Djavax.net.ssl.trustStore=&lt;some .jks file&gt;"&nbsp;</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"></span> </p> <p> <span style="color: rgb(0, 0, 0);"><strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">&nbsp;&nbsp;&nbsp; 参考资料:</span></strong></span> </p> <p> <span style="color: rgb(0, 0, 0);"><strong><span style="color: rgb(0, 0, 0); font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">&nbsp;&nbsp;&nbsp; Keytool:</span></strong></span><a href="https://docs.oracle.com/javase/6/docs/technotes/tools/solaris/keytool.html" target="_blank" style="text-decoration: underline; font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;"><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">https://docs.oracle.com/javase/6/docs/technotes/tools/solaris/keytool.html</span></a> </p> <p> <br> </p> <h2> <strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">4.2 PHP</span></strong> </h2> <p> <strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">4.2.2 不兼容的现象</span></strong> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 如果验证时不能正常获得网商银行系统的响应,并在您的系统中出现类似如下的错误信息,说明不兼容。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;"cURL error 60: SSL certificate: unable to get local issuer certificate."</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 或</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;"CURLE_SSL_CACERT (60) peer certificate cannot be authenticated with known CA certificates."</span> </p> <p> <strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">4.2.3 修正方案</span></strong> </p> <p> <strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp; &nbsp;使用操作系统信任根证书库的情况</span></strong> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; PHP一般使用系统中所安装的Openssl的信任根证书库,<strong>Openssl的信任根证书库根据操作系统版本的不同所在位置不同,</strong>可能的情况以及添加可信根CA证书的方法如下:</span> </p> <table cellpadding="0" cellspacing="0"> <colgroup> <col width="90" style=";width:89px"> <col width="118" style=";width:117px"> <col width="162" style=";width:161px"> </colgroup> <tbody> <tr height="20" style="height:20px" class="firstRow"> <td height="20" style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0); background-color: rgb(191, 191, 191); word-break: break-all;"> <span style="color: rgb(0, 0, 0);"><strong><span style="color: rgb(0, 0, 0); font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">操作系统类型</span></strong></span> </td> <td style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0); background-color: rgb(191, 191, 191);"> <span style="color: rgb(0, 0, 0);"><strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">信任根证书库位置</span></strong></span> </td> <td style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0); background-color: rgb(191, 191, 191);"> <span style="color: rgb(0, 0, 0);"><strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">添加可信根CA证书的方法</span></strong></span> </td> </tr> <tr height="54" style="height:54px"> <td height="54" style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">Linux</span> </td> <td style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0); word-break: break-all;"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">/etc/ssl/certs/</span> </td> <td style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">拷贝根CA的证书文件(DigiCertGlobalRootCA.pem)到目录下</span> </td> </tr> <tr height="71" style="height:71px"> <td height="71" style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">Linux</span> </td> <td style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">/etc/pki/tls/certs/ca-bundle.crt</span> </td> <td style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">cat DigiCertGlobalRootCA.pem &gt;&gt; &nbsp; /etc/pki/tls/certs/ca-bundle.crt</span> </td> </tr> <tr height="71" style="height:71px"> <td height="71" style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">Linux</span> </td> <td style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">/etc/ssl/certs/ca-bundle.crt</span> </td> <td style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">cat DigiCertGlobalRootCA.pem &gt;&gt; /etc/ssl/certs/ca-bundle.crt</span> </td> </tr> <tr height="71" style="height:71px"> <td height="71" style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">Linux</span> </td> <td style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">/etc/pki/tls/certs/ca-bundle.trust.crt</span> </td> <td style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">cat DigiCertGlobalRootCA.pem &gt;&gt; &nbsp; /etc/pki/tls/certs/ca-bundle.trust.crt</span> </td> </tr> <tr height="53" style="height:53px"> <td height="53" style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">Unix</span> </td> <td style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">/System/Library/OpenSSL/</span> </td> <td style="border-width: 1px; border-style: solid; border-color: rgb(0, 0, 0);"> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">拷贝根CA的证书文件(DigiCertGlobalRootCA.pem)到目录下</span> </td> </tr> </tbody> </table> <p> <strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">&nbsp; &nbsp;</span></strong><span style="color: rgb(0, 0, 0);"><strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;"> 使用自主管理信任根证书库的情况</span></strong><br></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; PHP代码中可能设定使用自主管理的根CA证书文件,典型代码如下:</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">curl_setopt(pCurl, CURLOPT_CAINFO,&nbsp; "./rootca.pem"); </span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; <strong>修复方法:</strong>将表1中新服务器证书的根CA证书(DigiCertGlobalRootCA.pem)添加到rootca.pem。可用cat操作命令:</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">cat DigiCertGlobalRootCA.pem &gt;&gt; ./rootca.pem </span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"><br></span> </p> <p> <span style="color: rgb(0, 0, 0);"><strong><span style="color: rgb(0, 0, 0); font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">4.3 .NET</span></strong></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; .NET环境一般默认使用Windows操作系统维护的受信任的根证书颁发机构。Windows XP及以上一般均可兼容我们的新旧服务器证书。</span> </p> <p> <span style="color: rgb(0, 0, 0);"><strong><span style="color: rgb(0, 0, 0); font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">4.3.1 不兼容的现象</span></strong></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 如果验证时不能正常获得网商银行系统的响应,并在您的系统中出现类似如下的错误信息,说明不兼容。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.```</span> </p> <p> <span style="color: rgb(0, 0, 0);"><strong><span style="color: rgb(0, 0, 0); font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">4.3.2 修正方案</span></strong></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 如果出现SSL相关异常,请您的系统管理员下载表中第一个根CA证书,并将其导入到受信任的根证书颁发机构区域。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;"><br></span> </p> <h2> <span style="color: rgb(0, 0, 0);"><strong><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">4.4 PYTHON</span></strong></span> </h2> <p> <span style="color: rgb(0, 0, 0);"><strong><span style="color: rgb(0, 0, 0); font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">4.4.1 综述</span></strong></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;当使用标准库的http client (urllib, urllib2, http, httplib)时,python自2.7、3.4、3.5版本起,默认校验服务器证书是否由可信签发机构签发、证书主题(或SAN)是否与服务器域名匹配,且使用ssl模块的信任根证书库。详细信息可查看:</span><span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;"> </span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://www.python.org/dev/peps/pep-0476/" target="_blank">https://www.python.org/dev/peps/pep-0476/</a></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 早期的python版本默认既不校验服务器证书是否由可信签发机构签发,也不校验证书主题(或SAN)是否与服务器域名匹配,因此,不会遇到问题。</span> </p> <p> <span style="color: rgb(0, 0, 0);"><strong><span style="color: rgb(0, 0, 0); font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">4.4.2 不兼容的现象</span></strong></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 如果验证时不能正常获得网商银行系统的响应,并在您的系统中出现类似如下的错误信息,说明不兼容。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; SSL: CERTIFICATE_VERIFY_FAILED</span> </p> <p> <span style="color: rgb(0, 0, 0);"><strong><span style="color: rgb(0, 0, 0); font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">4.4.3 修正方案</span></strong></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; Python默认使用系统ssl模块(通常为Openssl)的信任根证书库,也可以通过cafile、capath、cadata来指定。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 如果是使用系统ssl模块(Openssl)的信任根证书库,可参考6.2节的介绍,往系统库中增加新的根CA证书(表1中第一个)。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 如果是使用自主管理的信任根证书库,往其中增加新的根CA证书(表1中第一个)。</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp; 可能的代码写法:</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;# ssl.create_default_context(purpose=Purpose.SERVER_AUTH, cafile=None, capath=None, cadata=None) context = ssl.create_default_context() # 按照系统默认配置的写法。&nbsp;</span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;urllib.urlopen("https://site.sample.com", context=context)</span> </p> <p> <br> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"><strong>参考文档:</strong></span> </p> <p> <span style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px; color: rgb(0, 0, 0);"><a href="https://docs.python.org/2.7/library/ssl.html" target="_blank">https://docs.python.org/2.7/library/ssl.html</a></span> </p> <p> <a href="https://docs.python.org/3/library/ssl.html" target="_blank" style="font-family: 微软雅黑, &quot;Microsoft YaHei&quot;; font-size: 14px;">https://docs.python.org/3/library/ssl.html</a> </p></div>
这条帮助是否解答了您的问题:
  • 解决了
  • 没解决
您已对文章进行了评价!
网商银行 服务大厅
提示

加载中