部分客户可能有这样的需求:将加密的文件上传导致指定的业务系统(如:erp)自动解密。
虽然将浏览器设置为授权软件即可解决此问题,但永远不应该这样做。
正确的做法是使用Ping32文档透明解密网关。
Ping32文档透明解密网关分为两种类型:网络层和应用层,下面将分别介绍。
网络层网关
一个前置的背景知识是,我们知道使用浏览器上传文件通常是使用HTTP(s)协议的POST方法,Ping32的网络层网关的工作原理是,分析HTTP数据包,如果上传的地址是一个授信的地址,那么就分析流量中是否包含加密文件,如果包含加密文件就解密这个文件。
这个方案的优点是:
1、支持所有浏览器,支持HTTPS协议的系统;
不足之处是:
1、如果上传的数据中,除了加密文件外,还包含了这个加密文件的描述信息(比如:MD5、文件大小等),那么网关逻辑无法自动识别描述信息的定义。比如:ERP收到的文件数据包中,文件部分已经被网关解密,但是MD5依然是加密文件的MD5,可能导致一致性校验失败。
解决办法:请联系我们的技术同事,我们会抓包进行分析。根据情况进行适配开发。
2、上传文件的操作,在HTTP层面必须是一次POST完成传输。如果是多次POST分片传输一个文件,则无法识别加密文件。
解决办法:无论是从断点续传的角度考虑还是从数据传输可靠性的角度考虑,系统都无法从多次分片POST的做法中获益。因为HTTP协议的可靠性是由下层TCP协议保证的,所以多次POST分片传输是一个不良设计,然而我们在部署实施的过程中确实遇到了这样的做法,因此我们引入了应用层网关的解决方案。
应用层网关
通过应用层网关,可以不用考虑背后的网络协议细节,简单设置授信的系统地址即可。同样支持大多数主流浏览器以及HTTPS协议。