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 String, der signiert werden soll. In diesem Leitfaden wird er als signierter Wert bezeichnet. Der signierte Wert enthält Parameter, die den Inhalt, den Sie schützen, 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 zusammengesetzte Signatur, um Ihre 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 muss unterschrieben werden?
Ersetzen Sie |
Pfadkomponente |
Präfix: Ermöglicht den Zugriff auf jede URL mit einem Präfix vor der So können relative Manifest-URLs die signierte URL-Komponente beim Abrufen von untergeordneten Ressourcen automatisch ü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 Präfix, das im signierten URLPrefix -Wert angegeben ist.
|
Edge-Caching-Cookie:
|
Signatur erstellen
Erstellen Sie einen signierten Wert, indem Sie einen String mit den erforderlichen Signaturfeldern und den gewünschten optionalen Signaturfeldern verketten.
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 einen Doppelpunkt
:
. - Verwenden Sie für Abfrageparameter und Pfadkomponenten ein kaufmännisches Und-Zeichen
&
.
- Verwenden Sie für Cookies einen Doppelpunkt
Signieren Sie den signierten Wert mit einer Ed25519-Signatur.
Hängen Sie ein Feldtrennzeichen (entweder
:
oder&
) gefolgt vonSignature=
und der Ed25519-Signatur an das Ende des Strings an.
Signierte URL erstellen
Das folgende Codebeispiel zeigt, 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.
Signiertes URL-Präfix erstellen
Die folgenden Codebeispiele zeigen, wie Sie programmatisch ein Präfix für signierte URLs erstellen.
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 Sie programmatisch ein Cookie mit einer signierten URL erstellen.
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 programmatisch eine signierte Pfadkomponente 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.
Erforderliche Signaturfelder
Die folgenden Felder sind für jede Signatur 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 des EdgeCacheKeyset , der zum Signieren dieser Anfrage verwendet 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 einzelnen optionalen Signaturparameter erläutert:
Feldname | Signaturparameter | Signierter Wert |
---|---|---|
HeaderName |
Ein benannter Anforderungsheader-Feldname, der in der Anfrage vorhanden sein muss. Muss bei der Signierung in Kleinbuchstaben angegeben werden, da bei Header-Feldnamen die Groß-/Kleinschreibung beachtet wird. Media CDN wandelt den Header in Kleinbuchstaben um, bevor die Signatur validiert wird. |
HeaderName=HEADER_NAME |
HeaderValue |
Ein benannter Anfrageheaderfeldwert, der in der Anfrage vorhanden sein muss. Dies ist in der Regel eine Nutzer-ID oder eine andere intransparente Kennung. Anfragen mit HeaderValue , aber ohne HeaderName werden abgelehnt.
|
HeaderValue=HEADER_VALUE |
IPRanges |
Eine Liste mit 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 dem Code In den folgenden Fällen kann es dazu kommen, dass Media CDN Clients mit dem Code
All diese Faktoren können dazu beitragen, dass ein bestimmter Client während einer Videowiedergabesitzung eine nicht-deterministische IP-Adresse hat. Wenn sich die IP-Adresse des Clients ändert, nachdem Sie den Zugriff gewährt haben, und der Client dann versucht, ein Videosegment in seinen Wiedergabepuffer herunterzuladen, erhält er von Media CDN den Fehler |
IPRanges=BASE_64_IP_RANGES |
URLPrefix |
Das base64-codierte (URL-sichere) URL-Präfix, 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 |