`
lvyanglin
  • 浏览: 84267 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

证书方面要注意的

    博客分类:
  • java
阅读更多
Java自带的keytool工具是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的公钥(以证书形式)。

keytool 将密钥和证书储存在一个所谓的密钥仓库(keystore)中。缺省的密钥仓库实现将密钥仓库实现为一个文件。它用口令来保护私钥。

Java KeyStore的类型
JKS和JCEKS是Java密钥库(KeyStore)的两种比较常见类型(我所知道的共有5种,JKS, JCEKS, PKCS12, BKS,UBER)。

JKS的Provider是SUN,在每个版本的JDK中都有,JCEKS的Provider是SUNJCE,1.4后我们都能够直接使用它。

JCEKS在安全级别上要比JKS强,使用的Provider是JCEKS(推荐),尤其在保护KeyStore中的私钥上(使用TripleDes)。

PKCS#12是公钥加密标准,它规定了可包含所有私钥、公钥和证书。其以二进制格式存储,也称为 PFX 文件,在windows中可以直接导入到密钥区,注意,PKCS#12的密钥库保护密码同时也用于保护Key。

BKS 来自BouncyCastle Provider,它使用的也是TripleDES来保护密钥库中的Key,它能够防止证书库被不小心修改(Keystore的keyentry改掉1个 bit都会产生错误),BKS能够跟JKS互操作,读者可以用Keytool去TryTry。

UBER比较特别,当密码是通过命令行提供的时候,它只能跟keytool交互。整个keystore是通过PBE/SHA1/Twofish加密,因此keystore能够防止被误改、察看以及校验。以前,Sun JDK(提供者为SUN)允许你在不提供密码的情况下直接加载一个Keystore,类似cacerts,UBER不允许这种情况。

 
证书导入
Der/Cer证书导入:

要从某个文件中导入某个证书,使用keytool工具的-import命令:

keytool -import -file mycert.der -keystore mykeystore.jks

如果在 -keystore 选项中指定了一个并不存在的密钥仓库,则该密钥仓库将被创建。

如果不指定 -keystore 选项,则缺省密钥仓库将是宿主目录中名为 .keystore 的文件。如果该文件并不存在,则它将被创建。

创建密钥仓库时会要求输入访问口令,以后需要使用此口令来访问。可使用-list命令来查看密钥仓库里的内容:

keytool -list -rfc -keystore mykeystore.jks




P12格式证书导入:

keytool无法直接导入PKCS12文件。

第一种方法是使用IE将pfx证书导入,再导出为cert格式文件。使用上面介绍的方法将其导入到密钥仓库中。这样的话仓库里面只包含了证书信息,没有私钥内容。


第二种方法是将pfx文件导入到IE浏览器中,再导出为pfx文件。
       新生成的pfx不能被导入到keystore中,报错:keytool错误: java.lang.Exception: 所输入的不是一个 X.509 认证。新生成的pfx文件可以被当作keystore使用。但会报个错误as unknown attr1.3.6.1.4.1.311.17.1,查了下资料,说IE导出的就会这样,使用Netscape就不会有这个错误.

第三种方法是将pfx文件当作一个keystore使用。但是通过微软的证书管理控制台生成的pfx文件不能直接使用。keytool不认此格式,报keytool错误: java.io.IOException: failed to decrypt safe contents entry。需要通过OpenSSL转换一下:

1)openssl pkcs12 -in mycerts.pfx -out mycerts.pem

2)openssl pkcs12 -export -in mycerts.pem -out mykeystore.p12

通过keytool的-list命令可检查下密钥仓库中的内容:

keytool -rfc -list -keystore mykeystore.p12 -storetype pkcs12

这里需要指明仓库类型为pkcs12,因为缺省的类型为jks。这样此密钥仓库就即包含证书信息也包含私钥信息。

P7B格式证书导入:

keytool无法直接导入p7b文件。

需要将证书链RootServer.p7b(包含根证书)导出为根rootca.cer和子rootcaserver.cer 。

将这两个证书导入到可信任的密钥仓库中。

keytool -import -alias rootca -trustcacerts -file rootca.cer -keystore testkeytrust.jks

遇到是否信任该证书提示时,输入y

keytool -import -alias rootcaserver -trustcacerts -file rootcaserver.cer -keystore testkeytrust.jks




总结:

1)P12格式的证书是不能使用keytool工具导入到keystore中的

2)The Sun's PKCS12 Keystore对从IE和其他的windows程序生成的pfx格式的证书支持不太好.

3)P7B证书链不能直接导入到keystore,需要将里面的证书导出成cer格式,再分别导入到keystore。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/peterwanghao/archive/2007/08/28/1761728.aspx
分享到:
评论

相关推荐

    windows下部署免费ssl证书(letsencrypt)的方法

    要实现https,首先我们需要申请一张SSL证书,这篇文章我主要介绍下边这几个方面: 1. SSL简单介绍 2. 免费Letencrypt证书部署 3. 安装注意事项 一.SSL简单介绍  ssl作为一个网络加密协议,主要是存在于系统中应用层...

    毕业设计论文及相关 本科毕业论文(设计)指导手册

    本科毕业论文(设计)指导手册 毕业论文书写格式 毕业论文的结构 拟定结构提纲 形成论点和论据 引文、图表、加注 论文修改的方法 指导导师的条件和修养 毕业论文答辩的目的和意义 ... 执笔注意事项

    本科毕业论文(设计)指导手册

    本科毕业论文(设计)指导手册 毕业论文书写格式 毕业论文的结构 拟定结构提纲 形成论点和论据 引文、图表、加注 论文修改的方法 指导导师的条件和修养 毕业论文答辩的目的和意义 ... 执笔注意事项

    《毕业论文撰稿宝典》(EXE)

    本科毕业论文(设计)指导手册 毕业论文书写格式 毕业论文的结构 拟定结构提纲 ... 英文写作--证明证书 掌握理论的方法 执笔注意事项 注册信息: 注册名:自由之翼 密 码:6AF3007FC53540

    程序员简历模版doc文件

    该模版包含了程序员求职简历的各个方面,包括个人信息、教育背景、工作经验、技能证书、项目经验等。 使用该简历模版可以帮助程序员更加方便地编写自己的求职简历,提高求职成功率。该模版的格式清晰、简洁,能够...

    新人杯室内设计大赛.docx

    在设计中首先要充分满足家庭居住的功能要求,并应注意环保、节能、健康、安全的绿色设计。 5.客户描述:(包括家庭人员组成、年龄、性别、职业等) 6.概念:(设计说明500字以内) 新人杯室内设计大赛全文共3页,当前为...

    常用程序员简历模板大集合

    2. 技能展示:突出你的技能和专长,包括编程语言、框架、数据库等方面的熟练程度。可以通过列举项目经验或者技能证书来支持你的技能描述。 3. 项目经验:列举并详细描述过去的项目经验,包括项目名称、时间、职责、...

    max杀毒-反编译-RSA签名验签工具windows-V1.4.rar

    RSA签名在保护数据完整性和身份验证方面非常有用,常被用于数字证书、数据传输过程中的安全验证以及数字权益保护等领域。 请注意,本助手只是提供基本概述,如需更具体的技术细节或代码示例,请提供更具体的问题。

    网络支付安全技术.doc

    第四章 网络支付安全技术 知识要点: ( 网络支付的安全性问题 ( 对称密钥和非对称密钥 ( 数字摘要与数字签名 ( 数字证书与CA认证 ( SSL与SET协议 ( 中国金融认证中心 1. 网络支付安全性问题概述 网络支付以其快捷、...

    网络安全的预防措施.doc

    预防措施 网安措施 计算机网络安全措施主要包括保护网络安全、保护应用服务安全和保护系统安全三个方 面,各个方面都要结合考虑安全防护的物理安全、防火墙、信息安全、Web安全、媒体安 全等等。 (一)保护网络安全...

    电子商务实验报告(1).doc

    在合同方面根本没有想到合同,没有想到 B2B是两个企业之间的交易,反而常规性的想到了生活中的C2C模式,很多细节没有注意 。 解决方式:考虑到企业之间的利益性,认真思考交易步骤和细节问题,在下一次的交易 中避免...

    ISTQB FL初级认证考试攻略

    ISTQB是国际上唯一的国际权威软件测试资质认证机构,得到了国际国内众多软件测试企业...本文从几个方面阐述了ISTQB FL认证需要注意的地方,可以帮助学员有效的通过ISTQB FL初级认证的考试,顺利获得ISTQB FL初级证书。

    01系统介绍-培训PPT资料.pptx

    3.质监机构通过政务外网的业务协同门户,使用计量强检系统,通过定任务分配、数据分析、信息公示、数据汇聚等方面功能的使用,积累了强检器具数据、检定证书数据、检定结果数据、检定机构数据,等相应的数据库,再与...

    【创新创业材料】票证包装专用纸防伪材料产业化.zip

    这份报告详细阐述了一个旨在开发并推广新型防伪纸张的项目,这种纸张可用于票据、证书、包装等应用,以有效打击伪造和篡改行为。报告中,大学生们提出了一种创新的防伪方案,该方案结合了现代印刷技术和特殊的材料...

    产品设计方案APP类.pdf

    二、 整体规划 (一) 产品定位 所谓定位就是产品在扮演什么角色, 要向目标群传达什么样的核心概念, 透过产品发挥 什么样的作用;因此,产品的定位相当关键,换句话说,定位是建设的策略,而产品架构、 内容、...

    基于IOS上MDM技术相关资料整理及汇总

    安全问题更是重中之重,在移动互联网时代,员工个人的设备接入企业网络并查看、收发企业数据已十分普遍,在管理企业移动设备的同时,MDM还能提供全方位安全体系防护,同时在移动设备、移动APP、移动文档三方面进行...

    产品设计方案APP类.docx

    整体规划 产品定位 所谓定位就是产品在扮演什么角色,要向目标群传达什么样的核心概念,透过产品发挥什么样的作用;因此,产品的定位相当关键,换句话说,定位是建设的策略,而产品架构、内容、表现等都围绕这些...

    计算机专业调研报告(1).doc

    二是即使考不上大学的同学可以拿到所学专业的中专毕业证书、职业资格证书,学到 一手非常实用的技术,学校将以中专毕业生的身份,推荐学生顺利就业。特点:学生在 技校学什么专业,就参加该专业或相关专业的对口升学...

    计算机专业调研报告.doc

    二是即使考不上大学的同学可以拿到所学专业的中专毕业证书、职业资格证书,学到 一手非常实用的技术,学校将以中专毕业生的身份,推荐学生顺利就业。特点:学生在 技校学什么专业,就参加该专业或相关专业的对口升学...

    asp+Access通用考试查分系统

    5. 其他如分班查询,录取查询,考场查询、证书查询等修改不多的各种查询系统 特色优势 1. 灵活通用 别看源码体积极小,可以快速用于各种二维表查询。 成绩查询、水电费物业费查询、录取、分班、分宿舍、考场分配查询...

Global site tag (gtag.js) - Google Analytics