将 .keystore 转换为 .jks 以签署 apk
Convert .keystore to .jks to sign apk
我有一个 android 应用程序,我试图使用 quixxi.com 来保护它,但是它需要我再次签署该应用程序。但要做到这一点,它必须使用 .jks 文件,但我的密钥库是 .keystore
我在 C# 中使用 Xamarin.Android Visual Studio 2017
有什么解决办法吗?
如果您使用 Java keystone 来签署您的 Android 应用程序(基于或不基于 Xamarin),那么您使用的 XXX.keystore
的可能性为 99.999%签署您的 Xamarin.Android
应用程序是
已经是 JKS 格式而不是 PKCS12 格式。
一种快速检查方法是以 RFC 格式转储您的 keystone 并查看 Keystore type:
字段。
示例:
/usr/bin/keytool -list -rfc -keystore debug.keystore |grep "Keystore type"
输出:
Enter keystore password:
***************** WARNING WARNING WARNING *****************
* The integrity of the information stored in your keystore *
* has NOT been verified! In order to verify its integrity, *
* you must provide your keystore password. *
***************** WARNING WARNING WARNING *****************
Keystore type: JKS
Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore debug.keystore -destkeystore debug.keystore -deststoretype pkcs12".
示例(未过滤):
/usr/bin/keytool -list -rfc -keystore sushi.keystore
输出:
Enter keystore password:
***************** WARNING WARNING WARNING *****************
* The integrity of the information stored in your keystore *
* has NOT been verified! In order to verify its integrity, *
* you must provide your keystore password. *
***************** WARNING WARNING WARNING *****************
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: androiddebugkey
Creation date: Aug 20, 2017
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
-----BEGIN CERTIFICATE-----
MIIDDTCCAfWgAwIBAgIEeCTY/jANBgkqhkiG9w0BAQsFADA3MQswCQYDVQQGEwJV
~~~~
KvHIbSHVBsryiyCwPJkXP6A=
-----END CERTIFICATE-----
*******************************************
*******************************************
如果您确实需要将 PKCS12 类型存储转换为新的 JKS 密钥库类型文件:
keytool -importkeystore -srckeystore somekeystore.pkcs12 -destkeystore somenewkeystore.jks -deststoretype jks
我有一个 android 应用程序,我试图使用 quixxi.com 来保护它,但是它需要我再次签署该应用程序。但要做到这一点,它必须使用 .jks 文件,但我的密钥库是 .keystore
我在 C# 中使用 Xamarin.Android Visual Studio 2017
有什么解决办法吗?
如果您使用 Java keystone 来签署您的 Android 应用程序(基于或不基于 Xamarin),那么您使用的 XXX.keystore
的可能性为 99.999%签署您的 Xamarin.Android
应用程序是
已经是 JKS 格式而不是 PKCS12 格式。
一种快速检查方法是以 RFC 格式转储您的 keystone 并查看 Keystore type:
字段。
示例:
/usr/bin/keytool -list -rfc -keystore debug.keystore |grep "Keystore type"
输出:
Enter keystore password:
***************** WARNING WARNING WARNING *****************
* The integrity of the information stored in your keystore *
* has NOT been verified! In order to verify its integrity, *
* you must provide your keystore password. *
***************** WARNING WARNING WARNING *****************
Keystore type: JKS
Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore debug.keystore -destkeystore debug.keystore -deststoretype pkcs12".
示例(未过滤):
/usr/bin/keytool -list -rfc -keystore sushi.keystore
输出:
Enter keystore password:
***************** WARNING WARNING WARNING *****************
* The integrity of the information stored in your keystore *
* has NOT been verified! In order to verify its integrity, *
* you must provide your keystore password. *
***************** WARNING WARNING WARNING *****************
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: androiddebugkey
Creation date: Aug 20, 2017
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
-----BEGIN CERTIFICATE-----
MIIDDTCCAfWgAwIBAgIEeCTY/jANBgkqhkiG9w0BAQsFADA3MQswCQYDVQQGEwJV
~~~~
KvHIbSHVBsryiyCwPJkXP6A=
-----END CERTIFICATE-----
*******************************************
*******************************************
如果您确实需要将 PKCS12 类型存储转换为新的 JKS 密钥库类型文件:
keytool -importkeystore -srckeystore somekeystore.pkcs12 -destkeystore somenewkeystore.jks -deststoretype jks