Error loading PKCS12 certificate on Android: Invalid key encoding
Invalid key encoding error occurs while loading PQC applied PKCS12 certificate in KeyStore in Android.
The PKCS12 certificate was generated by CentOS 7 applying the liboqs library to OpenSSL. The algorithm used for key generation is sphincssha256128frobust.
[ Android Source ] KeyStore keyStore = KeyStore.getInstance("PKCS12"); keyStore.load(null, null); InputStream pkcsInput = am.open(pkcs_cert_filename); keyStore.load(pkcsInput, pkcs_cert_pwd.toCharArray());
[ Error Message ] java.io.IOException: exception unwrapping private key - java.security.InvalidKeyException: Invalid key encoding. at com.android.org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.unwrapKey(PKCS12KeyStoreSpi.java:641) at com.android.org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.engineLoad(PKCS12KeyStoreSpi.java:872) at java.security.KeyStore.load(KeyStore.java:1247)