Hvordan å kryptere et objekt i Azure hjelp KeyVaultClient (JAVA)

stemmer
0

Normalt kryptering skjer for byte Arrays klartekst.

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

Hvor KeyVaultClient objekt kryptere byte [] og returnerer Future.

Hvordan å kryptere et objekt?

Publisert på 30/08/2017 klokken 08:54
kilden bruker
På andre språk...                            


1 svar

stemmer
0

Du kan se soucre etiske encryptAsyncmetode som nedenfor i asurblå keyvault 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);
    }

Overholdelse av parametre som kreves i denne metoden, og det er ikke vanskelig å finne at det er behov for parametrene i byte [] type, slik at du bare trenger å konvertere objektet til byte [].

Du kan referere til koden som nevnt i SO tråden: Java Serializable Object å Byte Array .

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
  }
}
Svarte 31/08/2017 kl. 07:08
kilden bruker

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