1.一种Web表单中使用数字证书自动签名的方法,其特征在于,它包括以下步骤:
步骤1、首先用户打开浏览器,输入目标网址,尝试访问目标应用系统;
步骤2+A、浏览器弹出对话框,强制用户进行数字证书个人身份认证;证书选择对话框中列出终端中所有可用证书,用户必须选择一个合法的证书并点“确定”按钮提交个人证书;
步骤2+B、应用服务器根据步骤2+A中用户选择的数字证书,获得确定其唯一性的标识码;
步骤3、应用服务器将步骤2+B中的标识码和表单一起返回给用户;应用服务器返回给用户Web表单页,表单页中包含用户数字证书指纹,并检查用户是否安装相关的表单签名控件,如果未检查到签名控件,则提示用户安装签名控件,如果检查到用户已安装签名控件,则进行下一步;
步骤4、用户根据应用表单项和自己的实际情况,如实填写表单内容;填写完表单后,点击“提交”按钮提交表单;
步骤5、点击“提交”按钮后,签名控件从用户终端中查找所有可用证书,并自动使用与应用服务器返回的标识码一致的数字证书签名表单,提交给应用服务器。
2.根据权利要求1所述的Web表单中使用数字证书自动签名的方法,其特征在于,步骤
2+A和步骤2+B中个人身份认证操作替换为其它任何需要用户手动选择数字证书的操作。
3.根据权利要求1所述的Web表单中使用数字证书自动签名的方法,其特征在于,如果用户要多次提交表单,则步骤3、步骤4、步骤5多次循环。
4.一种Web表单中使用数字证书自动签名的系统,其特征在于,它包括以下单元,登陆单元:此单元的目的是访问应用系统,用户打开浏览器,输入目标网址,尝试访问目标应用系统;
手动选择数字证书单元:此单元目的是用户第一次涉及到数字证书,需要手动选择,浏览器弹出对话框,强制用户选择数字证书个人身份认证;对话框中列出计算机中所有可用的个人证书,用户必须选择一张证书并点“确定”按钮提交个人证书;
标识单元:此单元目的是应用服务器要获得手动选择数字证书单元中的证书的唯一性的标识码;
返回单元:此单元中返回表单和标识码,应用服务器将标识码和表单一起返回给用户;
填写单元:用户填写数据;
自动选择证书进行签名单元:签名控件查找终端中所有可用证书,并使用与应用服务器返回的标识码一致的数字证书签名表单,提交给应用服务器。
一种Web表单中使用数字证书自动签名的系统和方法\n技术领域\n[0001] 本发明涉及计算机网络Web应用中,使用数字证书对表单提交的数据进行自动签名的系统和方法。尤其当用户使用数字证书进行身份验证并登陆到应用系统后,后续表单提交过程中,自动选择用户数字证书作为用户签名证书,对表单进行签名的方法。\n背景技术\n[0002] 数字证书是证明用户身份的网上标识,在网络中识别通讯各方的身份,即在虚拟社会中解决“我是谁”的问题。通俗的讲,数字证书就好像是网上用户的身份证,能够保证您在网络上进行的交易是安全的和可信的。数字证书主要有如下作用:\n[0003] 1、身份认证\n[0004] 数字证书中包括的主要内容有:证书拥有者的单位信息、证书拥有者的公钥、公钥的有效期、颁发数字证书的CA、CA的数字签名等。\n[0005] 2、加密传输信息\n[0006] 通过数字证书在网上传输数据,这些数据要进行加密,然后以密码的形式在Internet上传输。发送方用接收方的公钥对文件进行加密,接收方用只有自己才有的私钥进行解密,得到文件明文。\n[0007] 3、数字签名抗否认\n[0008] 在现实生活中用公章、签名等来实现的抗否认,在网上可以借助数字证书的数字签名来实现。\n[0009] 数字证书被广泛的使用于军事、金融、电子政务和电子商务领域,用于在因特网中识别使用者的身份,并且可以使用数字证书对网络中传输的数据进行签名,以达到不可否认的目的。\n[0010] 在实际操作过程中,由于Web应用的特殊性,Web控件在每次页面重新加载时都会重置,无法将相关设置保存并多次使用。即使用数字证书对Web表单进行签名应用中,用户每次提交表单,都需要手动选择数字证书。多次手动选择数字证书在实际操作过程中,显得十分繁琐,用户体验很差,特别是当有多个表单提交时(比如在网上报税时,每个用户都需要填很多份表)尤其明显;并且当用户计算机中安装有多个数字证书时,容易出现交叉签名现象。即用户使用A证书登陆,使用B证书签名,或者X表单使用A证书签名,Y表单使用B证书签名,造成混乱。\n发明内容\n[0011] 本发明要解决的技术问题是:根据上文中提到Web应用的特点,即不能将上次交互操作中用户的选择保存,然后在下次操作中使用的限制,提出的一种当用户在之前的交互中手动选择用户证书后,后续的表单自动选择同一张数字证书对表单签名的方法。\n[0012] 传统的表单签名操作步骤如下:\n[0013] 1、首先用户打开浏览器,输入目标网址,尝试访问目标应用系统。\n[0014] 2、浏览器弹出对话框,强制用户进行数字证书个人身份认证。对话框中列出计算机中所有合法的个人证书,用户必须选择一个合法的证书并点“确定”按钮提交个人证书。\n[0015] 3、应用服务器返回给用户Web表单。\n[0016] 4、用户根据应用表单项和自己的实际情况,如实填写表单内容。填写完成后,点击”提交”按钮提交表单。\n[0017] 5、点击“提交”按钮后,浏览器弹出对话框,对话框中列出用户终端中所有可用个人证书,用户选择正确的证书后,点“确认”按钮将表单内容使用此对话框中选定的数字证书签名后提交给服务器。\n[0018] 以上为一个传统的表单签名的操作步骤,当有多个表单提交时,3,4,5步重复进行。用户在第2步和第5步中都手动选择用户数字证书分别用于登陆和签名。本发明要解决的问题是当用户在前面的操作(包括但不限于登陆中手动选择的行为)因应用需要已经手动选择数字证书A,则在后续的表单签名(一次或者多次)中自动为用户选择数字证书A用于表单签名。本发明在传统的步骤上进行改进,步骤如下:\n[0019] 1、首先用户打开浏览器,输入目标网址,尝试访问目标应用系统。\n[0020] 2、浏览器弹出对话框,强制用户进行数字证书个人身份认证。对话框中列出计算机中所有合法的个人证书,用户必须选择一个合法的证书并点”确定”按钮提交个人证书。\n[0021] 2-1、应用服务根据步骤2中用户选择的数字证书,获得确定其唯一性的标识码(比如证书指纹)。\n[0022] 3、应用服务器将步骤2-1中的用户标识码和表单一起返回给用户Web界面。\n[0023] 4、用户根据应用表单项和自己的实际情况,如实填写表单内容。填写完表单后,点击”提交”按钮提交表单。\n[0024] 5、点击“提交”按钮后,签名控件从用户终端中查找所有可用证书,并自动使用与应用服务器返回的唯一标识码一致的数字证书签名表单,提交给服务器。\n[0025] 其中:\n[0026] ●步骤2可以为任何需要用户手动选择数字证书的操作,不仅限于身份认证登陆操作。\n[0027] ●步骤2本身可以为表单签名操作,则第一次表单签名时手动选择数字证书,同一会话中后续表单签名(如果应用中有多次表单签名)则适用使用本发明中的自动签名方法。\n[0028] ●在同一会话中,如果某次表单签名之前,服务器以任何方式已经获得用户数字证书唯一标识码,则适用本发明的自动签名方法。\n[0029] ●如果用户要多次提交表单,则步骤3,4,5多次循环。\n[0030] 在实际表单签名应用中,本发明方法避免用户多次重复选择用户证书,即做到一次手动选择,多次使用。既避免了交叉签名提交的非法或者无效表单带来的麻烦,减少了误操作发生的概率,又减少手动选择证书的次数,有效的改善了用户体验。\n附图说明\n[0031] 下面结合附图对本发明作进一步的说明。\n[0032] 图1为常见的使用数字证书身份认证后使用本发明进行表单自动签名的过程[0033] 图2为没有使用数字证书身份认证登陆时使用本发明对多个表单自动签名的过程\n具体实施方式\n[0034] 下面结合附图和实施例对本发明进一步描述。\n[0035] 实施例一,如图1所示:\n[0036] 本实施例以常见的SSL应用(注1)为例,用户通过手动选择数字证书登陆应用系统,然后提交一个表单并签名,表单自动签名的步骤如下:\n[0037] 1、用户在浏览器中输入地址,以https协议通过加密访问SSL来尝试访问目标应用。\n[0038] 2、SSL根据设置的级别,发送命令给用户浏览器,浏览器弹出证书选择对话框,强制用户出示数字证书。\n[0039] 3、用户在证书框中选择自己的数字证书并点“确定”按钮确定。\n[0040] 4、SSL获得用户提交的数字证书相关信息,并将证书的指纹(唯一标识码)传递给应用服务器。\n[0041] 5、应用服务器从SSL获得访问请求和用户数字证书相关信息后,并进行相关身份验证,如果非法,则拒绝访问。如果合法则进行下一步。\n[0042] 6、应用服务器返回给用户Web表单页,表单页中包含用户数字证书指纹。并检查用户是否安装相关的表单签名控件,如果未检查到签名控制,则提示用户安装签名控件。如果检查到用户已安装签名控件,则进行下一步。\n[0043] 7、用户根据实际情况填写表单,填写完成后,点“提交”按钮。\n[0044] 8、签名控件从用户终端中查找所有可用证书,如果查找到与表单中包含的指纹一致的数字证书,则使用此证书对表单进行签名并提交到服务器。如果查不到与表单中包含的指纹一致的证书,则根据应用需要进行相应处理。\n[0045] 注1:在网络中有多种用户身份认证方式,常见的身份认证方式则是用户名口令认证方式。而在金融,军事等对可靠性要求非常高的应用中,常用SSL和数字证书进行身份认证,用户在登陆系统中,要求出示数字证书并验证身份信息。\n[0046] 实施例二,如图2所示:\n[0047] 本实施例以没有用户身份登陆过程,仅有两个表单需要签名为例,描述本发明中的自动签名的使用过程:\n[0048] 1.用户在浏览器中输入应用服务地址,尝试访问目标应用。\n[0049] 2.应用服务器返回给用户Web表单页,并检查用户是否安装相关的表单签名控件,如果未检查到签名控制,则提示用户安装签名控件。如果检查到用户已安装签名控件,则进行下一步。\n[0050] 3.用户根据实际情况填写表单,填写完成后,点“提交”按钮。\n[0051] 4.浏览器弹出数字证书选择对话框,用户选择用于签名的数字证书后,点“确定”按钮。\n[0052] 5.签名控件使用步骤4中选择的数字证书对表单进行签名,并发送到应用服务器。\n[0053] 6.应用服务器通过步骤5中表单签名提交信息获得用户数字证书唯一标识识别码指纹。\n[0054] 7.应用服务器返回给用户下一个Web表单页,表单页中包含用户数字证书指纹。\n并检查用户是否安装相关的表单签名控件,如果未检查到签名控制,则提示用户安装签名控件。如果检查到用户已安装签名控件,则进行下一步。\n[0055] 8.用户根据实际情况填写表单,填写完成后,点“提交”按钮。\n[0056] 9.签名控件从用户终端中查找所有可用证书,如果查找到与表单中包含的指纹一致的数字证书,则使用此证书对表单进行签名并提交到服务器。如果查不到与表单中包含的指纹一致的证书,则根据应用需要进行相应处理。\n[0057] 虽然本发明通过实施例进行了描述,但实施例并非用来限定本发明。本领域技术人员可在本发明的精神的范围内,做出各种变形和改进,所附的权利要求应包括这些变形和改进。
法律信息
- 2012-09-05
- 2010-02-17
- 2009-12-23
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-05-14
|
2007-12-12
| | |
2
| |
2004-11-17
|
2003-12-17
| | |
3
| |
2006-09-20
|
2006-03-22
| | |
4
| |
2007-01-17
|
2006-06-26
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |