Quantcast
Channel: Active questions tagged crash - Stack Overflow
Viewing all articles
Browse latest Browse all 7198

How to reproduce or solve KeyStoreException?

$
0
0

Get crash with next description:

Caused by java.security.UnrecoverableKeyException: Failed to obtainX.509 form of public keyat android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStorePublicKeyFromKeystore(AndroidKeyStoreProvider.java:263)at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStoreKeyPairFromKeystore(AndroidKeyStoreProvider.java:303)at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStorePrivateKeyFromKeystore(AndroidKeyStoreProvider.java:324)at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStoreKeyFromKeystore(AndroidKeyStoreProvider.java:388)at android.security.keystore.AndroidKeyStoreSpi.engineGetKey(AndroidKeyStoreSpi.java:105)at java.security.KeyStore.getKey(KeyStore.java:1062)at com.mandarine.sai.sdk.tools.keystore.KeyStoreManager.getKeyPair(KeyStoreManager.java:117)at com.mandarine.sai.sdk.tools.keystore.KeyStoreManager.deleteKeyPairs(KeyStoreManager.java:222)at com.mandarine.sai.features.authorizations.common.ConnectionKeyBuilderKt.collectConnectionsAndKeys(ConnectionKeyBuilderKt.java:73)at com.mandarine.sai.features.authorizations.common.ConnectionKeyBuilderKt.collectConnectionsAndKeys(ConnectionKeyBuilderKt.java:41)at com.mandarine.sai.features.authorizations.list.AuthorizationsListViewModel.(AuthorizationsListViewModel.java:79)at com.mandarine.sai.app.ViewModelsFactory.create(ViewModelsFactory.java:102)

KeyStoreException: Invalid key blob

Caused by android.security.KeyStoreException: Invalid key blobat android.security.KeyStore.getKeyStoreException(KeyStore.java:1301)at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStorePublicKeyFromKeystore(AndroidKeyStoreProvider.java:265)at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStoreKeyPairFromKeystore(AndroidKeyStoreProvider.java:303)at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStorePrivateKeyFromKeystore(AndroidKeyStoreProvider.java:324)at android.security.keystore.AndroidKeyStoreProvider.loadAndroidKeyStoreKeyFromKeystore(AndroidKeyStoreProvider.java:388)at android.security.keystore.AndroidKeyStoreSpi.engineGetKey(AndroidKeyStoreSpi.java:105)at java.security.KeyStore.getKey(KeyStore.java:1062)at com.mandarine.sai.sdk.tools.keystore.KeyStoreManager.getKeyPair(KeyStoreManager.java:117)at com.mandarine.sai.sdk.tools.keystore.KeyStoreManager.deleteKeyPairs(KeyStoreManager.java:222)at com.mandarine.sai.features.authorizations.common.ConnectionKeyBuilderKt.collectConnectionsAndKeys(ConnectionKeyBuilderKt.java:73)at com.mandarine.sai.features.authorizations.common.ConnectionKeyBuilderKt.collectConnectionsAndKeys(ConnectionKeyBuilderKt.java:41)at com.mandarine.sai.features.authorizations.list.AuthorizationsListViewModel.(AuthorizationsListViewModel.java:79)at com.mandarine.sai.app.ViewModelsFactory.create(ViewModelsFactory.java:102)at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.java:187)at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.java:150)at com.mandarine.sai.features.authorizations.list.AuthorizationsListFragment.setupViewModel(AuthorizationsListFragment.java:119)at com.mandarine.sai.features.authorizations.list.AuthorizationsListFragment.onCreate(AuthorizationsListFragment.java:65)at androidx.fragment.app.Fragment.performCreate(Fragment.java:2684)

Here is code:

fun collectConnectionsAndKeys(    repository: ConnectionsRepositoryAbs,    keyStoreManager: KeyStoreManagerAbs): Map<ConnectionID, ConnectionAndKey> {    return repository.getAllActiveConnections().mapNotNull {        it.getPrivateKeyForConnection(keyStoreManager)    }.toMap()}  /**     *  Get related private key for connection     *     *  @param connection Connection     *  @return ConnectionAndKey     */    override fun createConnectionAndKeyModel(connection: ConnectionAbs): ConnectionAndKey? {        return getKeyPair(connection.guid)?.private?.let { key ->            ConnectionAndKey(connection, key)        }    }    /**     * Get RSA key pair by the given alias     *     * @param alias - the alias name     * @return KeyPair object     */    override fun getKeyPair(alias: String?): KeyPair? {        val keyAlias = alias ?: return null        val store = androidKeyStore ?: return null        return (store.getKey(keyAlias, null) as? PrivateKey)?.let { privateKey ->            val publicKey: PublicKey? = store.getCertificate(keyAlias).publicKey            KeyPair(publicKey, privateKey)        }    }

Viewing all articles
Browse latest Browse all 7198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>