java中pki代码 javagui代码( 四 )


尽管PKI建设的问题很多,也没有出现如同人们想象的突破性的发展 , 但我们仍旧不难发现,所有这些挑战,实际上都源于PKI技术的复杂 。比如,实施者对标准的理解不一致是造成互操作问题一个重要原因 。目前,随着人们研究的深入,标准的出台,更多实施者的参与,更多应用的推进都会极大推进互操作性问题的解决 。大量的技术人员参与建设,也会加速PKI产品的降价 , 降低PKI用户的购买成本 。随着用户对PKI的深入了解 , 使用和维护PKI也将不是一个昂贵的过程 。诸多的困难,并没有阻挡,也不可能阻挡PKI的应用的脚步 。PKI已经逐步深入到网络应用的各个环节 。PKI的诸多优势使得PKI的应用逐步扩大 。
举一个例子,电子商务中需要可追究性保护 , 而PKI提供的任意第三方可验证能够提供一个更加公平的环境支持 。比如,甲方乙方签订合同后,不用担心对方跟某位领导(也许可以称为权威方)有什么关系,因为任意的一个第三方都可以验证合法的合同内容 。这种公开的验证方式使得商务活动可以变得更加民主与和谐 。这样公平的技术环境是对称密码技术和基于身份的密码技术无法提供的 。在一个企业内部 , PKI也可以为构建一个更加民主的商务环境提供技术支持 。比如,聪明的老板或领导一定是言而有信的领导,肯定会将下属或员工看成自己的合作者,也愿意一样接受制度的制约 。PKI这种第三方验证的方式鼓励了这种平等的合作,表明了一种“在法律面前人人平等”的民主作风 。而使用对称密码技术的员工却不得不无条件地信任密钥分发中心,对称密码的管理系统没有能力提供追究领导责任的技术途径 。
PKI提供的安全服务支持了许多以前无法完成的应用 。PKI技术可以保证运行代码正确地通过网络下载而不被黑客篡改;可以保证数字证件,比如护照的真实性 , 而不用担心被证件阅读者假冒;可以用于版权保护而不用担心没有证据;可以用于负责任的新闻或节目分级管理从而净化文化环境,等等 。
PKI技术并没有一个招牌应用,也没有人们想象中那么迅速的发展 。然而,也许正是没有招牌应用才使得PKI能够成为所有应用的安全基?。幻挥锌焖俜⒄挂残硭得鱌KI的发展不会是昙花一现,而是经久不衰 。作为一项目前还没有替代品的技术 , PKI正逐步得到更加广泛的应用 。
[[i]] Peter Gutmann. PKI:It’s Not Dead, Just Resting.
[[i]] Carlisle Adams, Steve Lloyd. Understanding PKI. Second Edition. Boston: Addison- Wesley, 2002:28.
[[ii]] International Standard. ISO/IEC9594-8. The Directory:Public-key and attribute certificate frameworks. Geneva:ISO, 2000
[[iii]] United States General Accounting Office. Advances and Remaining Challenges to Adoption of Public Key Infrastructure Technology. Washington, D.C.:GAO,2001:74
[[iv]] United States General Accounting Office. Status of Federal Public Key Infrastructure Activities at Major Federal Departments and Agencies. Washington, D.C.:GAO,2003:7
java设置servletoutputstream的文件名字1. 核心代码
//设置Mime-Type
response.setContentType("application/msword");
//设置下载默认文件名
response.setHeader("Content-Disposition", "attachment;filename=123.doc");
登录后复制
完整代码
public RObject download(@PathVariable String id, HttpServletResponse response) {
File uploadFile = new File(id + ".doc");
//获取后缀名
String suffix = uploadFile.substring(uploadFile.lastIndexOf("."));
String responseType = ResponseTypeUtils.getResponseContentByType(suffix);
response.setContentType(responseType);
response.setHeader("Content-Disposition", "attachment;filename=" + System.currentTimeMillis() + suffix);

推荐阅读