Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

StorageServiceAccountSample application reports "KeyStore JKS implementation not found"

The very first line of StorageServiceAccountSample

HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();

causes the "KeyStore JKS implementation not found":

W/System.err(20142): java.security.KeyStoreException: java.security.NoSuchAlgorithmException: KeyStore JKS implementation not found
W/System.err(20142):    at java.security.KeyStore.getInstance(KeyStore.java:119)
W/System.err(20142):    at com.google.api.client.util.SecurityUtils.getJavaKeyStore(SecurityUtils.java:48)
W/System.err(20142):    at com.google.api.client.googleapis.GoogleUtils.getCertificateTrustStore(GoogleUtils.java:74)
W/System.err(20142):    at com.google.api.client.googleapis.javanet.GoogleNetHttpTransport.newTrustedTransport(GoogleNetHttpTransport.java:55)

As I read Android doesn't support JKS, how should I modify this method to work around it?

like image 931
Sailor Jerry Avatar asked Sep 18 '13 02:09

Sailor Jerry


2 Answers

Replaced

HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();

with

HTTP_TRANSPORT = AndroidHttp.newCompatibleTransport();

and the problem went away.

like image 184
Sailor Jerry Avatar answered Oct 14 '22 03:10

Sailor Jerry


I've found an answer on google issue tracker.

Replace

HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();

with

HTTP_TRANSPORT = new com.google.api.client.http.javanet.NetHttpTransport()

But don't know, how it's working.

like image 22
Mani Avatar answered Oct 14 '22 05:10

Mani