android签名证书如何生成Android的签名证书
android签名证书 时间:2021-09-12 阅读:(
)
安装安卓软件时提示没有数字签名证书怎么办
1、打开手机,进入设置
2、找到“安全”选项。
各手机因有自己的定制系统,可能这一项名称会略有不同。
3、在“安全”选项的菜单中,将“未知来源”这一选项设置为“允许安装不是从电子市场获取的应用程序”。
至此,所有软件均可安装。
android 签名文件怎么用
android sdk包含源码。
调试Android程序的时候遇到“source not found”错误应该很抓狂,Goolge在发布SDK时没有把源代码包含进去着实有点让人费解,对很多人来说Git无疑是个生涩的东西,而 framework中所有Java代码加起来打个包也就是20多MB。
Android Eclipse plugin (ADT)不允许在项目属性中attach源代码到android.jar上。
好在Eric Burke找到了把source加入到SDK中的办法,通过分析ADT的源代码知道ADT是从SDK目录下的“sources”目录来查找class对应的源代码,这样只要把源代码放到sources目录中ADT就可以自动找到对应的源代码了。
如何获取android 签名信息
android中有时候需要获取应用的签名信息,签名信息一般有:公钥,算法名,MD5值,序列号。
要想获取这些信息首先该APK应用要有系统权限。
1. 在配置文件里添加系统权限:android:sharedUserId="android.uid.system"
2. 获取签名信息的字符信息:
String signature_key = "";
try{
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(pkgName,
PackageManager.GET_SIGNATURES);
Signature[] signatures =
packageInfo.signatures;
SignatureKey.parseSignature(signatures[0].toByteArray());
} catch (NameNotFoundException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
}
(1).其中packageInfo 得到的是指定包名的签名信息的字符串。
另提及多说一句:在程序中我们一般使用
List list =
mPackageManager.getInstalledPackages(0);来得到所有的安装包的信息,这其中包括应用名,包名,大小....
(2).
其中[]signatures里是存放的签名的字符串数组。
我们一般取用第一个signatures[0]来做为该应用的签名信息。
这里有一个疑惑就是为什么得到的是一个字符串的数组列表,而不是一个字符串,也有的开发者采用:
StringBuilder builder = new StringBuilder();
for(Signature sign: signatures
){
builder.append(sign.toCharsString());
builder.append("/n");
}来得到所有的签名信息。
在这里我验证过,signatures
的长度为1,所以指定apk的签名信息就为signatures[0]。
至于第二种方法有待发现。
3 .获取签名的MD5值
public static final String getMD5String(byte[] paramArrayOfByte)
{
char[] asciiTable = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
97, 98, 99, 100, 101, 102 }; // ascii表对应的数字和字符的编码
try
{
MessageDigest md5MessageDigest =
MessageDigest.getInstance("MD5");
md5MessageDigest.update(paramArrayOfByte);//
byte[]
tempByte = md5MessageDigest.digest();
int i =
tempByte.length;
char[] tempChar = new char[i *
2];
int j = 0;
int k =
0;
while (true) { //
将二进制数组转换成字符串
if (j >= i)
{
return new
String(tempChar);
}
int m
= tempByte[j];
int n = k +
1;
tempChar[k] = asciiTable[(0xF & m >>>
4)];
k = n +
1;
tempChar[n] = asciiTable[(m &
0xF)];
j++;
}
}
catch (Exception e)
{
e.printStackTrace();
}
return
null;
}
(1). 其中参数就是上一步得到的签名的byte数组。
4. 获取公钥,签名算法,签名序列号
public static void parseSignature(byte[] signature)
{
try
{
CertificateFactory
certFactory =
CertificateFactory.getInstance("X.509");
X509Certificate cert = (X509Certificate) certFactory.generateCertificate(new
ByteArrayInputStream(signature));
String pubKey =
cert.getPublicKey().toString(); //公钥
String signNumber =
cert.getSerialNumber().toString();
System.out.println("signName:" +
cert.getSigAlgName());//算法名
System.out.println("pubKey:" +
pubKey);
System.out.println("signNumber:" +
signNumber);//证书序列编号
System.out.println("subjectDN:"+cert.getSubjectDN().toString());
} catch (CertificateException e)
{
e.printStackTrace();
}
}
5. 电脑查看APK签名信息
查看三方应用或是系统应用签名
用winrar打开待查看的apk,将其中META-INF文件夹解压出来,得到其中的CERT.RSA文件
1.keytool
-printcert -file META-INF/CERT.RSA
命令是:keytool -printcert -file
<签名文件RSA的路径>
2.jarsigner -verify -verbose -certs Superuser.apk
此条未验证成功如何给Android应用程序签名
Android系统要求所有的程序经过数字签名才能安装,如果没有可用的数字签名,系统将不许安装运行此程序。
不管是模拟器还是真实手机。
因此,在设备或者是模拟器上运行调试程序之前,必须为应用程序设置数字签名。
·所有的程序都必须签名,没有被签名的程序,系统将不能安装。
·可使用自签署证书签署应用程序,无须授权凭证。
·系统仅仅会在安装的时候测试签名证书的有效期,如果应用程序的签名是在安装之后才到期,那么应用程序仍然可以正常启用。
·可以使用标准工具-Keytool and Jarsigner-生成密钥,来签名应用程序的.apk文件。
Android SDK 工具可以在调试时给应用程序签名。
ADT插件和Ant编译工具都提供了两种签名模式-debug模式和release模式
·debug模式下,编译工具使用JDK中的通用程序Keytool通过已知方法和密码创建秘锁和密钥。
每次编译的时候,工具使用debug密钥签名应用程序的.apk文件。
因为密码是已知的,工具不需要在每次编译的时候提示输入密锁和密钥。
·当应用程序调试完毕准备要发布release版本时,可以在release模式下编译。
release模式下,编译工具不会将.apk文件签名。
需要自己用Keytool生成密钥和密锁,再用JDK中的Jarsigner工具给.apk文件签名。
签名基本设置 首先设置JAVA_HOME环境变量,告诉SDK如何找到Keytool,或者可以在Windows 系统环境变量PATH变量中添加Keytool的JDK路径。
在发布release版本时,从Package面版上按选中你的project,按鼠标右键,依次选择Android Tools、Export Application Package。
或者可以点击Manifest Editor,overview 页面上的“Exporting the unsigned .apk”连接 ,导出未签名apk文件。
保存.apk文件后,用Jarsigner及自己的密钥给apk文件签名,如果没有密钥, 可以用Keystore创建密钥和密锁。
如果已经有一个密钥了,如公共密钥,就可以给.apk文件签名了。
也可以把上面这个完整的步骤写成一个bat文件,这样需要签名的时候只要运行这个bat就可以了。
下面给出一个完整的bat文件示例:
@Rem android签名程序 //注释指令
@Rem echo是显示指令 格式:echo [{on|off}] [message]
@echo **********************************************************
@Rem 文件是否存在命令格式:if exist 路径+文件名 命令
@if exist d:sign/MyFirstApp.keystore goto sign
@echo 创建签名文件MyFirstApp.keystore
@Rem keytool命令格式:-genkey产生签名 -alias别名 -keyalg加密算法 -validity有效天数 -keystore生产签名文件名称
keytool -genkey -alias MyFirstApp.keystore -keyalg RSA -validity 40000 -keystore MyFirstApp.keystore
@echo 开始签名:
@Rem jarsigner命令格式:-verbose输出详细信息 -keystore密钥库位置 -signedjar要生成的文件 要签名的文件 密钥库文件
jarsigner -verbose -keystore MyFirstApp.keystore -signedjar MyFirstApp_signed.apk MyFirstApp.apk MyFirstApp.keystore@goto over:sign@echo 开始签名:
jarsigner -verbose -keystore MyFirstApp.keystore -signedjar MyFirstApp_signed.apk MyFirstApp.apk MyFirstApp.keystore:over@echo ********************MyFirstApp.apk 签名完成************************pause================以上是一个给应用签名的完整bat文件,在运e68a84e8a2ad3231313335323631343130323136353331333332633037行这个bat文件时,还需要按照屏幕提示的步骤输入一些必要信息,最后生成一个签名后的文件是:MyFirstApp_signed.apk。
签名完成以后最好再把这个文件压缩一下,使用Android SDK安装路径下tools文件夹里的zipalign进行压缩,以刚才这个文件为例,也可以写成一个bat文件,示例如下:
D:softandroid-sdk-windows oolszipalign -c -v 4 MyFirstApp_zip.apkpause================上面的D:softandroid-sdk-windows用你的实际Android SDK安装路径代替。
按照以上步骤签名、压缩就完成了,最后把压缩后的那个文件(比如例子中的MyFirstApp_zip.apk文件)复制到手机上就可以正常的安装运行了。
android https自签名证书和机构颁发证书的区别
自签名证书是由创建它的人签署的证书,而不是由受信任的证书机构签发的证书。
自签名证书普遍存在严重的安全漏洞,极易受到攻击,而且通常不受浏览器信任。
因此,不建议大家使用自签名证书,以免造成巨大的安全隐患和安全风险,特别是重要的网银系统、网上证券系统和电子商务系统。
使用自签名证书两个主要的弊端:
1)访问者的连接可能会被劫持,从而攻击者便能查看所有发送的数据(因此违背了加密连接的目的)
2)证书不能向受信任的证书那样进行撤销。
CA证书也就是由受信任的CA机构颁发的服务器证书,受信任的CA机构是经过国际标准审计,并加入各大根证书库的SSL证书才能成为被国际认可的、发挥加密和认证作用。
如何生成Android的签名证书
cmd命令生成android签名证书,有空在写一篇eclipse导出带签名的apk,这里面包括生成新的签名。
现在还是讲讲在cmd怎么操作生成签名证书。
1、dos下进入JDK的bin目录
运行如下命令:keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
(-validity 20000代表有效期天数),命令完成后,bin目录中会生成android.keystore
示例:
C:Program Files (x86)Javajdk1.8.0_25in>
keytool -genkey -alias test.keystore -keyalg RSA -validity 20000 -keystore d: est.keystore
ps:-alias test 生成的keystore别名,-keyalg RSA 加密和数字签名的算法,-validity 20000 有效天数
输入密钥库口令:123456
再次输入新口令:123456
您的名字与姓氏是什么?
[Unknown]: rob
您的组织单位名称是什么?
[Unknown]: abc
您的组织名称是什么?
[Unknown]: abc
您所在的城市或区域名称是什么?
[Unknown]: guangzhou
您所在的省/市/自治区名称是什么?
[Unknown]: guangzhou
该单位的双字母国家/地区代码是什么?
[Unknown]:
CN=rob, OU=abc, O=abc, L=guangzhou, ST=guangzhou, 是否正确?
[否]: y
输入 的密钥口令
(如果和密钥库口令相同, 按回车):
如果没有错误则回去查看D盘根目录下,多了test.keystore
所以第一次输入的是,密钥库的密码。
最后输入时密钥别名的密码。
到这里生成签名就搞定啦。
2、查看md5指纹验证
输入keytool -list -v -alias androiddebugkey -keystore 再加上刚刚从红色框中复制出来的内容
我这里的就是keytool -list -v -alias androiddebugkey -keystore C:UsersLQ.androiddebug.keystore了,回车
-alias androiddebugkey 这个是别名
-keystore C:UsersLQ.androiddebug.keystore 具体位置的密钥库
要求输入密码,密码是android,至此就可以拿到MD5认证指纹了
BuyVM商家属于比较老牌的服务商,早年有提供低价年付便宜VPS主机还记得曾经半夜的时候抢购的。但是由于这个商家风控非常严格,即便是有些是正常的操作也会导致被封账户,所以后来陆续无人去理睬,估计被我们风控的抢购低价VPS主机已经手足无措。这两年商家重新调整,而且风控也比较规范,比如才入手他们新上线的流媒体优化VPS主机也没有不适的提示。目前,BuyVM商家有提供新泽西、迈阿密等四个机房的VPS主机...
需要提前声明的是有网友反馈到,PacificRack 商家是不支持DD安装Windows系统的,他有安装后导致服务器被封的问题。确实有一些服务商是不允许的,我们尽可能的在服务商选择可以直接安装Windows系统套餐,毕竟DD安装的Win系统在使用上实际上也不够体验好。在前面有提到夏季促销的"PacificRack夏季促销PR-M系列和多IP站群VPS主机 年付低至19美元"有提到年付12美元的洛杉...
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款到网站余额,超过2天...
android签名证书为你推荐
文件损坏电脑总的提示文件损坏怎么办开房数据库ODBC数据库是什么呢?修复网络lspLSP修复是什么意思?360官网打不开360官网进不了怎么办超市商品价格商品进入大型超市需要哪些费用?超市商品价格超市里的商品定价69块3好,还是69块9好?虽然差价很少但哪个效果比较好fshow为什么日文里面还有很多中文?移动通信培训我是学移动通信技术的学生,我想我要做什么?我想做点事情。。。监控软件安装监控系统安装教程电商运营学习学电商运营以后可以干什么
云南虚拟主机 美国主机推荐 idc测评网 免费个人博客 北京主机 申请个人网页 java虚拟主机 t云 免费mysql数据库 美国凤凰城 ledlamp 美国迈阿密 密钥索引 comodo 卡巴斯基免费版下载 shuangshiyi ddos攻击 ddos攻击器 dmz主机 租主机 更多