In dieser Anleitung wird erklärt, wie Sie eine Signatur erstellen und welche Felder für Signaturen erforderlich und optional sind.
Zum Erstellen einer Signatur erstellen Sie einen zu signierenden String, den wir in diesem Leitfaden als signierten Wert bezeichnen. Der signierte Wert enthält Parameter, die die zu schützenden Inhalte, die Ablaufzeit des signierten Werts usw. beschreiben.
Sie verwenden den signierten Wert beim Erstellen eines Signaturstrings. Zum Erstellen eines Signaturstrings erstellen Sie die Parameter für die Signatur, z. B. eine Signatur mit dem asymmetrischen Schlüssel für Ed25519 des signierten Werts.
Media CDN verwendet die endgültige Signatur, um deine Inhalte zu schützen.
Unterstützte Signaturformate
Media CDN unterstützt die folgenden Formate für signierte Anfragen.
Format | Verhalten | Beispiel |
---|---|---|
Suchparameter (genaue URL) |
Genaue URL zum Gewähren des Zugriffs auf eine bestimmte URL. |
Exakt:
|
Suchparameter (URL-Präfix) |
Durch die Angabe eines URLPrefix können Sie ein Präfix signieren und dieselben Abfrageparameter an mehrere URLs innerhalb Ihres Players oder Ihrer Manifestgenerierung anhängen.
|
Was Sie unterschreiben müssen:
Ersetzen Sie |
Pfadkomponente |
Präfix: Ermöglicht den Zugriff auf jede URL mit einem Präfix vor der So können relative Manifest-URLs beim Abrufen von untergeordneten Ressourcen automatisch die signierte URL-Komponente übernehmen. |
https://media.example.com/video/edge-cache-token=Expires=EXPIRATION
|
Signiertes Cookie | Präfix: Das Cookie ermöglicht den Zugriff auf jede URL mit dem im signierten URLPrefix -Wert angegebenen Präfix.
|
Edge-Caching-Cookie:
|
Signatur erstellen
Erstellen Sie einen signierten Wert, indem Sie einen String mit den erforderlichen Signaturfeldern und den gewünschten optionalen Signaturfeldern zusammenführen.
Falls angegeben, muss
URLPrefix
an erster Stelle stehen, gefolgt vonExpires
,KeyName
und dann allen optionalen Parametern.Trennen Sie die einzelnen Felder und Parameter durch Folgendes:
- Verwenden Sie für Cookies das Zeichen „:“
:
. - Verwenden Sie für Abfrageparameter und Pfadkomponenten das Zeichen „&“
&
.
- Verwenden Sie für Cookies das Zeichen „:“
Signieren Sie den signierten Wert mit einer Ed25519-Signatur.
Hängen Sie am Ende des Strings ein Feldtrennzeichen (entweder
:
oder&
) gefolgt vonSignature=
und der Ed25519-Signatur an.
Signierte URL erstellen
Die folgenden Codebeispiele zeigen, wie eine signierte URL programmatisch erstellt wird.
Go
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Präfix für signierte URLs erstellen
Die folgenden Codebeispiele zeigen, wie ein Präfix für signierte URLs programmatisch erstellt wird.
Go
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Signiertes URL-Cookie erstellen
Die folgenden Codebeispiele zeigen, wie ein signiertes URL-Cookie programmatisch erstellt wird.
Go
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Signierte Pfadkomponente erstellen
Die folgenden Codebeispiele zeigen, wie Sie eine signierte Pfadkomponente programmatisch erstellen.
Python
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Media CDN zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Pflichtfelder für Signaturen
Die folgenden Felder sind für jede Unterschrift erforderlich:
Expires
KeyName
Signature
Wenn Suchparameter vorhanden sind, müssen sie als letzte Parameter in der URL gruppiert werden. Wenn nicht anders angegeben, wird bei Parameternamen und ihren Werten die Groß-/Kleinschreibung beachtet.
In der folgenden Tabelle werden die einzelnen Parameter erläutert:
Feldname | Signaturparameter | Signierter Wert |
---|---|---|
Expires |
Ganzzahlsekunden, die seit der Unix-Epoche verstrichen sind (1970-01-01T00:00:00Z) | Expires=EXPIRATION_TIME , danach ist die Signatur nicht mehr gültig. |
KeyName |
Der Name der EdgeCacheKeyset , mit der diese Anfrage signiert wurde. KeyName bezieht sich auf das gesamte Keyset und nicht auf einzelne Schlüssel im Schlüsselsatz selbst.
|
KeyName=EDGE_CACHE_KEYSET |
Signature |
Eine Base64-codierte Version der Signatur. | Nicht zutreffend |
Optionale Signaturfelder
Wenn Suchparameter vorhanden sind, müssen sie als letzte Parameter in der URL gruppiert werden. Wenn nicht anders angegeben, wird bei Parameternamen und ihren Werten die Groß-/Kleinschreibung beachtet.
In der folgenden Tabelle werden der Name und die Details der optionalen Signaturparameter erläutert:
Feldname | Signaturparameter | Signierter Wert |
---|---|---|
HeaderName |
Der Name eines benannten Anfrageheader-Felds, das in der Anfrage vorhanden sein muss. Muss bei der Signatur in Kleinbuchstaben geschrieben werden, da bei Header-Feldnamen die Groß- und Kleinschreibung beachtet wird. Media CDN setzt die Überschrift in Kleinbuchstaben, bevor die Signatur validiert wird. |
HeaderName=HEADER_NAME |
HeaderValue |
Ein benannter Wert für ein Anfrageheader-Feld, der in der Anfrage vorhanden sein muss. In der Regel ist dies eine Nutzer-ID oder eine andere intransparente Kennung. Anfragen mit HeaderValue , aber ohne HeaderName werden abgelehnt.
|
HeaderValue=HEADER_VALUE |
IPRanges |
Eine Liste von bis zu fünf IPv4- und IPv6-Adressen im CIDR-Format, für die diese URL im websicheren Base64-Format gültig ist. Geben Sie beispielsweise Die Aufnahme von IPRanges in die Signaturen ist möglicherweise nicht sinnvoll, wenn Kunden von WAN-Migrationen bedroht sind oder wenn der Netzwerkpfad zu Ihrem Anwendungs-Frontend ein anderer ist als der Bereitstellungspfad.
Media CDN lehnt Clients mit einem In den folgenden Fällen kann es passieren, dass Media CDN Clients mit einem
All diese Faktoren können dazu beitragen, dass ein bestimmter Client während einer Videowiedergabesitzung eine nicht-deterministische IP-Adresse hat. Wenn sich die Client-IP-Adresse nach dem Gewähren des Zugriffs ändert und der Client versucht, ein Videosegment in seinen Wiedergabebuffer herunterzuladen, erhält er eine |
IPRanges=BASE_64_IP_RANGES |
URLPrefix |
Das Base64-URL-Präfix (URL-sicher), für das Zugriff gewährt werden soll. Durch die Angabe eines URLPrefix können Sie ein Präfix signieren und dieselben Abfrageparameter an mehrere URLs innerhalb Ihres Players oder Ihrer Manifestgenerierung anhängen.
URLPrefix ist erforderlich, wenn das Format für signierte Cookies verwendet wird.
|
URLPrefix=BASE_64_URL_PREFIX |