我使用带有No Store
选项的AWS弹性转码器HLS AES内容保护来加密我的.m3u8文件,如以下文档所述,它将自动生成一组加密密钥,加密密钥MD5和加密初始化向量。
HLS AES protection with no store
我尝试使用加密密钥使用aws-sdk的KMS decrypt
api命中ARN(我在我的管道中指定),但出现InvalidCiphertextException
错误。
我的问题是,如何解密加密密钥并获取用于播放.m3u8文件的实际密钥(我称之为内容密钥)?
答案 0 :(得分:0)
在这里我找到了解决方案!使用AWS KMS decrypt
并按如下方式插入参数:
const kmsDecryptparams = {
CiphertextBlob: Buffer.from(dataKey,'base64'),
EncryptionContext: {
service: 'elastictranscoder.amazonaws.com'
}
};
官方文档没有回答任何问题,但您可以找到一些参考here。
答案 1 :(得分:0)
有一种更简单的方法:完成“无存储”的Elastic Transcoder作业后,再次打开该作业,然后单击任何变体播放列表旁边的锁。它在弹出窗口中显示解密值,您可以将其另存为文件。该值已经解密。