`
kiki1120
  • 浏览: 314584 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

使用微软代码签名证书签名Java代码使用指南

阅读更多

本指南针对已经购买了WoSign/Thawte/VeriSign 微软代码签名证书,还需要用此代码签名证书来签名Java JAR文件而编写,如果您还没有签名工具,请到SUN公司网站免费下载:http://java.sun.com/j2se/,推荐下载JDK1.4.2或以上版本,支持Solaris SPARC/x86, Linux86 和 Windows 操作系统。请注意:WoSign微软代码签名证书仅支持J2SE 1.5.008以上版本。


第1步 把 .pvk 和 .spc 转换为 .pfx格式


您在申请微软代码签名证书时已经成功生成了私钥文件mycert.pvk,也得到了代码签名证书(公钥) mycert.spc,您需要把此两个文件转换为一个PKCS12格式的文件mycert.pfx,具体转换步骤如下:

    (1) 下载微软的转换工具软件: pvkimprt.rar ,并成功安装;

    (2) 请确认您电脑上已经安装了颁发代码签名证书的中级根证书,如果没有,请先点击安装:
         WoSign中级根证书为: WoSign Code Signing Authority
         Thawte中级根证书为: Thawte Code Signing CA
         VeriSign中级根证书为: VeriSign Class 3 Code Signing 2004 CA          

    (3) 在 DOS 状态下,进入保存两个签名证书文件 mycert.pvk 和 mycert.spc 的目录,请键入命令:

        pvkimprt mycert.spc mycert.pvk

     按提示输入私钥密码后,启动证书导入过程,按几个回车就成功把证书导入到 Windows 证书存储区,在 IE 浏览器的 “工具” — “ Internet 选项” — “内容” — “证书” — “个人”中就能看到您的签名证书,再点击“导出”就可以得到包含有签名证书公钥和私钥的 .pfx 格式证书。

     请注意:在导出时要选中“如果可能,将所有证书包括到证书路径中”,并建议选中“如果导出成功删除密钥”以防止被他人非法导出。如果还需要导入使用,则再导入即可,此时导入的缺省是“不允许导出私钥”,从而保证了签名证书的安全。

     请注意: pvkimprt 工具不支持跨操作系统,也就是说,如果您是在 Windows 2000 操作系统上生成的私钥文件 .pvk 的,则只能在 Windows 2000 操作系统中使用 pvkimprt 工具。

 

第2步 把PFX格式签名证书导入Keystore


首先,请使用以下命令检查您的开发工具中的Keytool是否能读出PFX格式证书,请注意输入keytool.exe 和 mycert.pfx 两个文件的正确路径(以下命令都在JDK\BIN目录中):

    keytool -list -storetype pkcs12 -keystore mycert.pfx

如下图1所示,会提示您输入私钥密码,显示您的Keytool可以读出此PFX格式证书。请注意下面的第2条红线显示的内容为您的签名证书的别名,下面签名时需要输入此别名。



 

(3) 数字签名Applet

使用jarsigner签名您的JAR文件:

    jarsigner -storetype pkcs12 -keystore mycert.pfx myjar.jar keyentry_friendly_name

请注意:命令行的最后一个参数是 keyentry_friendly_name(证书别名,或称:证书好记的名字,如果您的证书有一个别名,则输入此别名,如果没有,则为缺省的一串字符,如下图2所示,会提示您输入私钥密码,签名成功后没有任何提示:



 

(4) 验证签名

使用以下命令验证已经签名的JAR文件:

jarsigner -verify -verbose -certs myjar.jar

如下图3所示,会显示签名证书所有信息,包括软件发行商的名称(CN=,图中红色画线部分)、证书颁发机构的中级根证书和顶级根证书,在最后面会显示“已验证签名”和“jar已验证”。



 

一旦成功签名,就可以把已经签名的JAR文件放到网上供用户下载了,用户端的Java系统会显示您的签名证书信息,如果已经签名的文件被篡改或损坏,则系统会提醒用户并拒绝安装。

  • 大小: 9.8 KB
  • 大小: 16.6 KB
  • 大小: 47.9 KB
分享到:
评论

相关推荐

    JavaAPI文档

    这份文档以清晰的结构和丰富的示例代码为程序员提供了全面的指南,帮助他们理解和使用Java语言的各种功能。Java API文档通常以Javadoc的形式存在,而这里提供的是`.chm`格式,这是一种微软编译的帮助文件,适用于...

    Java SE 8 Documentation.chm

    Java SE 8是Java开发的重要版本,带来了许多创新特性,极大地提升了开发效率和代码质量。这份"Java SE 8 Documentation.chm"文件是官方提供的完整Java 8 API文档,是开发者学习和查阅Java 8特性的必备参考资料。CHM...

    java的API相关的手册和函数.zip

    最后,`使用说明.docx`文件很可能是对如何使用这些API文档的指南,可能包含如何查找特定功能、如何理解类和方法的签名、如何在实际项目中应用API等内容。这对于初学者来说尤其重要,因为它可以帮助他们快速上手并...

    C#文档中文版(微软),C#文档中文版(微软)

    这个“C#文档中文版(微软)”是微软官方提供的C#编程指南的中文翻译版本,对于学习和理解C#语言至关重要。下面将详细阐述C#的一些核心概念和特性。 1. **基础语法**:C#的基础语法与C++和Java相似,包括变量声明、...

    封装给java使用的 web报表 rm webrm 报表1.0.0.1版发行版

    标题中的“封装给java使用的 web报表 rm webrm 报表1.0.0.1版发行版”指的是一个特定的报表工具,该工具专为Java开发者设计,用于在Web环境中生成和展示报表。这个版本是1.0.0.1,意味着它是此产品的首个正式发行版...

    cer 转成p12方法

    这一特性导致了当企业使用常见的由微软CA颁发的X.509 DER编码的.CER证书时,Android设备往往无法正常加载这些证书,进而影响了移动终端在企业无线网络中使用802.1x等基于用户证书的认证方式。 #### 二、证书格式与...

    支付宝双功能(担保、即时)接口

    5. **JAVA代码示例**:JAVA是企业级应用开发的主流语言,这里的代码示例展示了如何在JAVA环境下设置请求参数、生成签名和处理回调数据,适合使用Spring或其它JAVA框架的开发者。 这些示例代码和集成教程将帮助...

    C#技术内幕 源代码

    《C#技术内幕》是C#编程领域的一本权威指南,尤其因其经典的“红皮书”形象而备受赞誉。这本书深入探讨了C#语言的核心概念和技术,为开发者提供了丰富的学习资源,旨在帮助读者掌握C#编程的基础以及高级特性。源代码...

    支付宝在线支付接口(企业远程支付)

    在Java示例中,开发者通常会使用HttpURLConnection或者第三方库如Apache HttpClient发起网络请求,使用JSON-Parsing库如Jackson或Gson解析返回的数据,同时利用Java的Security API进行数字签名和验证。 5. VB.NET:...

    C#技术揭秘,微软资料

    配合CodePub.Com说明.txt文件,可能包含了更详细的使用指南或资源链接,可以帮助你更好地学习和掌握C#这门强大的编程语言。通过系统学习,你将能够熟练地运用C#进行软件开发,解决实际问题,甚至参与到微软生态的...

    \微软C#教程(PDF原版加密后版本)

    《微软C#教程》是一本深入浅出的编程指南,主要针对C#这门由微软公司开发的面向对象的编程语言。C#是.NET框架的核心语言,广泛应用于开发Windows桌面应用、Web应用以及游戏开发等领域。PDF原版的加密是为了保护版权...

    epass1000 最新的开发文档,sdk 及个语言代码示例 v4.5

    《epass1000开发指南:从SDK到多语言应用实践》 epass1000是一款专门针对身份认证和安全加密的设备,广泛应用于网络银行、电子政务、企业内部安全等领域。本文将深入探讨epass1000的最新开发文档,包括SDK...

    c# 技术指南_c#技术指南_

    3. **泛型**:C# 提供泛型,允许在类、接口和方法中使用类型参数,增强了代码的复用性和安全性。泛型集合类如List<T> 和 Dictionary, TValue> 是泛型在实际应用中的典型示例。 4. **委托与事件**:委托是类型安全的...

    信息安全实验报告

    - **代码实现:**编写Java或其他语言的代码实现公钥加密和数字签名功能。 - **结果验证:**通过实验数据验证公钥算法的有效性和安全性。 ### 微软CA组件安装和配置 #### 3.1 实验目的 - **理解证书颁发机构(CA)...

    [MSDN]Csharp编程指南+参考手册

    【MSDN】C#编程指南与参考手册是学习和深入理解C#编程语言的重要资源,由微软开发网络(Microsoft Developer Network)提供。这份资料涵盖了C#的基础到高级概念,为开发者提供了详尽的指导和解释。 C#,简称CSharp...

    ActiveX开发人员指南

    然而,有些技术如Wine和ActiveX-to-Java桥接可以帮助在非Windows系统上使用ActiveX控件。 2. **浏览器支持**:ActiveX控件主要在Internet Explorer中使用,随着现代浏览器(如Chrome、Firefox)对ActiveX的支持逐渐...

    Web_Service开发指南

    - **测试服务**:使用SOAP客户端工具或自定义代码验证服务是否按预期工作。 - **发布服务**:通过UDDI或其他服务注册机制,将服务信息发布给潜在的消费者。 3. **SOAP与RESTful的区别** - SOAP强调强类型和契约...

    c#入门经典第五版.PDF 及随书源代码

    《C#入门经典第五版》是一本针对初学者的编程指南,旨在帮助读者掌握C#编程语言的基础知识和核心概念。这本书深入浅出地讲解了C#编程的关键要素,包括语法、面向对象编程、类与对象、接口、泛型、异常处理、文件与流...

Global site tag (gtag.js) - Google Analytics