论文部分内容阅读
近年来工作流管理(WFM)技术日益成熟,企业无纸化办公的进程也随之加快。企业在构建信息系统时希望把传统办公中低效、费时、高成本的业务如:单据、报表、文件的审批结合工作流管理技术搬上信息系统,要开发这样的信息系统,一个亟待解决的问题就是如何保证单据、报表在网上自动流转审批过程中的身份验证、数据完整、不可篡改和不可抵赖?作为目前被国内外普遍公认为技术相对最成熟的电子签名技术——基于PKI(Public Key Infrastructure公钥基础设施)的数字签名技术可以解决这个问题。 随着J2EE(Java 2 Enterprise Edition)平台的日趋成熟,目前许多应用是基于J2EE平台的,本论文主要研究的是将微软公司的一个高性能加密应用程序接口组件CAPICOM引入J2EE平台后如何与Java结合共同完成数字签名的问题。论文在分析了目前常用方法存在的不足和缺陷后,提出了采用MVC(Model-View-Controller,模型-视图-控制器)设计模式(具体采用Struts框架)在模型层进行证书和签名的验证的观点,论文通过分析ASN.1(Abstract Syntax Notation One,抽象语法标准)和PKCS#7(Cryptographic Message Syntax Standard,加密消息语法标准)语法标准并结合实验建立了CAPICOM,ASN.1,PKCS#7三者的关联,在Struts框架下通过Java扩展库IAIK从PKCS#7格式的签名结果(前台CAPICOM签名后的签名结果采用的是PKCS#7格式)中提取出了消息摘要和签名证书,实现了在MVC设计模式的模型层进行证书有效性验证和数据完整性验证的目的。 本研究将多用于Windows平台下的CAPICOM与Java结合完成了数字签名。CAPICOM的引入避免了部分重复编程,又可以方便地访问本机当前登陆用户的证书存储库;在MVC设计模式的模型层进行证书和签名的验证提高了验证的可靠性又使软件的可复用性和可扩展性更强,从设计模式角度也更加规范。已将研究成果应用于实际项目,投入运行后取得了较满意的效果。