Cómo cifrar un objeto en Azure usando KeyVaultClient (JAVA)

votos
0

encriptación normalmente sucede por matrices de bytes texto plano.

promise = keyVaultClient.encryptAsync(keyId.getBaseIdentifier(), JsonWebKeyEncryptionAlgorithm.RSAOAEP, plainText); 
result = promise.get(); 
cipherText = result.getResult();

Donde el byte KeyVaultClient objeto cifrar [] y los rendimientos futuros.

Cómo cifrar un objeto?

Publicado el 30/08/2017 a las 06:54
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
0

Se puede ver Soucre código de encryptAsyncprocedimiento que a continuación en Azure SDK keyvault java :

public ServiceFuture<KeyOperationResult> encryptAsync(String keyIdentifier, JsonWebKeyEncryptionAlgorithm algorithm, byte[] value, final ServiceCallback<KeyOperationResult> serviceCallback) {
        KeyIdentifier id = new KeyIdentifier(keyIdentifier);
        return innerKeyVaultClient.encryptAsync(id.vault, id.name, id.version == null ? "" : id.version, algorithm, value, serviceCallback);
    }

Observar los parámetros necesarios en este método, y no es difícil encontrar que necesita los parámetros del tipo byte [], por lo que sólo tiene que convertir objeto a byte [].

Se puede hacer referencia al código que se mencionaba en el hilo SO: Java objeto serializable de matriz de bytes .

ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutput out = null;
try {
  out = new ObjectOutputStream(bos);   
  out.writeObject(yourObject);
  out.flush();
  byte[] yourBytes = bos.toByteArray();
  ...
} finally {
  try {
    bos.close();
  } catch (IOException ex) {
    // ignore close exception
  }
}
Respondida el 31/08/2017 a las 05:08
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more