web-dev-qa-db-fra.com

Convertir .keystore en .jks pour signer apk

J'ai une application Android que j'essaie de protéger à l'aide de quixxi.com, mais elle nécessite que je signe à nouveau l'application. Mais pour ce faire, elle doit utiliser des fichiers .jks mais mon magasin de clés l'est. magasin de clés

J'utilise Xamarin.Android en C # avec Visual Studio 2017

Y a-t-il un moyen de contourner cela?

9
Ciaran

Si vous utilisez une clé de voûte Java pour signer vos Android (basées sur Xamarin ou non), alors les chances sont de 99,999% que la XXX.keystore que vous utilisez pour signer votre Xamarin.Android les applications sont déjà au format JKS et non au format PKCS12.

Un moyen rapide de vérifier consiste à vider votre clé de voûte au format RFC et à consulter le Keystore type: champ.

Exemple:

/usr/bin/keytool -list -rfc -keystore debug.keystore |grep "Keystore type"

Production:

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

Exemple (non filtré):

/usr/bin/keytool -list -rfc -keystore sushi.keystore 

Production:

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


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

Si vous devez réellement convertir un magasin de types PKCS12 en un nouveau fichier de type de magasin de clés JKS:

keytool -importkeystore -srckeystore somekeystore.pkcs12 -destkeystore somenewkeystore.jks -deststoretype jks
8
SushiHangover