Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to open keystore in AndroidStudio - "Redundant length bytes found"

I am unable to open my existing keystore file in Android Studio or use the jarsigner from the command line.

In both cases the error message is:

java.security.cert.CertificateException: Unable to initialize, java.io.IOException: DerInputStream.getLength(): Redundant length bytes found

See screenshot:
Android Studio

Apparently this was an issue that should be fixed with JDK8_131 but does not work for me. (We are all using OSX)

I also get the same error on travis. (See "Update" section below.)

I found another SO question (Signing android app throws IOException: Redundant length bytes found) where they converted the .pkc12 file to .keystore but we are already using .keystore


UPDATE

I found that the build also started failing on travis because they are moving builds to their new distro trusty which downloads the newest JDK whereas precise used JDK7 by default. Adding dist: precise to the top of the .travis.yml file works for now but this is definitely not a permanent solution.

Can we only hope for a JDK update that fixes the issue or is there a way to remove the redundant length bytes from the keystore?

like image 873
JDurstberger Avatar asked Jul 27 '17 13:07

JDurstberger


1 Answers

I also got the same error and I fixed it by following Solution 1 below. you can try Solution 1 to resolve it. Else follow the other Solutions.

Solution 1

Updating JDK from 7 to 8

Solution 2

You can run the following command to list the content of your keystore file:

keytool -list -keystore .keystore

If you are looking for a specific alias, you can also specify it in the command:

keytool -list -keystore .keystore -alias foo

If the alias is not found, it will display an exception:

 keytool error: java.lang.Exception: Alias does not exist

Solution 3

In order to get all the details I had to add the -v option

keytool -v -list -keystore <FileName>.keystore

It will surely help you to solve the error or you can get the contents of your keystore and can generate a new keystore of your app.

like image 50
sugansoft Avatar answered Sep 21 '22 14:09

sugansoft