使用AWS KMS数据密钥在本地使用Java 7加密文件

使用AWS KMS数据密钥在本地使用Java 7加密文件,java,amazon-web-services,encryption,Java,Amazon Web Services,Encryption,我正试图用AWS KMS数据密钥加密/解密本地文件,但我不知道该用什么来做 我已经从AWS KMS生成了数据密钥(接收明文密钥和加密密钥)。现在假设我必须使用明文密钥来加密文件,将加密密钥与最终加密文件一起存储,然后删除明文密钥 如何使用该明文密钥在Java7中加密文件?我的意思是,有几种方法可以做到这一点,但是我向AWS KMS请求AES_256密码以获取密钥时,哪种方法最有效、最安全 //AWS KMS requesting data key GenerateDataKeyRequest d

我正试图用AWS KMS数据密钥加密/解密本地文件,但我不知道该用什么来做

我已经从AWS KMS生成了数据密钥(接收明文密钥和加密密钥)。现在假设我必须使用明文密钥来加密文件,将加密密钥与最终加密文件一起存储,然后删除明文密钥

如何使用该明文密钥在Java7中加密文件?我的意思是,有几种方法可以做到这一点,但是我向AWS KMS请求AES_256密码以获取密钥时,哪种方法最有效、最安全

//AWS KMS requesting data key
GenerateDataKeyRequest dataKeyRequest = new GenerateDataKeyRequest()
dataKeyRequest.setKeyId(keyId)
dataKeyRequest.setKeySpec("AES_256")
    
GenerateDataKeyResult dataKeyResult = awskmsClient.generateDataKey(dataKeyRequest)
ByteBuffer plaintextKey = dataKeyResult.getPlaintext()
ByteBuffer encryptedKey = dataKeyResult.getCiphertextBlob()

我不能使用AWS加密来实现这一点(即使更简单),因为o Java 7版本

为什么不升级到Java 8,那么您就可以访问AWS加密SDK(与KMS SDK、v1或V2无关)用于执行实际工作的AWS SDK V2 KMS服务。JVM可以使用(我认为)1.3版本的BC。