精华内容
下载资源
问答
  • apk文件签名

    千次阅读 2009-12-09 09:54:00
    我们发布的apk安装程序需要签名才能通过MMarket的预测试,于是研究了一下apk文件签名方法,记录如下 签名时这个错误应该apk已经签过debug签名了C:/Program Files/Java/jdk1.6.0_10/bin>jarsigner -verbose -...

    我们发布的apk安装程序需要签名才能通过MMarket的预测试,于是研究了一下apk文件的签名方法,记录如下

     

     

    签名时这个错误应该apk已经签过debug签名了

    C:/Program Files/Java/jdk1.6.0_10/bin>jarsigner -verbose -keystore offbye.keysto
    re -signedjar zodiac_signed.apk zodiac.apk offbye.keystore
    输入密钥库的口令短语:
    jarsigner: 无法对 jar 进行签名: java.util.zip.ZipException: invalid entry comp
    ressed size (expected 771 but got 775 bytes)

     

     

    如何导出一个未签名的APK文件?

    最终安装到Android手机中的APK文件都需要数字签名才能运行,通过ADT插件传输的APK文件会自动签有DEBUG权限的证书,

    导出未签名的APK(unsigned apk)后使用常规的证书制作方法来签名

    方法一: 使用Eclipse,在Package Explorer中选择Androidmanifest.xml文件,找到overview项中,单击Export the unsigned apk,这时也可以直接导出签名后的文件

    方法二、直接进入工程文件夹,比如我们的为
    C:/Documents and Settings/Administrator/workspace/android123/bin/android123.apk,直接复制出来就是未签名的APK文件

     

     

     

    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]:  ophone8.com
    您的组织单位名称是什么?
      [Unknown]:  ophone8.com
    您的组织名称是什么?
      [Unknown]:  ophone8.com
    您的组织名称是什么?
      [Unknown]:  ophone8.com
    您所在的城市或区域名称是什么?
      [Unknown]:  New York
    您所在的州或省份名称是什么?
      [Unknown]:  New York
    该单位的两字母国家代码是什么
      [Unknown]:  CN
    CN=ophone8.com, OU=ophone8.com, O=ophone8.com, L=New York, ST
    =New York, C=CN 正确吗?
      [否]:  Y
    输入<ophone8com.keystore>的主密码
            (如果和 keystore 密码相同,按回车):
    其中参数-validity为证书有效天数,这里我们写的大些20000天。还有在输入密码时没有回显,只管输入就可以了,一般位数建议使用20位,最后需要记下来后面还要用,

      接下来我们开始为apk文件签名了。
    第二步

    执行下面这句jarsigner -verbose -keystore ophone8com.keystore -signedjar ophone8._signed.apk ophone8.apk ophone8..keystore 就可以生辰签名的apk文件,这里输入文件ophone8..apk,最终生成ophone8._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 <参数>]] ... 主类文件和构造函数参数
    声明:JavaEye文章版权属于作者,受法律保护。

    用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 安装包没有签名文件问题

    万次阅读 2019-06-19 23:21:12
    当使用Android studio 打好一个release 包,上传到市场平台的时候,却被提示解析失败,没有签名文件,好长时间没有打包了,难道是有些细节忘了,明明一个月之前上传的签名包还是可以的。 把打好的包改成zip格式,...

    当使用Android studio 打好一个release 包,上传到市场平台的时候,却被提示解析失败,没有签名文件,好长时间没有打包了,难道是有些细节给忘了,明明一个月之前上传的签名包还是可以的。

    把打好的包改成zip格式,解压看了一下 

    确实签名文件应该在META-INF文件夹下,后缀名是.RSA的文件,确实是没有。

    查看了一下自己的打包过程,发现了一个小问题:

    V2这种签名方案是Android7.0引入的,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。具体请看这里。V1适用于所有android版本的机型,但在Android7.0及以上会缺少针对未授权 APK 文件更改的保护;只勾选V2,Android7.0以下的机型会报错,所以这里建议同时勾选V1,V2,以适用所有机型。

    发现问题所在,重新打包,发现还是不可以,再从网上搜索了一下,发现自己的build.gradle 文件有问题:

    在 buildTypes里面添加

    signingConfig signingConfigs.release

     

    再重新打包上传,一切OK。

    展开全文
  • ios 描述文件 本地签名

    千次阅读 2019-03-13 19:48:43
    ios描述文件本地签名 ::: tip 主要步骤: 1.到苹果开发中心下载ios的下载正式的证书 2.将证书.cer到导入mac系统导出.p12文件 3.分离p12文件中的证书和私钥 4.下载 Apple Root Certificate 和 Apple Intermediate ...

    ios描述文件本地签名

    主要步骤:
    1.到苹果开发中心下载ios的下载正式的证书
    2.将证书.cer到导入mac系统导出.p12文件
    3.分离p12文件中的证书和私钥
    4.下载 Apple Root Certificate 和 Apple Intermediate Certificate解压
    5. 签名


    到苹果开发中心下载ios的下载正式的证书

    开发中心地址:https://developer.apple.com/account/ios/certificate/
    在这里插入图片描述
    在这里插入图片描述
    下载证书,导入mac系统,然后导出为.p12文件

    2.将证书.cer到导入mac系统导出.p12文件

    这里应该也可实用转换工具直接转换,没有仔细研究,猜想应该是可以的
    在这里插入图片描述

    3.分离p12文件中的证书和私钥
    提取用户证书:

    openssl pkcs12 -in test.p12 -clcerts -nokeys -out cert.pem  //pem格式
    openssl pkcs12 -in test.p12 -clcerts -nokeys -out cert.crt  //crt格式
    

    如果需要携带秘钥,则去掉 -nokeys

    openssl pkcs12 -in test.p12 -clcerts  -out cert.pem  //pem格式
    openssl pkcs12 -in test.p12 -clcerts  -out cert.crt  //crt格式
    

    这里我使用的事 pem的

    提取私钥:

    openssl pkcs12 -in test.p12 -nocerts -out key.pem
    

    清除秘钥中的密码(在把秘钥部署到某些服务器上时可能需要清除密码)

    openssl rsa -in key.pem -out key_pass.pem
    

    4.下载 Apple Root Certificate 和 Apple Intermediate Certificate解压
    Apple Root Certificate(苹果根证书)
    Apple Application Integration Certificate (苹果应用集成证书 )
    你也可以使用这些证书或者苹果提供的其他证书 地址: http://www.apple.com/certificateauthority/
    根据这个文件我们可以解压出来证书.

     解压 Apple Root Certificate证书. 然后解压Apple Intermediate Certificate
    openssl x509 -inform DER -outform PEM -in AppleIncRootCertificate.cer -out root.crt.pem
    openssl x509 -inform DER -outform PEM -in AppleAAICA.cer -out Intermediate.crt.pem
     
    在文本编辑器中打开两个解压出来的文件
    复制并且粘贴Intermediate.crt.pem 到 root.crt.pem的开始位置,保存,然后你的root.crt.pem文件就是两个证书合并的结果
    
    1. 签名
    openssl smime -sign -in ios_nosign.mobileconfig -out ios_a.bdh.com.mobileconfig -signer cer.pem -inkey key_pass.pem -certfile root.crt.pem -outform der -nodetach
    
    展开全文
  • 维护老项目的时候找到了解决方案,以前对ionic签名都是 $ cordova build --release android 然后再使用jarsigner命令签名,太麻烦了。查阅之前的方式,详情请看之前的这篇博客,我们说下更为方便的方法,使用自己...

    在维护老项目的时候找到了解决方案,以前对ionic签名都是 $ cordova build --release android (备注: 命令中的红色Android是小写的),然后再使用jarsigner命令签名,太麻烦了。查阅之前的方式,详情请看之前的这篇博客,我们说下更为方便的方法,使用自己的keystore直接安装到手机。

    步骤

    • 切换到安卓项目根目录下:$ cd platforms/android
    • 将自己的keystore文件拷贝到上面目录中。生成keystore方法请查阅之前博客
    • 在目录中新建文件, 名为:release-signing.properties, 然后编辑该文件,加入如下内容

      storeFile=yourkeystore.keystore
      key.store.password=yourPassword
      key.alias=yourKeystoreAlias
      key.alias.password=yourPassword
      

      说明:① storeFile的值是你keystore的名称注意带有后缀keystore ② key.store.password 和 key.alias.password的值是你签名时需要输入的密码 ③ key.alias的值就是你的keystore的别名。

    • 生成带有自己keystore的apk: $ cordova build android --release (直接生成包)

    • 或者直接运行到手机上 $ cordova run android --release

    • 通过以上方法就实现了我们的目的

    参考

    展开全文
  • Gradle 文件中配置签名文件

    千次阅读 2018-04-04 17:35:09
    最近开发关于微信一系列功能,发现分享、支付必须要...在网上扒拉扒拉资料,发现有很多前辈都处理过类似问题,非常感谢大家的分享,参考链接:http://blog.csdn.net/jjwwmlp456/article/details/44942109,接下来...
  • (1)白纸手写签名,然后手机签名拍下来。文字背景一定要足够白,这样插入的签名图片与原文件才更加融合,不会太突兀。 (2)然后将签名图片适当裁剪,就可以插入到原PDF文件中,这样就...
  • Unity 之 制作.keystore签名文件

    千次阅读 2018-09-11 21:21:36
    签名文件在Unity中和Android中都可以制作,,网上也有很多教程,,, 分享一下刚学的使用命令提示符制作的过程,,, 首先打开命令提示符,(windows+R –&amp;amp;amp;amp;gt; 输入cmd),,然后把目录转...
  • 为什么我用X509V3CertificateGenerator生成的证书和密匙然后用keystore.store()方法存储出来的签名文件keystore,不能签名apk这是为什么,网上不是说keystore里面有密匙和证书然后就可以签名apk了么,求解谢谢!
  • 如今 XML已经非常普及了,越来越多的公司都在网上使用XML传输 结构化数据,特别是电子商务中 XML应用尤其突出,比如客户端用Web服务获取服务器端的office文件,修改后再回传服务器。因此 XML文档的安全性也变...
  • 安卓签名文件研究

    千次阅读 2014-11-13 14:26:10
    注:部分内容摘自网络。但是已经手动验证。...apk里的所有文件逐个生成sha1签名在base64编码的信息。 这地方我做了一个实验。 第一次试验:在解压后的文件夹里随便找了一个文件,打开之后随便加了个
  • Android生成系统签名文件jks

    千次阅读 2019-08-21 11:35:29
    我们很多应用需要用到系统签名,可以通过生成系统签名文件生成apk时使用这个签名,然后可以安装到机器中,不需要放在源码里编译,重新刷系统。 系统apk,特别是定制方案,将apk生成后,还需要收到进行命令脚本用...
  • 使用Andriod 编写完成的程序,要发布成可供手机真机使用的程序,需要三个步骤:  1.制作数字签名;... 制作Andriod程序的数字签名需要使用JDK,先确认本机是否安装了JDK,JDK目录下有一个KEYTOOL工具
  • 原来打包问题之前仅仅只勾选了第二个,现在把两个都勾,然后打包安装到oppo手机,完美解决!========================================Talk is cheap, show me the code=====================================...
  • 帮朋友做个东西,项目中使用到了获取用户的UDID这个功能,但是有些东西都是要自己去摸索的找相关的资料. 这里直接把找到的相关资料先贴出来,如果能够解决问题那...生成文件地址文章中,关于UDID自己写一个唯一标识...
  • 关于Android中签名文件的问题一遇到的问题开发过程中由于粗心将线上app的签名文件弄丢了,现在想要迭代线上的app。 遇到的问题:1.能否知道之前签名文件信息的情况之下重新生成新的签名...在手机上存在之前的apk的
  • Android Studio设置默认签名文件的路径

    千次阅读 2017-07-04 17:42:32
    我们对接第三方(百度地图、微信分享等)的时候,由于他需要正式的签名,所以每次打包测试是一个蛋疼的事,好在Android studio我们提供了配置默认签名路径的方法。 写出本人常用的一种方式:找到工程中build....
  • apk文件签名之命令行法

    千次阅读 2012-08-30 00:41:12
    写了一个法语词典,想传到Google play,发现需要apk签名,犹豫是初次尝试,故查阅了相关资料,结合自己的实践经历,我这里讲如何操作,至于为什么这么做,网上一搜一大片,我就不赘述了:  导出apk文件: ...
  • 如何查看apk和签名文件签名信息

    万次阅读 2016-12-09 16:22:18
    1.通过apktool工具解压当前apk(比如:demo.apk),解压后,会生成CERT.RSA文件 **** apktool d demo.apk 备注:通过这种方式解压出来的Androidmenifest.xml文件可以通过文件编辑器打开查看; 2.通过keytool...
  • CAB文件加上数字签名

    千次阅读 2006-04-11 17:03:00
    4、CAB文件签名 运行signcode,命令行的我没有试验通过,我是通过界面实现的。 signcode运行后会出现数字签名向导,首先选择DataTransfer.CAB, 下一步后会出现签名选项,一种是典型,一种是自定义。选择自定义, ...
  • Android studio 创建签名文件

    千次阅读 2016-01-24 17:31:57
    应用程序数字签名的作用简单说一下,每个应用都是有数字签名的。也叫数字证书。用来区分是否是同一个应用程序,可以用来升级程序。但是数字签名是有有效期的。 Android studio创建数字签名: 这里是设置应用程序...
  • apk包安装不到手机上 应用没签名 由于不想每次打包都签名 所以測试人员了设置了一下手机 不同的手机品牌可能设置的操作不太同样 解决的方法: 设置-应用程序-未知源 选择同意安装来自未知来源的应用 ...
  • 有没有发现自己重新打包过后的apk程序无法安装到手机上?那是因为你的程序没有签名或者签名不对。下面就简单介绍一下如何对apk文件进行签名。 请确保你的机器上已经安装了JDK。 1)首先第一步要生成一个签名用的...
  • android项目获取签名文件

    千次阅读 2014-09-25 11:44:21
    而介绍的第2种方法,获取的是debug时的签名文件,很可能导致我们的程序 调试时候正常,发布后就不行了。 另外,网上比较流行的方法是写一段代码,获取签名。然后editTexti显示出来。或者装一个类似的软件。我...
  • android中生成签名文件的两种方法

    千次阅读 2019-07-24 16:48:58
    最近学习android,这个是我学习安卓中的笔记,主要是讲如何生成签名文件的,至于为什么要生成签名文件,就是因为我们要把我们ecplise里面所做的app可以发布,然后提供别人下载。 首先介绍第一种方法: 1.用...
  • 1、第一步,我有一个.apk文件,使用apktool来进行解包,解包命令为apktool.bat d -f love.apk注意(这里要cmd命令框里将地址定位到该要解包的apk文件目录下,此时apktool.bat这个文件文件目录下)解包后有一...
  • android程序有一个默认的签名文件:密码是android 将程序安装到手机上的工作流程: ...AS将程序代码打包成一个APK文件,然后将这个...但并不是所有的APK文件都能成功安装到手机上,android系统要求只有签名的AP
  • 应用的开发阶段,Android Studio会帮助我们生成一个默认的keyStore文件以帮助在手机上安装apk; 而应用发布阶段,我们应该生成一个正式的keyStore文件作为apk的签名。 第一步 第二步 第三步 第四...
  • PDF文件的数字签名的破解

    千次阅读 2019-02-15 21:14:04
    我尝试把这份文档再打印成PDF,这下数字签名倒是没有了,可原文件的书签也没了。又在网上看到有人说用“提取页面”也可以达到同样效果,但是也无法连书签一起提取。 最后在网上找到一个解决方案: 1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 68,321
精华内容 27,328
关键字:

如何在手机上给文件签名