【问题标题】:Using OpenSSL to decrypt a .ts file使用 OpenSSL 解密 .ts 文件
【发布时间】:2016-11-01 18:46:50
【问题描述】:

所有内容都在同一个目录中。

M3u8 文件

#EXTM3U
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI=MyKeyFile.key
#EXTINF:10,
aes_ts_files/filesequence0000000.ts
#EXTINF:10,
aes_ts_files/filesequence0000001.ts
#EXTINF:10,
aes_ts_files/filesequence0000002.ts
#EXTINF:10,
aes_ts_files/filesequence0000003.ts
#EXTINF:10,
aes_ts_files/filesequence0000004.ts
#EXTINF:10,
aes_ts_files/filesequence0000005.ts
#EXTINF:10,
aes_ts_files/filesequence0000006.ts
#EXTINF:10,
aes_ts_files/filesequence0000007.ts
#EXTINF:10,
aes_ts_files/filesequence0000008.ts
#EXTINF:10,
aes_ts_files/filesequence0000009.ts
#EXTINF:10,
aes_ts_files/filesequence0000010.ts
#EXTINF:10,
aes_ts_files/filesequence0000011.ts
#EXTINF:10,
aes_ts_files/filesequence0000012.ts
#EXTINF:10,
aes_ts_files/filesequence0000013.ts
#EXTINF:10,
aes_ts_files/filesequence0000014.ts
#EXTINF:10,
aes_ts_files/filesequence0000015.ts
#EXTINF:10,
aes_ts_files/filesequence0000016.ts
#EXTINF:10,
aes_ts_files/filesequence0000017.ts
#EXTINF:10,
aes_ts_files/filesequence0000018.ts
#EXTINF:10,
aes_ts_files/filesequence0000019.ts
#EXTINF:10,
aes_ts_files/filesequence0000020.ts
#EXTINF:10,
aes_ts_files/filesequence0000021.ts
#EXTINF:10,
aes_ts_files/filesequence0000022.ts
#EXTINF:3,
aes_ts_files/filesequence0000023.ts
#EXT-X-ENDLIST

MyKeyFile.Key

tßâ0Äb‘˜p.ô[{m‚

我知道内容是合法的,因为如果我右键单击 .m3u8 并选择“使用 VLC 媒体播放器播放”它就可以工作。我需要解密 ts 文件,以便可以使用 ffprobe 并检查内容。

这是我尝试过的 OpenSSL 命令

openssl aes-128-cbc -d -kfile MyKeyFile.key -iv 0 -nosalt -in aes_ts_files/filesequence0000000.ts -out aes_ts_files/filesequence0000000_out.ts

错误信息: 坏解密 18676:错误:06065064:数字信封例程:EVP_DecryptFinal_ex:错误解密:c rypto\evp\evp_enc.c:529:

【问题讨论】:

标签: openssl http-live-streaming ffprobe transport-stream


【解决方案1】:

-kfile 用于从存储在文件第一行的密码中获取密钥。

已经拥有实际密钥,因此您需要使用 -K key 传递它,其中 key 是十六进制密钥 (xxd -p MyKeyFile.key)。

IV也是一个十六进制字符串,如果不指定,它等于媒体序列。

【讨论】:

  • 感谢您的回复。我仍然遇到问题。对于我的困惑,我提前道歉。
  • C:\OpenSSL-Win32\bin>openssl aes-128-cbc -d -p MyKeyFile.key -iv 0 -nosalt -in a es_ts_files/filesequence0000000.ts -out aes_ts_files/filesequence0000000_out.ts
    输入aes-128-cbc解密密码:
  • @user3541092 openssl aes-128-cbc -d -in encrypted_segment.ts -out decrypted_segment.ts -nosalt -iv <iv_hex> -K <key_hex> 其中ivK 为十六进制(随机示例-K 0ffa87119864cffd5f63f89106f1c1c2
  • @aergistal 我有一个.key 文件,如何获取相应的十六进制字符串?
  • @Script47 在答案中:xxd -p MyKeyFile.key
猜你喜欢
  • 2015-10-06
  • 2021-05-03
  • 1970-01-01
  • 1970-01-01
  • 2018-12-25
  • 2010-11-03
  • 1970-01-01
  • 1970-01-01
  • 2015-04-15
相关资源
最近更新 更多