Cómo inicializar el Almacén de claves

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 Kommentar

  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!

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea