Specifications

F-2
Cisco Internet Streamer CDS 2.0-2.2 API Guide
OL-14319-03
Appendix F URL Signing and Validation
Configuring the CDS for URL Signing
CDS has incorporated an open and well-documented signing mechanism that uses standard hashing
schemes. The URL signing mechanism offers the flexibility to either use the provided signing script, or
you can develop a signing application in the platform or language of your choice, as long as it adheres
to the specified format.
For signing and validation of the URL, the CDS relies on a set of one or more secret keys shared between
the portal and the devices within the CDS.
Supported Protocols and Media
The URL signing and validation is supported across all CDS protocol engines; Windows Media Engine,
Movie Streamer Engine, Flash Media Streaming Engine, and Web Engine.
Configuring the CDS for URL Signing
To enable validation of URLs in the CDS, the following tasks must be completed on all participating
Service Engines:
Configure shared secret keys
Configure pattern-lists to match URLs, domain names , or both
Configure rules to validate URLs matching the above pattern-lists
Enable rules processing
Details on these configurations are available in the “Configuring URL Signing” section on page 4-23 and
the “Configuring Service Rules” section on page 4-15.
The CDS URL signing infrastructure supports multiple keys. Different pieces of content, with different
URLs, can be signed by different keys. Keys are stored as a key matrix and identified (indexed) by a key
ID owner and a key ID number.
URL Signing Script
At the portal, URLs can be signed for a particular user (client IP address) and expiry time using a URL
signing script. The URL signing script example included in this appendix requires Python 2.3.4 or
higher.
Example of a Python URL Signing Script
The following simple Python script demonstrates how to construct and sign URLs for use with the
Internet Streamer CDS Release 2.2. This example script produces signatures compliant with the format
used by the Internet Streamer CDS.
Depending on where the python binary is installed, you may need to modify the first line of the script.
The first line is only necessary if you plan to run the script as an executable. However, if you run the
script using the python interpreter, as documented in the “Running a Python URL Signing Script” section
on page F-3, the first line is not required.
#!/usr/local/bin/python
import md5
import socket