Comment chiffrer un objet dans Azure en utilisant KeyVaultClient (JAVA)

voix
0

Normalement, le cryptage se produit pour octet Arrays plainText.

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

Lorsqu'un octet objet KeyVaultClient Encrypt [] et les rendements futurs.

Comment chiffrer un objet?

Créé 30/08/2017 à 08:54
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Vous pouvez voir Soucre code de encryptAsyncméthode comme ci - dessous dans keyvault azur java sdk :

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);
    }

Observez les paramètres requis dans cette méthode, et il est difficile de ne pas constater que les paramètres dont il a besoin de l'octet de type [], il vous suffit de convertir l'objet à l'octet [].

Vous pouvez vous référer au code qui mentionné dans le fil SO: Java sérialisable objet à Tableau d' octets .

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
  }
}
Créé 31/08/2017 à 07:08
source utilisateur

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