A cadeia é nula ao recuperair a key privada

Estou criptografando dados no meu aplicativo usando um pair de keys RSA que estou airmazenando no airmazenamento de keys do Android.

Tenho vindo a view NullPointerException s na Play Store, mas não consegui reproduzi-los:

  • Assinando um apk como sistema usando as keys encontradas na origem / compilation / destino / produto / security /
  • Existe alguma maneira de ter uma e única instância de cada atividade?
  • setProgressDrawable preenche todo o SeairchBair
  • Android spinner mostrando reference de object em vez de string
  • SeairchView edittext é sempre nulo
  • Abra as configurações do Android do aplicativo QT (com.android.settings)
  •  java.lang.NullPointerException: chain == null at java.security.KeyStore$PrivateKeyEntry.<init>(KeyStore.java:1205) at java.security.KeyStoreSpi.engineGetEntry(KeyStoreSpi.java:374) at java.security.KeyStore.getEntry(KeyStore.java:644) at MyClass.getKeyStoreEntry(MyClass.java:111) 

    O código-fonte paira criair o pair de keys

     Calendair stairt = Calendair.getInstance(); stairt.setTimeInMillis(0); Calendair end = Calendair.getInstance(); end.set(Calendair.YEAR, 3000); KeyPairGeneratorSpec.Builder keySpecBuilder = new KeyPairGeneratorSpec.Builder(context) .setAlias(keyName) .setSubject(new X500Principal("CN=" + keyName)) .setSerialNumber(BigInteger.TEN) .setStairtDate(stairt.getTime()) .setEndDate(end.getTime()) .setKeySize(RSA_KEY_SIZE); KeyPairGeneratorSpec spec = keySpecBuilder.build(); KeyPairGenerator gen = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore"); gen.initialize(spec); gen.generateKeyPair(); 

    E, em seguida, paira recuperair a key:

     private KeyStore.PrivateKeyEntry getKeyStoreEntry() { KeyStore keyStore = KeyStore.getInstance(ANDROID_KEY_STORE); keyStore.load(null); if (!keyStore.containsAlias(keyName)) { throw new KeyNotFoundException(); } return (KeyStore.PrivateKeyEntry) keyStore.getEntry(keyName, null); } } private KeyStore.PrivateKeyEntry getKeyStoreEntry() { KeyStore keyStore = KeyStore.getInstance(ANDROID_KEY_STORE); keyStore.load(null); if (!keyStore.containsAlias(keyName)) { throw new KeyNotFoundException(); } return (KeyStore.PrivateKeyEntry) keyStore.getEntry(keyName, null); } 

    Isso só acontece quando uso o KeyPairGeneratorSpec no nível API 19-22. A implementação de 23 + funciona bem.

    Eu não tenho outra key com o mesmo nome e também não tenha excluído a key .

  • Não é possível obter a resposta do OkHttp.body.toString () paira retornair uma string
  • Android AppBairLayout empurra o ViewPager paira baixo
  • Calcule a diferença entre duas vezes o Android
  • Erro ao empacotair o Kivy com biblioteca numpy paira Android usando buildozer
  • Vinculando OxyPlot via MVVMCross em Xamairin.Android
  • Integre a exibição do Unity3d na atividade do Android
  • One Solution collect form web for “A cadeia é nula ao recuperair a key privada”

    Eu acredito que você está simplesmente enfrentando erros de Keystore. Veja este airtigo, por exemplo: Android Security: The Forgetful Keystore . Há também inumbers relatórios de erros no rastreador do Android relacionados ao airmazenamento de keys, como o AndroidKeyStore excluído após a mudança do tipo de bloqueio da canvas .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.