身份管理与数字证书信息同步的设计与实现毕业论文.doc_第1页
身份管理与数字证书信息同步的设计与实现毕业论文.doc_第2页
身份管理与数字证书信息同步的设计与实现毕业论文.doc_第3页
身份管理与数字证书信息同步的设计与实现毕业论文.doc_第4页
身份管理与数字证书信息同步的设计与实现毕业论文.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河北工业大学2015届本科毕业论文河 北 工 业 大 学毕 业 论 文作 者: 范东媛 学 号 112527 学 院: 计算机科学与软件学院 系(专业): 计算机科学与技术 题 目: 身份管理与数字证书信息同步的设计与实现 指导者: (姓 名) (专业技术职务)评阅者: (姓 名) (专业技术职务) 年 月 日毕业设计(论文)中文摘要题 目:身份管理与数字证书信息同步的设计摘要: 伴随着信息安全的发展安全,PKI数字证书技术的使用在用户管理过程中也存在许多繁琐的工作,给用户管理着带来很多不便。授权和管理在两个系统间反复的输入用户信息。身份管理与数字证书同步系统解决了这个问题,只需要一次根证书的认证,就可以在信息管理系统中自动调用申请接口,自动完整数字证书的签发过程,既保证了安全,又带来了方便。因此在效率与安全的时代,身份管理与数字证书信息同步系统应需求而产生。关键词: PKI技术 数字证书 信息安全 河北工业大学2015届本科毕业论文毕业设计(论文)外文摘要Title Identity Management and Digital Certificate Information Synchronization Abstract With the development of information security,there are many tedious workin the management of using the PKIdigital certificate technology.itbrings many inconveniences to management.usersinformation should be inputed of Authorization System,and it should be input of Management System too.The Identity Management and Digital Certificate Synachronization System solves the problem.It only needs arootcertificate,and admins can automaticcallinterface of applying cert when managing users information.So it can automatically complete digital certificate issuance .Obviously ,it is safety and convenience.In the era with efficiency and security,The Identity Management and Digital Certificate Information Synchronization System should be produced.Keywords: PKI digital certificate Information security 目 录1 引言1矚慫润厲钐瘗睞枥庑赖。1.1 论文的选题背景1聞創沟燴鐺險爱氇谴净。1.2 论文的研究意义1残骛楼諍锩瀨濟溆塹籟。1.4 论文的内容安排2酽锕极額閉镇桧猪訣锥。2 相关技术简介与研究意义2彈贸摄尔霁毙攬砖卤庑。2.1 PKI2謀荞抟箧飆鐸怼类蒋薔。2.1.1 什么是PKI2厦礴恳蹒骈時盡继價骚。2.1.2 PKI的技术的研究内容2茕桢广鳓鯡选块网羈泪。2.1.3 PKI优点3鹅娅尽損鹌惨歷茏鴛賴。2.1.4 PKI的意义4籟丛妈羥为贍偾蛏练淨。2.1.5 中国商用PKI系统体系4預頌圣鉉儐歲龈讶骅籴。2.2 CA 证书认证中心4渗釤呛俨匀谔鱉调硯錦。2.2.1 什么是CA4铙誅卧泻噦圣骋贶頂廡。2.2.2 CA的工作过程4擁締凤袜备訊顎轮烂蔷。2.3 RA 注册机构5贓熱俣阃歲匱阊邺镓騷。2.3.1 什么是RA5坛摶乡囂忏蒌鍥铃氈淚。2.3.2 RA的工作过程6蜡變黲癟報伥铉锚鈰赘。2.3.3 RA的意义6買鲷鴯譖昙膚遙闫撷凄。2.4 KMC6綾镝鯛駕櫬鹕踪韦辚糴。2.4.1 什么是KMC6驅踬髏彦浃绥譎饴憂锦。2.4.2 KMC的工作过程6猫虿驢绘燈鮒诛髅貺庑。2.4.3 KMC研究的意义7锹籁饗迳琐筆襖鸥娅薔。2.5 数字证书7構氽頑黉碩饨荠龈话骛。2.5.1 什么是数字证书7輒峄陽檉簖疖網儂號泶。2.5.2 数字证书的描述方法7尧侧閆繭絳闕绚勵蜆贅。2.6 X.509 标准8识饒鎂錕缢灩筧嚌俨淒。2.6.1 X.509简介8凍鈹鋨劳臘锴痫婦胫籴。2.6.2 X.509数字证书8恥諤銪灭萦欢煬鞏鹜錦。3 关于身份管理与数字证书同步系统的设计分析13鯊腎鑰诎褳鉀沩懼統庫。3.1 系统用例图13硕癘鄴颃诌攆檸攜驤蔹。3.2 RA证书审核模型13阌擻輳嬪諫迁择楨秘騖。3.3 CA数字证书颁发模型15氬嚕躑竄贸恳彈瀘颔澩。3.4 KMC密钥生成模型17釷鹆資贏車贖孙滅獅赘。3.5 接口说明18怂阐譜鯪迳導嘯畫長凉。3.5.1 证书申请接口-applyCert18谚辞調担鈧谄动禪泻類。3.5.2 证书制作接口-writeCertToKey19嘰觐詿缧铴嗫偽純铪锩。3.5.3 自动申请并制作证书接口-autoApplyAndWriteKey20熒绐譏钲鏌觶鷹緇機库。3.5.4 证书更新接口-updateCert21鶼渍螻偉阅劍鲰腎邏蘞。3.6 重要数据库表的设计22纣忧蔣氳頑莶驅藥悯骛。4 测试与分析25颖刍莖蛺饽亿顿裊赔泷。4.1 测试实例说明26濫驂膽閉驟羥闈詔寢賻。4.2 环境部署26銚銻縵哜鳗鸿锓謎諏涼。4.3.1 必备的开发工具26挤貼綬电麥结鈺贖哓类。4.2.2 配置步骤26赔荊紳谘侖驟辽輩袜錈。4.3 操作以及代码说31塤礙籟馐决穩賽釙冊庫。4.3.1 证书申请31裊樣祕廬廂颤谚鍘羋蔺。4.3.2 证书制作33仓嫗盤紲嘱珑詁鍬齊驁。4.3.3 自主制证36绽萬璉轆娛閬蛏鬮绾瀧。4.3.4 证书更新38骁顾燁鶚巯瀆蕪領鲡赙。结 论40瑣钋濺暧惲锟缟馭篩凉。参 考 文 献41鎦诗涇艳损楼紲鯗餳類。致 谢42栉缏歐锄棗鈕种鵑瑶锬。- 2 -1 引言 1.1 论文的选题背景近年来,对着Internet的迅速崛起,互联网已经进入了人们工作学习的各个方便,不仅仅是各个大中小企业对员工的信息管理,还有各个购物网站,资料网站还有各种方便人们交流生活的平台的信息管理,如何在不影响用户方便性的同时保证用户信息的安全性是一个重大的挑战,PKI数字证书的设计与实现为信息的安全性带来了生机。辔烨棟剛殓攬瑤丽阄应。但是在管理着用这种方法对庞大的用户信息进行管理的时候出新了一个新的问题,就是操作的复杂性。PKI技术在保证安全的同时也为用户设计了重重的关卡,比如录入用户信息,审核用户信息,证书制作,密钥生成等工作。为了信息安全又不用重复操作,就需要把证书颁发系统与身份管理系统相结合,管理者运用某种权限使得证书可以自动完成复杂的录入、审核、制证等操作。于是身份管理与数字证书信息同步系统应运而生。峴扬斕滾澗辐滠兴渙藺。1.2 论文的研究意义该系统并不是每个用户都可以自动创建证书,而必须是拥有某种权限的人才可以,即拥有足够权限的数字证书登录的时候才可以自动创建证书,并且可以根据数字证书里面的信息判断证书的类型等相关属性,这样便可以有法则的安全的创建并管理用户。詩叁撻訥烬忧毀厉鋨骜。目前,这种技术不仅仅运用在各大中小企业、各大网站等民用的信息管理系统中,在政府军用机关也运用相关技术。在完成身份管理与数字证书信息同步系统后,发现里面的原理知识很严密,PKI这种安全的基础设施有待继承和研究,希望以此论文显示我的研究成果,与各位相关学者们进行讨论,推动该技术的更新与发展。则鯤愜韋瘓賈晖园栋泷。1.3 论文的内容安排经过了半个多学期的研究之后,有一定的成果,下面就以论文的形式展示出来,一下详细介绍一下论文的大概内容安排。胀鏝彈奥秘孫戶孪钇賻。该论文第一章是引言;第二章主要讲述身份管理与数字证书同步系统所遇到的相关技术和算法;第三章会结合身份管理与数字证书同步系统,来更加完美的展示这种同步技术;第四章是对本系统进行测试,用实际总结该系统优缺点;最后总结了一下经验教训,确定自己今后在这个课题上的研究方向。鳃躋峽祷紉诵帮废掃減。2 相关技术简介与研究意义2.1 PKI 2.1.1 什么是PKI PKI是public key Infrastructure 的缩写,广义来讲就是用公开密钥的概念和技术来实施和提供安全服务的具有普适性的安全基础设施,也就是说任何以公钥技术为基础的设施都叫PKI,即没有好的非对称算法和好的密钥管理就不可能提供完善的安全服务,也就不是PKI。这个说法也就说明了PKI必须具有密钥管理功能。稟虛嬪赈维哜妝扩踴粜。 综上所述,即PKI是用公钥概念和技术实施的,支持公开密钥的管理并提供真实性、保密性、完整性以及可追究性安全服务的具有普适性的安全基础设施。陽簍埡鲑罷規呜旧岿錟。2.1.2 PKI的技术的研究内容 PKI在公开密码学的基础上,主要解决密钥认证的问题。PKI的核心技术就是围绕数字证书的申请、颁发、使用与撤销等整个生命周期展开的。证书撤销是最容易被忽视但也是PKI很重要的一部分,是安全基础设施必须提供的一项服务。沩氣嘮戇苌鑿鑿槠谔應。PKI的研究对象包括:数字证书、颁发数字证书的证书认证中心、证书持有者、证书使用者、证书注册机构、证书存储和查询服务器、证书状态查询服务器和证书验证服务器等。PKI最基本的组件是证书认证中心(CA)、证书持有者和依赖方。证书持有者是指公钥对应私钥的持有者。依赖方是指使用其他人证书来进行加密通信、身份鉴别、数字签名验证等安全操作的实体。PKI的辅助组件有注册机构(registration authority,RA)、资料库(repository)系统、密钥管理系统(key management system)、OCSP(online certificate status protocol)服务器、CRL Issuer等。辅助组建不是必须的,只是在某种情况下用来更加完善PKI系统,使其更好的完成服务。钡嵐縣緱虜荣产涛團蔺。另外,为了更好的发展PKI基础设施,PKI域之间的互联是建设一个没有漏洞的范围大的网络应用的关键。在PKI互联过程中,PKI关键设备之间,PKI末端用户之间,网络应用与PKI系统之间的相互操作与接口技术是PKI发展的重要保证。懨俠劑鈍触乐鹇烬觶騮。2.1.3 PKI优点 PKI具有强大的生命力,以公钥密码技术为灵魂,以数字证书为核心。凭借自己的优势已经渐渐渗入网络的各个层面。PKI的优势主要表现在一下几个方面。謾饱兗争詣繚鮐癞别瀘。(1)采用公开密钥技术;(2)保护机密性;(3)采用数字证书的方式进行服务;(4)提供证书撤销机制;(5)具有特别高的互连的能力2.1.4 PKI的意义PKI的意义在于人们日常生活中,最常见的例子,电子商务,现在网购逐渐增多,而PKI提供的任意三方可验证服务提供了一个更加公平的平台,这样的方式使得电子商务变得更加民主和和谐。呙铉們欤谦鸪饺竞荡赚。另外,PKI支持很多以前无法实现的服务。比如,PKI保证下载文件不被黑客篡改,可以保证护照等证件的真实性。但是PKI技术并没有发展的很迅速,或许正式因为其重大的意义和扎实的基础才才发展的如此缓慢。PKI是无可替代的。莹谐龌蕲賞组靄绉嚴减。2.1.5 中国商用PKI系统体系证书认证系统密码及其相关技术规范是由中华人民共各国国家密码管理局颁布的标准,主要是指导公众服务证书认证系统的建设和检测评估。麸肃鹏镟轿騍镣缚縟糶。该规范的组件有证书管理系统和证书/CRL签发系统(证书的签发、证书撤销和CRL签发,即CA)、用户注册管理系统和远程用户注册管理系统(RA)、证书/CRL存储发布系统和证书/CRL查询系统(资料库)、密钥安全中心(KMC)和安全管理系统(系统审计和安全防护)。納畴鳗吶鄖禎銣腻鰲锬。2.2 CA 证书认证中心2.2.1 什么是CACA是负责公钥的归属的组件,且其技术手段也是非常可靠的。CA通过数字证书的方式为用户提供公钥证明。因为CA是PKI系统中被通信的双方信任的实体,故被称为可信第三方(trusted third party,TTP),也因此其签名认证是不可否认的。風撵鲔貓铁频钙蓟纠庙。2.2.2 CA的工作过程CA作为可信第三方,就必须让信任实体拥有追究自己责任的能力。用户将自己的身份信息和公钥发送给CA,由CA验证并签名,给该用户颁发数字证书,证书中就绑定了公钥数据和该用户的信息并和CA的签名,并且还有CA的名称,这样便可以方便其他用户找到CA签名的验证公钥。灭嗳骇諗鋅猎輛觏馊藹。那么依赖方是如何进行验证的呢?每一个CA都有一对自己的公私钥,公钥可以用另一个CA签名后发布,也可以通过广播、电视或者红头文件来公告CA的公钥,其私钥对每一个数字证书进行数字签名,CA实现公钥获取数据起源的鉴别,保证数据完整性和非否认性。当然,如果用户因为信任了证书而导致了损失,证书可作为有效的证据来追究签名CA的责任。铹鸝饷飾镡閌赀诨癱骝。中国商用PKI系统结构图如图2-1所示:图2-1 中国商用PKI系统结构图2.3 RA 注册机构2.3.1 什么是RARA是证书注册机构,是CA与用户之间的接口。正如其名,它的作用是在CA证书进行签名前进行审核以确保证书上面内容的有效性。从而使得PKI系统更加安全。攙閿频嵘陣澇諗谴隴泸。另外,为了与用户更好的交互,完善PKI系统的功能,RA注册机构也会对用户身份信息进行管理,以及安全的数字证书的下载、发放等功能。趕輾雏纨颗锊讨跃满賺。2.3.2 RA的工作过程验证者提交公钥和自己的身份信息后,RA首先要检测申请者拥有相应的私钥,另外还要对密钥的安全强度(密钥长度、密钥的使用期密钥种子)、密钥托管和恢复、算法等进行审核;然后,RA系统要进行对申请着身份的验证,确定申请者就是证书所标识的试题,或者申请者有足够的权限来代替其他的申请者,还要检查申请者身份信息中的各个方面的内容(姓名等)进行检查。然后,RA检查申请者希望证书可能希望在证书上面附加的其他内容,另外还要检测用户的缴费情况、合同签订、犯罪记录等;最后还要获取申请者的联系电话、邮编地址等信息,以方便PKI系统可以回访用户。在上述一系列的审核中有大量的人工参与,不仅仅是RA系统自动完成,所以RA系统必须提供一个友好的交互页面。夹覡闾辁駁档驀迁锬減。2.3.3 RA的意义为了使PKI系统的建设保证网络信息以及网络通讯的安全,保证网络数据以及用户信息的保密性、完整性和不可抵赖性,RA是不可或缺的一部分。视絀镘鸸鲚鐘脑钧欖粝。RA不仅仅可以直接与用户进行交互,管理用户信息以及证书等相关业务,在后期的维护以及其对用户信息的审核都有着重要的作用。偽澀锟攢鴛擋緬铹鈞錠。2.4 KMC2.4.1 什么是KMCKMC是密钥管理中心(也称密钥托管中心),有生成管理密钥的功能,它可以通过加密机或者加密卡来生成密钥,另外支持安全网络通道传输数据。它是第三方可信任机构,一个KMC可以为多个CA进行服务。緦徑铫膾龋轿级镗挢廟。2.4.2 KMC的工作过程KMC负责密钥的管理和存储,其内部的加密机(加密卡)可生成密钥对,并且把备用密钥对存在数据库中。KMC中主要包括三个数据库、加密卡和通讯密钥对。三个数据库分别是备用密钥数据库、在用密钥数据库和历史密钥数据库。备用密钥数据库是存储加密机新生成密钥(暂时没有被分配),在用密钥数据库存储的是正在使用中的密钥,历史数据库存储的是因过期等其他原因现在不再使用的密钥。加密卡用来生成新的密钥,通讯密钥对用来与CA进行安全通信。騅憑钶銘侥张礫阵轸蔼。KMC的大概工作过程就是:解析CA发来的申请密钥信息,然后从备用数据库中取出密钥,并且将申请人信息与密钥保存在在用数据库中,然后构成返回信息,最后通过网络安全通道传送给CA。疠骐錾农剎貯狱颢幗騮。此外,KMC还涉及密钥恢复、密钥撤销等功能,其过程与申请密钥类似。2.4.3 KMC研究的意义KMC的出现似的PKI系统更加完整和安全,为保护用户的隐私和保证相关政府部门的监听权做出了突出贡献。2.5 数字证书2.5.1 什么是数字证书数字证书由证书内容、签名算法和签名结果组成,数字证书为了证明公钥的所属而存在。数字证书的内容一般包括版本号、证书主体、主体公钥信息、签发者、序列号、有效期等合理性信息。镞锊过润启婭澗骆讕瀘。2.5.2 数字证书的描述方法大多数数字证书的描述使用ASN.1语法标记标准,它是一种既简单,有没有歧义的内容描述语言。在PKI系统中关于目录、名字、证书和通信的诸多方面使用到了ASN.1语言。榿贰轲誊壟该槛鲻垲赛。2.6 X.509 标准2.6.1 X.509简介X.509 标准是ITU-T设计的PKI标准,踏实为了解决X.500目录中的身份鉴别和访问控制问题而设置的。X.509最基本的组件有 CA、证书持有者、依赖方和资料库。X.509标准也只是为X.509目录来服务的。其定义了证书和CRL的数据格式。邁茑赚陉宾呗擷鹪讼凑。2.6.2 X.509数字证书X509是用ASN.1来描述证书信息的。PKI中广泛使用X.509证书格式。那么下面就用ASN.1来描述X.509证书的整体结构。证书分为三大部分:证书内容(tbsCertificate)、签名算法 (sinnatureAlgorithm)和签名结构(signatureValue)。嵝硖贪塒廩袞悯倉華糲。证书内容的描述:fCertificate := SEQUENCEftbsCertificate fTBSCertificatefsinnatureAlgorithm fAlgorithmIdentifier该栎谖碼戆沖巋鳧薩锭。fsignatureValue BIT STRING签名算法为CA对证书签名时的算法,其类型为AlgorithmIdentifier。fAlgorithmIdentifier := SEQUENCEfAlgorithm OBJECT IDENTIFIER,fParameters ANY DEFINED BY algorithm OPTIONAL劇妆诨貰攖苹埘呂仑庙。fTBSCertificate := SEQUENCEfVersion 0 EXPLICIT Version DEFAULT v1,臠龍讹驄桠业變墊罗蘄。fserialNumber fCertificateSerialNumber,鰻順褛悦漚縫冁屜鸭骞。fsignature fAlgorithmIdentifier,穑釓虚绺滟鳗絲懷紓泺。fissuer fName,fvalidity fValidity,fsubject fName,fsubjectPublicKeyInfo fSubjectPublicKeyInfo,隶誆荧鉴獫纲鴣攣駘賽。fissuerUniqueID 1 IMPLICIT UniqueIdentifier OPTIONAL浹繢腻叢着駕骠構砀湊。fsubjectUniqueID 2 IMPLICIT UniqueIdentifier OPTIONAL鈀燭罚櫝箋礱颼畢韫粝。fextensions 3 EXPLICIT Ectensions OPTIONAL 惬執缉蘿绅颀阳灣熗鍵。issuerUniqueID 为签发者唯一标识,subjectUniqueID为主体唯一标识。版本号、序列号用整数方式给出。签发者与证书序列号配合,唯一标识一张数字证书。贞廈给鏌綞牵鎮獵鎦龐。fVersion := INTEGERv1(0),v2(1),v3(2)fCertificateSerialNumber := INTEGER签发者和主体fName := CHOICEfRDNSequencefRDNSequence := SEQUENCE OF fRelativeDistinguishedName嚌鲭级厨胀鑲铟礦毁蕲。fRelativeDistinguishedName := SET OF AttributeTypeAndValue薊镔竖牍熒浹醬籬铃騫。fAttributeTypeAndValue := SEQUENCEftype AttributeTypefvalueAttributeValue证书的有效期fValidity := SEQUENCEfnotBefore fTime,fnotAfterfTimefTime := CHOICEfutcTime UTCTime,fgeneralTime GeneralizedTime主体公钥信息fSubjectPublicKeyInfo := SEQUENCEfalgorithm fAlgorithmIdentifier,fsubjectPublicKey BIT STRING签发者和主体唯一标识符fSubjectPublicKeyInfo := BIT STRING下面是本系统证书属性的图片(图2-2、图2-3)图2-2 证书格式(1)图2-3 证书格式(2)3 关于身份管理与数字证书同步系统的设计分析3.1 系统用例图图3-1 系统用例图3.2 RA证书审核模型RA的证书审核包括了申请人信息的录入以及身份的核实,这是认为参与最多的一个过程,并且从录入到审核这个时间是没有办法估量。此外RA系统对于用户资料和维护等作用,下图主要说明一下RA参数证书制作过程中的作用,即用户信息的注册申请以及用户身份的审核。齡践砚语蜗铸转絹攤濼。RA服务是可以录入产生系统证书的申请信息且产出证书的申请文件的一项比较面向用户的服务。管理员A录入证书的申请信息,然后经过核实申请人身份后,如果申请人符合证书申请的条件则审核通过,否则审核不通过;未通过审核的申请人依然处于待审核状态,如果审核通过后将允许制作证书,RA将申请信息发送给CA进行制证,CA将制作好的证书以及其他相关信息发送给RA;最后RA将反馈证书的制作情况(成功或者失败),显示成功即证明已经把证书制作好并且将证书保存在了对应的Key里。绅薮疮颧訝标販繯轅赛。3.3 CA数字证书颁发模型在RA审核完申请人的身份后会向CA发送请求,那么CA是如何处理这些请求的呢?如图3-2在申请人通过RA的审核后,RA准备证书的申请信息,RA根据证书的申请信息构造XML文件,XML文件还要包括证书的类型,其中签名证书(包括双证证书)的申请信息内包括PXCS10信息。然后RA用自己的加密卡将XML申请信息加密后,饪箩狞屬诺釙诬苧径凛。将申请文件通过安全通道发送给CA,下面CA系统才真正的开始工作。CA系统开始解析包含申请信息的XML文件,解析完成后,把申请信息保存到数据库中;然后判断申请信息中是否有加密信息。如果有则证明申请者需要的证书为是加密证书或者双证,CA构造密钥申请信息,并且将密钥申请信息通过安全通道传送到KMC中,KMC接收到申请后对信息进行处理,获得密钥对后构造返回信息,然后完成对返回信息的加密,最后将信息通过安全通道发送会CA中,CA对返回信息进行解析,并且根据返回信息中的密钥重构申请信息,然后CA对证书进行签名,即制作证书;如果为签名证书则不用向KMC中发送密钥申请,直接制作证书;最后将证书通过安全通道发送给RA,然后RA对证书进行管理和颁发。烴毙潜籬賢擔視蠶贲粵。图3-3 为CA数字证书颁发模型图3-2 RA证书审核模型3.4 KMC密钥生成模型对与KMC,与其说是密钥生成,不如说是密钥管理,其主要的功能便是管理密钥,下面介绍一下KMC的工作过程(如图3-4)。鋝岂涛軌跃轮莳講嫗键。图3-3 CA数字证书颁发模型当RA申请信息有加密信息时,CA解析发现后就会向KMC发送信息以申请密钥,然后通过网络安全通道进行送申请密钥的信息,KMC获得并解析完申请信息后,访问数据库(KMC中的加密卡事先生成的密钥对存储在数据库中),获得密钥对,然后用密钥对和获得的申请信息重构返回信息,KMC将返回信息通过网络安全通道发送给CA,交给CA进行处理。撷伪氢鱧轍幂聹諛詼庞。图3-4 KMC密钥生成模型3.5 接口说明3.5.1 证书申请接口-applyCert本接口提供从PKI注册服务中申请证书(自动审核)。1)访问方式http:/WebServiceIP/RAServiceProject/ws/applyCert踪飯梦掺钓貞绫賁发蘄。2)参数说明commonName=用户名domainName=域名usbKeyProvider=usbkey驱动名3)返回结果说明如表3-1表3-1 证书申请接口参数说明参数说明Root 根节点Result root子节点返回标志,ture表示成功,false表示失败Info root子节点,返回的提示信息,例如返回错误时的提示信息Cert root子节点,证书申请对象certApplicationId cert子节点,证书申请对象编号,具有唯一性rsaEncry cert子节点,key中的容器名3.5.2 证书制作接口-writeCertToKey本接口提供证书的制作服务。1)访问方式http:/WebServiceIP/RAServiceProject/ws/writeCertToKey婭鑠机职銦夾簣軒蚀骞。2)参数说明certApplicationId=证书申请对象编号3)返回结果说明如表3-2表3-2 证书制作接口参数说明参数说明root根节点resultroot子节点,返回结果标识,true表示成功,false表示失败inforoot子节点,返回的提示信息,例如返回错误时的提示信息certroot子节点,证书对象certApplicationIdcert子节点,证书申请对象编号,具有唯一性p12CertPasswordcert子节点,证书密码p12EncryCertcert子节点,证书信息rsaEncrycert子节点,key中的容器名serialNumbercert子节点,证书序列号,具有唯一性usbKeyProvidercert子节点,usbkey驱动名3.5.3 自动申请并制作证书接口-autoApplyAndWriteKey本接口提供自动申请并制作证书的综合接口。1)访问方式http:/WebServiceIP/RAServiceProject/ws/autoApplyAndWriteKey譽諶掺铒锭试监鄺儕泻。2)参数说明commonName=用户名domainName=域名usbKeyProvider=usbkey驱动名3)返回结果表3-3 自动申请并制作接口参数说明参数说明root根节点resultroot子节点,返回结果标识,true表示成功,false表示失败inforoot子节点,返回的提示信息,例如返回错误时的提示信息certroot子节点,证书对象certApplicationIdcert子节点,证书申请对象编号,具有唯一性p12CertPasswordcert子节点,证书密码p12EncryCertcert子节点,证书信息rsaEncrycert子节点,key中的容器名serialNumbercert子节点,证书序列号,具有唯一性usbKeyProvidercert子节点,usbkey驱动名3.5.4 证书更新接口-updateCert本接口提供证书更新服务。1)访问方式http:/WebServiceIP/RAServiceProject/ws/updateCert俦聹执償閏号燴鈿膽賾。2)参数说明servialNumber=证书序列号3)返回结果表4-4 证书更新接口参数说明参数说明root根节点resultroot子节点,返回结果标识,true表示成功,false表示失败inforoot子节点,返回的提示信息,例如返回错误时的提示信息certroot子节点,证书对象certApplicationIdcert子节点,证书申请对象编号,具有唯一性p12CertPasswordcert子节点,证书密码p12EncryCertcert子节点,证书信息rsaEncrycert子节点,key中的容器名serialNumbercert子节点,证书序列号,具有唯一性usbKeyProvidercert子节点,usbkey驱动名3.6 重要数据库表的设计因为本系统是一个庞大的PKI系统的一部分,所以下面只涉及与本系统有关的数据库表。表3-5 cert数据库表序号字段说明数据类型允许为空主键外键备注1idIDbigint否是2application_id证书申请对象IDbigint是3startTime开始时间datetime4endTime结束时间datetime5signCert签名证书mediumblob6serialNumber序列号varchar7encryptP12Cert加密算法mediumblob8certState证书状态char9p12CertPassword证书密码varchar10caServer_idCA服务器IDbigint是11registerServer_idRA服务器IDbigint是12approve审核状态bit13AuditingState审计状态char14certRevokeCause_name证书撤销原因varchar是表3-6 Cert数据库表的外键表标号字段说明参考数据库引用表引用表字段名删除时刷新时1certRevokeCause_name证书撤销原因radbcertrevokecausenamerestrictrestrict2application_id申请对象IDradbapplicationidrestrictrestrict3registerServer_idRA服务器IDradbregisterserveridrestrictrestrict4caServer_idCA服务器IDradbcaserveridrestrictrestrict表3-7 cert数据库表的索引表编号字段索引类型1registerServer_idNormal2Systemuser_idNormal3caServer_idNormalSystemuser表登录的时候调用并判断用户类型,在自动制证的时候自动填写其权限内的可申请证书类型、CA服务器等值。缜電怅淺靓蠐浅錒鵬凜。registerServer是注册服务器表,它存放的是系统的后台管理部分的默认服务器对象,在本系统中没有涉及任何操作,只是在证书申请的时候用到了默认的注册服务器,所以不具体说明该表。骥擯帜褸饜兗椏長绛粤。caServer也是默认的CA服务器,不具体说明该表。表3-8 application数据库表标号属性名说明数据类型为空主键外键备注1idIDbigint否是2publicKey公钥text3type类型char4certSelectchar5certType证书类型char6backupKeybit7auditingState审计结果char8caServer_idCA服务IDbigint是9keySource源keychar10keyPurpose目标keychar11keyLengthKey长度int12usbKeyProviderKey提供者varchar13registerServer_id注册服务器idbigint是14approve审核状态bit15SystemUser_idbigint是16createTime创建时间timestamp否17city城市varchar18commonName通用名varchar19communicationAddress通信地址varchar4 测试与分析RAServiceClient是基于eclipse创建的javaweb工程,其结构如下图4-1:图4-1 RAServiceClient工程结构图com.ncs.pki.remote.webservice.service包下是使用apache-cxf-2.6.16/bin下的wsdl2java命令生成的webservice客户端代码;com.ncs.pki.web.action包下是struts2处理请求action;struts.xml是struts2的配置文件,主要完成请求路径配置及结果映射。癱噴导閽骋艳捣靨骢鍵。4.1 测试实例说明本系统最主要的功能就是证书申请、证书制作、自主制证和证书更新。下面说明证书申请(自动审核)、制证、自主制证及证书更新进行测试,首先是为了可以测试系统功能是否完善,其次是为了便于大家理解该系统。鑣鸽夺圆鯢齙慫餞離龐。4.2 环境部署4.3.1 必备的开发工具工具:Eclipse3.4 、jdk1.5、tomcat6数据库:mysql操作系统:window XP其他:key专用的工具另外还有证书申请、证书制作、自主制证和证书更新的接口4.2.2 配置步骤1、 JDK安装安装JDK的版本为JDK7,安装JDK7时采取默认安装即可。安装后需要配置环境变量,建议配置完全的java环境。新建用户变量,变量名为:JAVA_HOME;变量值为JDK的安装目录,如图4-2所示。榄阈团皱鹏緦寿驏頦蕴。图4-2 JAVA_HOME的配置修改Path变量,添加%JAVA_HOME%bin,如图4-3所示。图4-3 Path的配置添加CLASSPATH变量,具体为图4-4所示,其中的变量值为:.;%JAVA_HOME%libdt.jar; %JAVA_HOME%libtools.jar;逊输吴贝义鲽國鳩犹騸。图4-4 CLASSPATH的配置2、 MySql的安装选择默认安装即可,一直到选择编码格式的配置界面,如图4-5:图4-5 mysql安装编码格式的配置选择Manual Selected Default Character Set /Collation,在Character Set内选择gbk,然后点击“Next”。幘觇匮骇儺红卤齡镰瀉。在New root password输入口令,例如“111111”在Confirm内再次输入口令。如图4-6点击“Next”誦终决懷区馱倆侧澩赜。最后点击“Finish”安装结束。如图4-7图4-6 Mysql安装创建用户名和密码图4-7 mysql安装结束打开C:Program FilesMySQLMySQL Server 5.0my.ini,检查2处医涤侣綃噲睞齒办銩凛。.clientport=3306mysqldefault-character-set=gbk.和# The default character set that will be used when a new schema or table is舻当为遙头韪鳍哕晕糞。# created and no character set is defineddefault-character-set=gbk确保这两处default-character-set后面的值都为gbk,如若不是修改gbk,修改为gbk后重新启动mysql服务。鸪凑鸛齏嶇烛罵奖选锯。3、 Tomcat配置启动Eclipse,应该会提示工作空间不存在,重新选择修改为,NCS CA工作组成步骤中下载workspace到本地目录。接下来就配置Tomcat环境。筧驪鴨栌怀鏇颐嵘悅废。操作如图4-8所示:图4-8 配置Tomcat环境然后选择Tomcat安装目录,如图4-9:图4-9 选择Tomcat安装目录这样环境就配置完毕。4.3 操作以及代码说4.3.1 证书申请打开ie访问http:/ip:port/RAServiceClient/index.jsp韋鋯鯖荣擬滄閡悬贖蘊。点击申请证书,连接到http:/ip:port/RAServiceClient/applyCert.jsp涛貶騸锬晋铩锩揿宪骟。输入用户名与域名,点击“申请并制证”按钮即可。代码说明:1、applyCert.jsp页面使用标签导入浏览器token控件。在js方法setUsbKeyProvider中调用token.AutoSuper()进行初始化并获取key中的信息,返回值格式为“username” :”zs”, “cspname”:” HaiTai Cryptographic Service Provider 20076”的JSON串。form表单提交到certApplication.action,在com.ncs.pki.web.action.CertApplicationAction的certApplication()方法中进入处理代码如下:钿蘇饌華檻杩鐵样说泻。在方法调用webservice的applyCert(String, String, String)方法,三个参数为form表单提交的参数。如果失败则进入error.jsp,展示错误信息;成功则请求将转发到writeKey.jsp。戧礱風熗浇鄖适泞嚀贗。4.3.2 证书制作writeKey.jsp代码如下:writeKey.jsp将请求转发发到makeCert.action,在com.ncs.pki.web.action.Ce

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论