将.keystore转换为.jks以签署apk

Cia*_*ran 7 android keystore jks xamarin.android xamarin

我有一个Android应用程序,我试图使用quixxi.com保护,但它需要我再次签署该应用程序.但要做到这一点,它必须使用.jks文件,但我的密钥库是.keystore

我在Visual Studio 2017中使用C#中的Xamarin.Android

有没有办法解决?

Sus*_*ver 8

如果您在使用Java梯形签署Android应用(Xamarin基或没有),那么赔率是99.999%的XXX.keystore您正在使用签署您Xamarin.Android的应用程序已经在JKS格式而不是PKCS12格式.

快速检查方法是以RFC格式转储keystone并查看该Keystore type:字段.

例:

/usr/bin/keytool -list -rfc -keystore debug.keystore |grep "Keystore type"
Run Code Online (Sandbox Code Playgroud)

输出:

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".
Run Code Online (Sandbox Code Playgroud)

示例(未过滤):

/usr/bin/keytool -list -rfc -keystore sushi.keystore 
Run Code Online (Sandbox Code Playgroud)

输出:

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-----


*******************************************
*******************************************
Run Code Online (Sandbox Code Playgroud)

如果您确实需要将PKCS12类型存储转换为新的JKS密钥库类型文件:

keytool -importkeystore -srckeystore somekeystore.pkcs12 -destkeystore somenewkeystore.jks -deststoretype jks
Run Code Online (Sandbox Code Playgroud)

  • 如果您使用的是 Windows 计算机,只需将 debug.keystore 文件复制到 `C:\Program Files\Java\#jdk_version#\bin 文件夹`,从该文件夹打开终端窗口并运行:`keytool -list -rfc -密钥库 debug.keystore` (3认同)