如何解密AWS Elastic Transcoder HLS AES加密视频以播放.m3u8?

时间:2017-06-22 12:45:13

标签: amazon-web-services hls m3u8 amazon-elastic-transcoder

我使用带有No Store选项的AWS弹性转码器HLS AES内容保护来加密我的.m3u8文件,如以下文档所述,它将自动生成一组加密密钥,加密密钥MD5和加密初始化向量。

HLS AES protection with no store

我尝试使用加密密钥使用aws-sdk的KMS decrypt api命中ARN(我在我的管道中指定),但出现InvalidCiphertextException错误。

aws-sdk decrypt api

我的问题是,如何解密加密密钥并获取用于播放.m3u8文件的实际密钥(我称之为内容密钥)?

2 个答案:

答案 0 :(得分:0)

在这里我找到了解决方案!使用AWS KMS decrypt并按如下方式插入参数:

const kmsDecryptparams = {
  CiphertextBlob: Buffer.from(dataKey,'base64'),
  EncryptionContext: {
      service: 'elastictranscoder.amazonaws.com'
  }
};

官方文档没有回答任何问题,但您可以找到一些参考here

答案 1 :(得分:0)

有一种更简单的方法:完成“无存储”的Elastic Transcoder作业后,再次打开该作业,然后单击任何变体播放列表旁边的锁。它在弹出窗口中显示解密值,您可以将其另存为文件。该值已经解密。