使用 Convert.FromBase64String 从 SIP SDP 检索主密钥和盐

发布于 2024-11-24 21:31:42 字数 468 浏览 1 评论 0原文

我有一个解密媒体数据包的应用程序。 它需要我提供主密钥和盐密钥。

我的 SDP 为我提供(谈判结束后) AES_CM_128_HMAC_SHA1_80 inline:Fu8vxnU4x1fcCzbhNrtDV0eq4RnaK4n2/jarOigZ

根据 SDP rfc “inline:”之后的字符串是: “连接主密钥和盐,base64 编码” 当主密钥是 X 字节并且盐是 Y 字节时。

我正在努力:

byte[] masterAndSalt = Convert.FromBase64String("Fu8vxnU4x1fcCzbhNrtDV0eq4RnaK4n2/jarOigZ")

然后将前 x 个字节发送给 master,将另一个 Y 发送给 salt。

但我的应用程序说我的密钥错误,我不明白 - 我应该使用 Convert.FromBase64String 以外的其他密钥吗?

I have an application to decrypt media packets.
it require me to provide Master key and salt key.

my SDP provide me (after negotiation ended) with
AES_CM_128_HMAC_SHA1_80 inline:Fu8vxnU4x1fcCzbhNrtDV0eq4RnaK4n2/jarOigZ

according to SDP rfc the string after the "inline:" is:
"concatenated master key and salt, base64 encoded"
when the master key is X bytes and the salt is Y bytes.

I am tyring :

byte[] masterAndSalt = Convert.FromBase64String("Fu8vxnU4x1fcCzbhNrtDV0eq4RnaK4n2/jarOigZ")

and then get the first x bytes to the master and the other Y for salt.

but my app says my keys are wrong, i don't understand - should i use some else than Convert.FromBase64String ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

机场等船 2024-12-01 21:31:42

好吧,我猜对了。
在 AES_CM_128_HMAC_SHA1_80 密码上,主密钥为 16 字节,盐为 14 字节长。

应该做的是在键上使用 Convert.FromBase64String ,
它产生了一个30字节长的数组,将前16个作为master,最后14个作为salt。

解密算法应该生成会话密钥和盐(以及其他信息)。

OK, i got it right.
on AES_CM_128_HMAC_SHA1_80 cipher the Master key is 16 byte, and the salt is 14 byte long.

what should be done is to use Convert.FromBase64String on the key,
which produced a 30 byte long array, take the first 16 as master, and the last 14 as salt.

the decryption algorithm should produce the session key and salt from it (along with other info).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文