请问音视频中有类似声网那样的加密配置吗? 我在AVengienKT里没有看到加密相关的呢

nicklee 4月前 207

问题如标题 声网有这么个配置

   /**
     * SDK 加密配置
     */
    fun enableEncryption(
        from: ContactUserId,
        to: ContactUserId,
        randomBytes: ByteArray,
    ): Boolean {
        val material = buildString {
            append(from.teamId)
            append(from.userId)
            append(to.teamId)
            append(to.userId)
            append(bytesToHex(randomBytes))
        }.toByteArray()
        val bytes = smCipher.sm3KDF(material, 64)
        val secretKey = bytes.copyOfRange(0, 32)
        val salt = bytes.copyOfRange(32, 64)

        val config = EncryptionConfig()
        config.encryptionMode = EncryptionConfig.EncryptionMode.SM4_128_ECB
        // 声网底层处理 hex String 时大小写敏感,这里与其他端保持统一,小写
        config.encryptionKey = bytesToHex(secretKey)
        System.arraycopy(
            salt,
            0,
            config.encryptionKdfSalt,
            0,
            config.encryptionKdfSalt.size
        )
        val result = rtcEngine?.enableEncryption(true, config)
        Timber.d("$tag enableEncryption: $result")
        return result == 0
    }
最新回复 (3)
  • HeavyRain 4月前
    引用 2
    不了解声网是如何加密的。野火的音视频加密情况是这样的:信令是基于IM服务的,IM服务的所有操作都是AES加密的,关于野火的加密可以看文档,安全性是没有问题的;媒体流的加密是WebRTC来实现的,这个安全性也没有问题,可以但从网上搜索一下WebRTC的加密情况。
  • nicklee 3月前
    引用 3
    客户端的那些加密能否使用自己的密钥?因我我们有自己的物理模块,密钥是从物理模块取出的。想用这个密钥结合到音视频的加密中
  • x86 3月前
    引用 4
    你好,现在不支持
返回