Я получаю эту ошибку при использовании HlsContentProtection
1. Вот как я создаю шифрование. Ключ ##
public static void main(String[] args) {
AWSKMS kmsClient = AWSKMSClientBuilder.defaultClient();
// Encrypt a data key
//
// Replace the following fictitious CMK ARN with a valid CMK ID
or ARN
String keyId = "arn:aws:kms:us-east-
1:864624737976:key/*********************************";
ByteBuffer plaintext =
ByteBuffer.wrap("a2V5a2V5a2V5a2V5a2V5aw==".getBytes());
EncryptRequest req = new EncryptRequest().withKeyId(keyId).withPlaintext(plaintext);
ByteBuffer ciphertext = kmsClient.encrypt(req).getCiphertextBlob();
String encKey=new String(Base64.encode(ciphertext.array()));
System.out.println(encKey);
}
2. Вот как я генерирую KeyMD5
public static String GenerateKeyMD5(String encryptionKey) {
byte[] b = Base64.decode(encryptionKey.getBytes());
byte[] x = Md5Utils.computeMD5Hash(b);
byte[] nj = Base64.encode(x);
String keyMD5 = new String(nj);
System.out.println("keyMD5 is:" + keyMD5);
return keyMD5;
}
3. Теперь я создаю HLSContentProtection следующим образом
String k="AQICAHiJNZmP67ofdfAWfNjDhl+TTPW7kWLUYnHXQocyT+iPgAGp2tnvx6GOF6OvQyJR/kNJAAAAdjB0BgkqhkiG9w0BBwagZzBlAgEAMGAGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMRDuCopOoxFBcs/YsAgEQgDOYcO2BHJbRACWo4Cgp+vAXAuxyE+UeZtWGUmOJwx5wJ4J1zYCbb9FrRaKro7njkcL7Vck=";
//secure content
HlsContentProtection hlsContentProtection =new HlsContentProtection()
.withKeyStoragePolicy("NoStore")
.withMethod(METHOD)
.withLicenseAcquisitionUrl("https://s3.amazonaws.com/license-1452/plain.key")
.withInitializationVector("MTIzNDU2Nzg5MDEyMzQ1Ng==")
.withKey(k)
.withKeyMd5(TranscoderSampleUtilities.GenerateKeyMD5(k));
Я получаю эту ошибку
4018 533bc5aa-ed4d-4014-8a0a-083da9890cef: Amazon Elastic Transcoder не удалось расшифровать зашифрованный ключ с помощью MD5 = wJForaVS6T5wok / 80E4RYg ==.