无法使用 PHP 解密 Twilio 记录

Can't Decrypt Twilio recording using PHP

我正在尝试使用 PHP

解密加密的 Twilio 记录

https://www.twilio.com/docs/voice/tutorials/voice-recording-encryption#step-5

这是我的加密详细信息:

我已成功执行第一步:

$privateKey = openssl_get_privatekey('-----BEGIN RSA PRIVATE KEY----- *****');

    $result = openssl_private_decrypt(
        base64_decode('< encrypted_cek  from EncryptionDetails >'),
        $decryptedKeyData,
        $privateKey,
        OPENSSL_NO_PADDING
    );

然后我尝试使用 openssl_decrypt 函数解密录音:

$data = base64_decode(file_get_contents('https://api.twilio.com/2010-04-01/Accounts/AC***/Recordings/RE***'));

$tag = substr($data,-16);

$decrypt = openssl_decrypt(
    $data,
    'aes-256-gcm',
    $decryptedKeyData,
    0,
    '< IV  from EncryptionDetails >',
    $tag
);

$decrypt = openssl_decrypt(
    $data,
    'aes-256-gcm',
    $decryptedKeyData,
    0,
    '< IV  from EncryptionDetails >',
);

尝试了许多不同的变体,有和没有 $tag,但结果总是 false

在哪里可以找到错误?

此处为 Twilio 开发人员布道师。

我不是 PHP 开发人员,所以不知道如何指导您进行 PHP 中的解密。但是,您可以查看 this pull request,这是 PHP 中解密 Twilio 媒体的示例,可能会帮助您弄明白。