Esta mi código utilizado para el uso de la tecla store para guardar un texto arbitrario como clave en el almacén de claves de cómo voy a obtener el «Almacén de claves no está inicializado error», ¿cómo puedo iniciar el Almacén de claves?

public void secretKeyGeneration(View view) throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException {

    KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
    byte[]  sek = "eru9tyighw34ilty348934i34uiq34q34ri".getBytes();
    SecretKey sk = new SecretKeySpec(sek, 0, sek.length, "AES");    
    char[] password = "keystorepassword".toCharArray();
    KeyStore.ProtectionParameter protParam = 
    new KeyStore.PasswordProtection(password);

    KeyStore.SecretKeyEntry skEntry = new KeyStore.SecretKeyEntry(sk);
    ks.setEntry("secretKeyAlias", skEntry, protParam);

    }   
InformationsquelleAutor user3083447 | 2014-08-31

1 Comentario

  1. 12

    Almacenes de claves tiene que ser inicializado y por lo tanto usted tiene que llamar a la Keystore.load(...) método. En tu caso por ejemplo, puede invocar:

    KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
    ks.load(null, null);
    byte[]  sek = "eru9tyighw34ilty348934i34uiq34q34ri".getBytes();
    ...
    • Yo había tratado de ks.de carga(null) antes y que no había trabajado, pero su respuesta de ks.de carga(null, null) funciona muy bien!

Dejar respuesta

Please enter your comment!
Please enter your name here