- 浏览: 2114384 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
ratlsun:
想请教下uc最新版本在android4.2和4.3版本上是不是 ...
UC浏览器8.3 (for iPhone)设计理念.“無”为而设 -
gly0920sky520123:
很有用哦,谢谢
DOS命令大全(经典收藏) -
chenyu0748:
UC加油,花哥加油~
UC浏览器8.3 (for iPhone)设计理念.“無”为而设 -
cnliuyix:
LZ搞点更有层次的吧,介个一般工程里根本用不到这么简单的。Si ...
Android 设计一个可单选,多选的Demo -
gang4415:
rgz03407@163.com
JSR规范,系统参数测试大全
原文地址:http://www.android123.com.cn/androidkaifa/173.html
Android程序的签名和Symbian类似都可以自签名(Self-signed),但是在Android平台中证书初期还显得形同虚设,平时 开发时通过ADB接口上传的程序会自动被签有Debug权限的程序。需要签名验证在上传程序到Android Market上时大家都已经发现这个问题了。Android signed制作方法
首先在Android开发时没有安装JDK的网友在Sun官方网站下载JDKhttp://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe ,其实仅需要中的Keytool和Jarsigner。
详细的签名步骤:
第一步
C:\Program Files\Java\jdk1.6.0_10\bin>keytool -genkey -alias android123.keystore
-keyalg RSA -validity 20000 -keystore android123.keystore
输入keystore密码:[密码不回显]
再次输入新密码:[密码不回显]
您的名字与姓氏是什么?
[Unknown]: android123
您的组织单位名称是什么?
[Unknown]: www.android123.com.cn
您的组织名称是什么?
[Unknown]: www.android123.com.cn
您的组织名称是什么?
[Unknown]: www.android123.com.cn
您所在的城市或区域名称是什么?
[Unknown]: New York
您所在的州或省份名称是什么?
[Unknown]: New York
该单位的两字母国家代码是什么
[Unknown]: CN
CN=android123, OU=www.android123.com.cn, O=www.android123.com.cn, L=New York, ST
=New York, C=CN 正确吗?
[否]: Y
输入<android123.keystore>的主密码
(如果和 keystore 密码相同,按回车):
其中参数-validity为证书有效天数,这里我们写的大些20000天。还有在输入密码时没有回显,只管输入就可以了,一般位数建议使用20位,最后需要记下来后面还要用,整个过程如图:
接下来我们开始为apk文件签名了。
第二步
执行下面这句jarsigner -verbose -keystore android123.keystore -signedjar android123_signed.apk android123.apk android123.keystore 就可以生辰签名的apk文件,这里输入文件android123.apk,最终生成android123_signed.apk为Android签名后的 APK执行文件。下面提示输入的密码和keytool输入的一样就行了,如图:
有关Android程序发布和签名可以查看SDK中 http://code.google.com/android/devel/sign-publish.html 一文.
附上keytool参数以及jarsigner参数:
keytool用法 :
-certreq [-v] [-protected]
[-alias <别名>] [-sigalg <sigalg>]
[-file <csr_file>] [-keypass <密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]
-changealias [-v] [-protected] -alias <别名> -destalias <目标别名>
[-keypass <密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]
-delete [-v] [-protected] -alias <别名>
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]
-exportcert [-v] [-rfc] [-protected]
[-alias <别名>] [-file <认证文件>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]
-genkeypair [-v] [-protected]
[-alias <别名>]
[-keyalg <keyalg>] [-keysize <密钥大小>]
[-sigalg <sigalg>] [-dname <dname>]
[-validity <valDays>] [-keypass <密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]
-genseckey [-v] [-protected]
[-alias <别名>] [-keypass <密钥库口令>]
[-keyalg <keyalg>] [-keysize <密钥大小>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]
-help
-importcert [-v] [-noprompt] [-trustcacerts] [-protected]
[-alias <别名>]
[-file <认证文件>] [-keypass <密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]
-importkeystore [-v]
[-srckeystore <源密钥库>] [-destkeystore <目标密钥库>]
[-srcstoretype <源存储类型>] [-deststoretype <目标存储类型>]
[-srcstorepass <源存储库口令>] [-deststorepass <目标存储库口令>]
[-srcprotected] [-destprotected]
[-srcprovidername <源提供方名称>]
[-destprovidername <目标提供方名称>]
[-srcalias <源别名> [-destalias <目标别名>]
[-srckeypass <源密钥库口令>] [-destkeypass <目标密钥库口令>]]
[-noprompt]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]
-keypasswd [-v] [-alias <别名>]
[-keypass <旧密钥库口令>] [-new <新密钥库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]
-list [-v | -rfc] [-protected]
[-alias <别名>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]
-printcert [-v] [-file <认证文件>]
-storepasswd [-v] [-new <新存储库口令>]
[-keystore <密钥库>] [-storepass <存储库口令>]
[-storetype <存储类型>] [-providername <名称>]
[-providerclass <提供方类名称> [-providerarg <参数>]] ...
[-providerpath <路径列表>]
jarsigner用法
: [选项] jar 文件别名
jarsigner -verify [选项] jar 文件
[-keystore <url>] 密钥库位置
[-storepass <口令>] 用于密钥库完整性的口令
[-storetype <类型>] 密钥库类型
[-keypass <口令>] 专用密钥的口令(如果不同)
[-sigfile <文件>] .SF/.DSA 文件的名称
[-signedjar <文件>] 已签名的 JAR 文件的名称
[-digestalg <算法>] 摘要算法的名称
[-sigalg <算法>] 签名算法的名称
[-verify] 验证已签名的 JAR 文件
[-verbose] 签名/验证时输出详细信息
[-certs] 输出详细信息和验证时显示证书
[-tsa <url>] 时间戳机构的位置
[-tsacert <别名>] 时间戳机构的公共密钥证书
[-altsigner <类>] 替代的签名机制的类名
[-altsignerpath <路径列表>] 替代的签名机制的位置
[-internalsf] 在签名块内包含 .SF 文件
[-sectionsonly] 不计算整个清单的散列
[-protected] 密钥库已保护验证路径
[-providerName <名称>] 提供者名称
[-providerClass <类> 加密服务提供者的名称
[-providerArg <参数>]] ... 主类文件和构造函数参数
评论
http://5aijava.iteye.com/blog/123269
1、用keytool生成证书:
keytool -genkey -alias tomcat -keyalg RSA -keystore c:/tomcat/mykey
说明:
这里-alias tomcat 是表示生成的这个证书的别名叫tomcat,-keyalg RSA 指的是采用的RSA算法,-keystore c:/tomcat/mykey 是指生成的证书存储的位置。回车后会提示你输入keystore password,这可以自己定,然后是一些个人信息及组织信息,可以轻松搞定。
听说validity 缺省时间是90 天,有点短,所以最好设置一个较长的天数
我是刚接触android,很多东西不懂。见谅
我想问的是,LZ 上面用到的 android123.keystore 和对应的密码是从哪里获取的?
发表评论
-
Android编程之实现GPS定位
2009-04-01 09:35 2817在几个月前,开发式手机联盟推出自己的Android手机雏形时, ... -
gsm call命令向Android模拟器打电话
2009-03-11 11:31 2599通过gsm call命令可以像Android 模拟器打电话 ... -
Android1.1移植点SDK兼容性提示
2009-02-18 13:45 0有关2009年2月版最新的Android 1.1 SDK移植相 ... -
Android 源码分析-打电话和发短信
2008-12-24 10:20 200601. ITelephony接口和ISms接口以及AIDL 在我 ... -
处理Android文件访问问题。
2008-11-18 15:32 5862今天在设计数据保存的时候遇到一个问题。 以前把数据保存到tmp ... -
Android开发中的logcat工具使用
2008-11-14 11:26 3946这是摘录androidin.com的一篇文章,对于学习Andr ... -
Android的ADB工具使用
2008-11-14 10:50 2762adb(Android Debug Bridge)是Andr ... -
Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器的状态。 可以
2008-10-30 14:20 5125Android 调试桥 http://www.androidi ... -
推荐一个在线编辑Android的工具给大家用下
2008-10-28 16:20 2417http://www.droiddraw.org/ 上面是 ... -
Google发布Android平台发展蓝图
2008-10-28 13:39 1484Google 已经发布了Android 平台的短期发展蓝图 , ... -
AndroidDialogDemo
2008-10-28 11:58 1231private void showDialog(String ... -
Android 插件好强悍啊
2008-10-27 11:30 1621以前都是用文本来写布局代码,今天更新了下Eclipse,发现写 ... -
HI,大家用的是Eclipse那个版本开发Android
2008-10-27 10:57 4371我用的是Eclipse 3.3 + ADT0.8 但是却发现不 ... -
高焕堂android中文书全,电子文件for version 1.0
2008-10-25 11:09 3904高焕堂android中文书全,电子文件for version ... -
用Ant 来编译打包您的Anroid应用程序。
2008-10-22 14:32 2376通过 activityCreator.py --out myp ... -
使用BroadcastReceiver实现开机启动Service或Activity
2008-10-20 19:32 3027使用BroadcastReceiver实现开机启动Servic ... -
G1的又一新的模拟器
2008-10-15 09:57 1608这是一款新的主题,比较漂亮, For those t ... -
Android 设计一个可单选,多选的Demo
2008-10-13 14:24 9913Android 提供了相当多的UI,在android.widg ... -
TestGrid Adnroid
2008-10-08 15:02 1561package com.atest ; import ... -
继承Activity类应该注意的问题
2008-10-08 13:47 1605在开发Android的时候,往往是extends Activi ...
相关推荐
本文将详细介绍如何使用`keytool`和`jarsigner`工具来为Android APK文件进行签名。 首先,`keytool`是Java Development Kit (JDK)自带的一个命令行工具,用于管理和创建数字证书,包括生成密钥对(公钥和私钥)以及...
Windows版本的Android Apk签名工具是Android SDK工具包的一部分,它允许开发者使用密钥对APK进行签名。这个工具通常包括`jarsigner`命令行工具和`zipalign`优化工具,它们对于发布高质量的Android应用至关重要。 三...
2. **签名APK**:使用 jarsigner 工具,用私钥对APK进行签名。签名过程会计算APK中所有文件的哈希值,然后用私钥加密这些哈希值,生成签名信息。 3. **对齐优化**:为了提高APK的加载速度,开发者通常会使用Zipalign...
在Windows环境下,开发者通常使用特定的工具来对APK进行签名,以使其能够在Android设备上顺利安装和运行。本文将详细介绍如何在Windows操作系统下对Android APK进行签名,以及相关的知识点。 一、APK签名的重要性 ...
总结来说,Android Apk的签名过程涉及到安全性和开发者身份的确认,无论是通过图形界面的Eclipse,还是命令行的keytool和jarsigner,或者是源码级别的签名,都是为了确保用户能够安全地下载和安装应用。正确理解和...
本文将深入探讨Android签名工具、升级包签名以及APK签名的细节。 首先,我们来理解什么是Android签名。Android签名是指对APK(Android应用程序包)进行数字签名的过程,它验证了APK的来源并确保其未被篡改。每个APK...
5. **签名APK**:使用 jarsigner 工具,用新keystore文件对APK进行签名。命令行示例:`jarsigner -verbose -keystore 新keystore文件路径 -storepass 密码 -keypass 密码 -signedjar 签名后APK文件路径 原APK文件...
在Android平台上,APK文件是应用的安装包...了解和掌握APK签名工具的使用,对于任何Android开发者来说都是必备技能。通过理解这个过程,开发者可以更有效地管理和维护自己的应用程序,确保它们在用户设备上的安全运行。
在Android系统中,每个APK文件在发布之前都必须用私钥进行签名。这个签名主要用于验证应用的身份,确保它没有被篡改,并且来自可信赖的开发者。签名过程涉及到三个主要步骤:生成密钥、使用密钥签署APK以及对APK进行...
"Android APK 文件生成的常见操作和问题" Android APK 文件生成是 Android 应用程序的最后一...生成 APK 文件是 Android 应用程序的最后一步骤,需要完成签名操作和验证步骤,以便在安装时可以验证 APK 文件的身份。
本文将详细讲解Android APK的打包和签名过程,以及如何使用Eclipse、IntelliJ IDEA等工具进行签名操作。 首先,理解签名的意义至关重要。Android应用的签名主要用于确认应用的来源和确保其完整性。每个开发者的签名...
在Android应用开发中, APK(Android Package)是用于分发和安装Android应用程序的文件格式。在将APK发布到Google Play商店或者进行第三方分发时,必须对其进行签名,以确保应用的完整性和开发者身份的验证。本文将...
3. 签名APK:使用jarsigner命令,指定APK路径、密钥库和私钥,对APK进行签名。 4. 验证签名:签名完成后,可以使用jarsigner的verify选项检查签名是否有效。 在Android开发中,理解这些工具的使用方法是至关重要的...
4. **验证签名**:当用户尝试安装APK时,Android系统会用公钥解密数字签名,然后重新计算APK的哈希值。如果两者匹配,说明APK未被修改,安装过程继续;否则,安装将被阻止。 5. **系统签名**:Android系统签名是指...
- **Keytool和Jarsigner**:Android使用标准的Java工具Keytool和Jarsigner来生成数字证书,并给应用程序包签名。 - **zipalign优化**:使用zipalign工具对APK文件进行优化,可以减少内存消耗,提高启动速度。 #### ...
签名工具(如Android的apksigner或Jarsigner)就是在这个阶段发挥作用,它使用私钥对APK的元数据进行哈希计算并签名,然后将签名信息嵌入到APK中。 "apk签名工具文件"通常指的是用于执行这个签名过程的特定软件或...
通过对上述命令的详细解读,我们可以清晰地了解到Android APK签名的基本流程,包括生成密钥库、使用jarsigner工具进行签名以及使用zipalign工具对已签名APK进行优化。这些步骤对于确保Android应用程序的安全性和完整...
2. 签名APK:使用`jarsigner`工具对未签名的APK进行签名,指定密钥库和对应的密钥别名。 3. 对齐APK:为了优化设备性能,可能需要使用`zipalign`工具对签名后的APK进行对齐操作。 4. (可选)如果使用V2或V3签名,...
`jarsigner`是Java开发工具包(JDK)的一部分,它用于为Java档案(JAR)文件、Android APK文件和其他可执行文件添加数字签名。签名的主要目的是验证软件的来源和完整性,防止篡改,同时为用户提供信任度,确保代码...
2. **优化APK文件**:使用 `zipalign` 对签名后的APK文件进行优化,提高其加载速度和性能。 #### 七、常见问题与解决方案 - **无法找到签名密钥**:确保正确指定了密钥库路径,并且拥有正确的密码。 - **签名失败**...