Android 中的密钥库

KeyStore in Android

我正在尝试在我的应用程序中使用密钥库安装证书。但是我遇到了一个例外:

Throwable occurred: java.security.cert.CertificateException: com.android.org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: com.android.org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: java.lang.RuntimeException: error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long

尝试了一些方法(例如:getInstance("X.509", "BC");) 来消除这个错误,但没有用。不太确定,如何消除这个错误。

我是开发新手,很清楚密钥库的工作原理。任何帮助将不胜感激。提前致谢。

try{

                    String configString = config.getString("imcwingw-latest.cert");
                    String decodedCert = BASE64Decoder.decode(configString);
                    InputStream bis = new ByteArrayInputStream(decodedCert.getBytes()); 
                    KeyStore ks = KeyStore.getInstance("BKS");
                    ks.load(null, null);
                    String alias = "myalias";

                    CertificateFactory cf = CertificateFactory.getInstance( "X.509");
                    Certificate cert = cf.generateCertificate(bis);
                    ks.setCertificateEntry(alias, cert);
}

您可以通过以下方式完成相同的任务:

http://www.instructables.com/id/Publishing-an-Android-App-to-the-Google-Play-Store/?ALLSTEPS

工作简单快捷...