2017-08-30 6 views
0

通常、バイト配列plainTextに対して暗号化が行われます。KeyVaultClient(JAVA)を使用してAzureでオブジェクトを暗号化する方法

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

ここで、KeyVaultClientオブジェクトはbyte []を暗号化してFutureを返します。

オブジェクトを暗号化する方法は?あなたはazure keyvault java sdkで、以下のようencryptAsync方法のsoucreコードを見ることができます

答えて

0

:、

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

は、この方法では、必要なパラメータを観察し、そしてそれは、バイト[]型のパラメータを必要としていることを見つけることは困難ではありませんオブジェクトをbyte []に​​変換するだけで済みます。

SOスレッドに記載されているコードを参照できます。Java Serializable Object to 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 
    } 
} 
関連する問題