[发明专利]用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证书授权的,反之则不属于授权的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡矽鼎科技有限公司,未经无锡矽鼎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310052771.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:胸部放射线检查保护装置
- 下一篇:一种架杆式落地镜面架