public DataKey encryptDataKey()

in src/main/java/com/amazonaws/encryptionsdk/jce/JceMasterKey.java [127:151]


  public DataKey<JceMasterKey> encryptDataKey(
      final CryptoAlgorithm algorithm,
      final Map<String, String> encryptionContext,
      final DataKey<?> dataKey) {
    final SecretKey key = dataKey.getKey();
    if (!key.getFormat().equals("RAW")) {
      throw new IllegalArgumentException(
          "Can only re-encrypt data keys which are in RAW format, not "
              + dataKey.getKey().getFormat());
    }
    if (!key.getAlgorithm().equalsIgnoreCase(algorithm.getDataKeyAlgo())) {
      throw new IllegalArgumentException(
          "Incorrect key algorithm. Expected "
              + key.getAlgorithm()
              + " but got "
              + algorithm.getKeyAlgo());
    }
    EncryptedDataKey encryptedDataKey =
        jceKeyCipher_.encryptKey(key.getEncoded(), keyId_, providerName_, encryptionContext);
    return new DataKey<>(
        key,
        encryptedDataKey.getEncryptedDataKey(),
        encryptedDataKey.getProviderInformation(),
        this);
  }