hjanuschka / fastlane-plugin-cryptex

MIT License
36 stars 16 forks source link

Cryptex size not is enought for keystore #17

Open jordizspmobile opened 4 years ago

jordizspmobile commented 4 years ago

When I try to execute the cryptex_generate_keystore this create a simple 1024 bits keysize and it doesn't allow me modify that value then Android return:

Caused by: java.security.InvalidKeyException: Failed to sign using signer "CERT"
    at com.android.apksig.internal.apk.v1.V1SchemeSigner.signManifest(V1SchemeSigner.java:295)
    at com.android.apksig.internal.apk.v1.V1SchemeSigner.sign(V1SchemeSigner.java:256)
    at com.android.apksig.DefaultApkSignerEngine.outputJarEntries(DefaultApkSignerEngine.java:657)
    at com.android.tools.build.apkzlib.sign.SigningExtension.onOutputZipReadyForUpdate(SigningExtension.java:305)
    ... 33 more
Caused by: java.security.InvalidKeyException: Failed to sign using SHA1withDSA
    at com.android.apksig.internal.apk.v1.V1SchemeSigner.generateSignatureBlock(V1SchemeSigner.java:519)
    at com.android.apksig.internal.apk.v1.V1SchemeSigner.signManifest(V1SchemeSigner.java:293)
    ... 36 more
Caused by: java.security.InvalidKeyException: The security strength of SHA-1 digest algorithm is not sufficient for this key size
    at com.android.apksig.internal.apk.v1.V1SchemeSigner.generateSignatureBlock(V1SchemeSigner.java:515)
    ... 37 more
jordizspmobile commented 4 years ago

@hjanuschka you need add the next params to cryptex_generate_keystore.rb:

cmd = "keytool -genkey -v -keystore #{File.expand_path(params[:destination])} -storepass #{params[:password]} -keypass #{params[:password]} -keyalg #{params[:keyalg]} -keysize #{params[:keysize]} -alias #{params[:alias]} -dname 'CN=#{params[:fullname]},L=#{params[:city]}' -validity 10000"

And if you want work in Android you need add -keyalg RSA and -keysize 2048