签名证书keystore,jks,pk8,x509.pem

Posted 杨迈1949

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了签名证书keystore,jks,pk8,x509.pem相关的知识,希望对你有一定的参考价值。

.keystore,.jks本身是一个东西,没有区别;在eclipse上生成的是.keystore后缀,在andorid studio上生成的是.jks后缀;

生成.keystore

http://www.cnblogs.com/littleatp/p/5922362.html

keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore

E:\\sdk\\sign> keytool -genkey -alias raiseyang -keyalg RSA -validity 20000 -keystore raise.keyst
ore
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  raise
您的组织单位名称是什么?
  [Unknown]:  xxx
您的组织名称是什么?
  [Unknown]:  xxx
您所在的城市或区域名称是什么?
  [Unknown]:  shanghai
您所在的省/市/自治区名称是什么?
  [Unknown]:  shanghai
该单位的双字母国家/地区代码是什么?
  [Unknown]:  zh
CN=raise, OU=xxx, O=xxx, L=shanghai, ST=shanghai, C=zh是否正确?
  [否]:  y

输入 <raiseyang> 的密钥口令
        (如果和密钥库口令相同, 按回车):

Android debug的密码都是android keytool -list -v -keystore mydebug.keystore

签名

jarsigner -verbose -keystore my-debug.keystore -signedjar demo_signed.apk demo_unsigned.apk androiddebugkey

查看jks证书信息

keytool -list -v -keystore platform.jks

E:\\sdk\\app> keytool -list -v -keystore platform.jks
输入密钥库口令:

密钥库类型: JKS
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: androiddebugkey
创建日期: 2017-9-21
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US
发布者: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US
序列号: b3998086d056cffa
有效期开始日期: Wed Apr 16 06:40:50 CST 2008, 截止日期: Sun Sep 02 06:40:50 CST 2035
证书指纹:
         MD5: 8D:DB:34:2F:2D:A5:40:84:02:D7:56:8A:F2:1E:29:F9
         SHA1: 27:19:6E:38:6B:87:5E:76:AD:F7:00:E7:EA:84:E4:C6:EE:E3:3D:FA
         SHA256: C8:A2:E9:BC:CF:59:7C:2F:B6:DC:66:BE:E2:93:FC:13:F2:FC:47:EC:77:BC:6B:2B:0D:52:C1:1F:51:19:2A:B8
         签名算法名称: MD5withRSA
         版本: 3

扩展:

#1: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: 4F E4 A0 B3 DD 9C BA 29   F7 1D 72 87 C4 E7 C3 8F  O......)..r.....
0010: 20 86 C2 99                                         ...
]
[EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US]
SerialNumber: [    b3998086 d056cffa]
]

#2: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[
  CA:true
  PathLen:2147483647
]

#3: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 4F E4 A0 B3 DD 9C BA 29   F7 1D 72 87 C4 E7 C3 8F  O......)..r.....
0010: 20 86 C2 99                                         ...
]
]



*******************************************
*******************************************

pk8 x509.pem转jks或keystore

http://blog.csdn.net/kkguo1990/article/details/53424277

fota@fota:~/Desktop/yangdongsheng$ ls
platform.pk8  platform.x509.pem  新建文本文档.txt
fota@fota:~/Desktop/yangdongsheng$  openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem
fota@fota:~/Desktop/yangdongsheng$ sudo openssl pkcs12 -export -in  platform.x509.pem -out platform.p12 -inkey  platform.pem -password pass:android -name androiddebugkey
[sudo] password for fota: 
fota@fota:~/Desktop/yangdongsheng$  keytool -importkeystore -deststorepass android -destkeystore ./platform.jks -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass android
已成功导入别名 androiddebugkey 的条目。
已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消
fota@fota:~/Desktop/yangdongsheng$ 

创建自己的pk8, x509.pem并给app签名

http://blog.csdn.net/darkengine/article/details/42773745

以上是关于签名证书keystore,jks,pk8,x509.pem的主要内容,如果未能解决你的问题,请参考以下文章

如何将 x509.pem pk8 文件导入 jks-keystore?

利用pk8,x509.pem 转成jks签名文件 mac版本

Android 根据源码文件生成.jks的系统签名

Android Studio支持系统签名(证书)

Android签名机制---签名过程

Android签名生成和互转