2011-05-19 1 views
5

Je suis en train de traiter la sécurisation des flux rtmp à partir de Level3 CDN.Problème avec la sécurisation des flux RTMP à partir de Level3 CDN

La documentation est disponible ici: https://rapidshare.com/files/1450549534/Token_Components.html (ressemble, vous devez être connecté pour voir, donc je re hébergé sur rapidshare l'URL d'origine est:. https://mediaportal.level3.com/mediaWeb/help/Content/ServicesDocs-Streaming/StreamingTokenAuth/TokenComponents.htm)

Scoll jusqu'à sur Exemple d'entrée/sortie de streaming de demande (pour les fichiers MP4)

J'essaie de reproduire l'exemple et d'obtenir le même URL avec les mêmes valeurs. J'ai écrit une petite fonction pour que:

function flimmithash($file) { 
    $streamer = 'pmsales'; 
    $host = 'pmsalesfs.fplive.net'; 
    $start_time = '20080101120000'; 
    $end_time = '201'; 
    $customer_secret = 'Secret'; // in the documentation there is also secret with a non capital s, i tried both 

    $resouce_path = "/$streamer/$file";              echo "resouce_path: $resouce_path <br>\n"; 
    $message = "$resouce_path?start_time=$start_time&end_time=$end_time#$customer_secret"; echo "message: $message <br>\n"; 
    $digest = md5($message);                echo "digest: $digest <br>\n"; 
    $tokenvalue = "start_time=$start_time&end_time=$end_time&digest=$digest";    echo "tokenvalue: $tokenvalue <br>\n"; 
    $token = base64_encode($tokenvalue);             echo "token: $token <br>\n"; 
    $url = "rtmp://$host/$streamer?token=".($token)."/mp4:$file";       echo "url: $url <br>\n";   
    return $url; 
} 
echo "url: ".flimmithash('support/lvlt300kbps.mp4')."<br>\n"; 

J'utilise les mêmes valeurs exactes comme dans l'exemple, mais juste ne peut pas obtenir le même condensé.

J'ai utilisé md5, car il correspond à la longueur. J'ai aussi essayé le secret avec des capitaux et des capitaux non.

Vous pouvez passer à l'échantillon des scripts ici: https://rapidshare.com/files/2581196874/Appendix.html (Original: https://mediaportal.level3.com/mediaWeb/help/Content/ServicesDocs-Streaming/StreamingTokenAuth/Appendix-SampleScripts.htm)

Mais il n'y a absolument pas utilisé md5, ils utilisent SHA1. Mais sha1 est plus long que le résumé de l'exemple.

Bien sûr, j'ai essayé de remplir les deux versions avec mes valeurs, mais aucune n'a fonctionné.

Donc, ma question est: Quelqu'un peut-il reproduire l'exemple et/ou me dire le digérer ou modifier ma fonction pour travailler selon l'exemple?

+0

Les deux liens au niveau 3 échouent, je suppose que vous devez être connecté pour voir ce contenu. – Fosco

+0

Les liens que vous avez insérés sont cassés/incorrects/peu importe. Je viens d'arriver à la page indiquant "Une erreur inattendue s'est produite.". – feeela

+0

S'ils utilisent SHA-1, cela ne fonctionnera certainement pas avec MD5. Ils ne sont pas interchangeables. – Fosco

Répondre

2

Leur exemple est incorrect. Le résumé qu'ils donnent est pour le fichier /support/lvlt300kbps.flv et peut facilement être généré avec md5 pour ce nom de fichier, en utilisant le secret en tant que secret partagé. Vous pouvez voir qu'il est identique au résumé donné dans l'exemple FLV juste au-dessus dans leur documentation.

+0

vous avez raison! Cela signifie qu'ils n'incluent pas la banderole dans le hachage qui a du sens. va l'essayer lundi! –

Questions connexes