[发明专利]用openssl的X.509数字证书验证Java证书的方法有效

专利信息
申请号: 201310052771.0 申请日: 2013-02-18
公开(公告)号: CN103117862A 公开(公告)日: 2013-05-22
发明(设计)人: 陈海雷;范健;潘琪锋;尤建华 申请(专利权)人: 无锡矽鼎科技有限公司
主分类号: H04L9/32 分类号: H04L9/32
代理公司: 无锡市大为专利商标事务所 32104 代理人: 曹祖良
地址: 214135 江苏省无锡市新*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: openssl 509 数字证书 验证 java 证书 方法
【说明书】:

技术领域

发明涉及数字证书技术领域,具体是一种用openssl的X.509数字证书验证Java证书的方法。

背景技术

安卓系统中,用存储在硬件模块中的CA证书验证Java证书。在安全应用中,CA证书通常不会保存在安全防御度低的系统路径下,而是保存在某些具有安全特质的硬件模块中。硬件模块的读写驱动通常是C语言编写,CA证书从驱动中读出时通常为openssl的X.509形式。要验证的证书则在安卓Java层,是Java证书形式。这种跨语言的证书验证需要用到特定的验证方法。

目前安卓系统进行数字证书验证时,只提供了同一编程语言环境下的方法。如果CA证书放在任何系统路径下,可以保证同一编程语言环境,但通常安全度较低,容易被恶意篡改。当CA证书被保存到安全特质的硬件中时,就变成了跨语言环境的证书验证。因为访问硬件的驱动通常为C语言编写,不可能是Java编写,而安卓系统应用层的证书肯定是Java证书。

发明内容

本发明的目的是消除这种跨语言证书验证的困难,给安卓系统安全定制提供方便,提供一种用openssl的X.509数字证书验证Java证书的方法,其应用背景是:试图用保存在安全模块中某CA证书,验证第三方安卓安装程序,当安装程序签名不符合CA授权时,阻止其安装。同时在安卓系统验证服务器身份时也会用到本方法。用保存在安全模块中的某CA证书验证服务器端发来的服务器证书,如果服务器证书不是CA授权的,那么中断客户端与服务器的连接。

按照本发明提供的技术方案,所述用openssl的X.509数字证书验证Java证书的方法包括以下步骤:

(1)   用驱动接口读取保存在硬件中的CA证书,返回一个openssl的X.509数字证书结构;

(2)   取出所述X.509数字证书结构中的公钥ASN.1编码、公钥算法和参数;

(3)   将公钥算法和参数通过openssl的ASN.1转换函数转为C语言的字符数组char *类型;

(4)   再将所述公钥ASN.1编码、公钥算法和参数三者的字符数组类型通过JNI规则转为Java语言的字节数组byte[]类型;

(5)   将所述公钥算法转换的字节数组类型再进一步转为Java的字符串String类型;

(6)   完成转化的公钥算法和参数构造成Java的算法标识符AlgorithmIdentifier对象;

(7)   所述算法标识符对象和公钥ASN.1编码的字节数组构造成Java的主体公钥信息SubjectPublicKeyInfo对象;

(8)   所述主体公钥信息对象能使用它的成员函数获得Java的公钥对象;所述Java的公钥对象就是CA证书在Java环境中的公钥,即已经将openssl的X.509数字证书中的公钥转到Java环境下;

(9)   按照Java环境下通用的证书验证步骤验证数字证书是否为授权证书,方法为:

a、获取待验证的Java证书对象;

b、调用该证书对象的验证成员函数verify,并将Java的公钥对象作为函数参数传入;

c、捕捉异常;如果没有异常就表明通过验证,是授权证书;如果有异常,表明验证失败,验证过程有错误。如果异常类型是签名异常表明证书为非授权。

本发明的优点是:实现效率高,使用成本低,所用转化函数是常见函数,这些函数在安卓系统的函数库中是存在的,无需修改或添加。

附图说明

图1是本发明实施流程示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。

首先介绍一下CA证书验证数字证书的原理。

一般情况下,数字证书都包含授权者的签名。签名就是授权者用自己的私钥加密了一段从数字证书提取的明文,而生成的密文。这段密文只有授权者的公钥能解密。而授权者的CA证书中包含了授权者的公钥。因此,验证原理就是用CA证书中提取的公钥解密签名,解密后的结果对比提取的明文,如果两者相同,则数字证书属于CA证书授权的,反之则不属于授权的。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡矽鼎科技有限公司,未经无锡矽鼎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310052771.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top