WMRMHeader.Header
The Header property specifies and retrieves the string that makes up the content header.
Syntax
WMRMHeader.Header = String
String = WMRMHeader.Header
Parameters
This property takes no parameters.
Return Values
If the property succeeds, it returns a String containing the content header. If it fails, it returns a number in the error object.
Return code | Description |
0x80004005 | An unspecified error occurred. |
0x80070057 | The specified parameter is not valid. |
Remarks
You can use the Header property to verify that you have correctly specified the data section before you pass the header object to the WMRMProtect object. A content header consists of the following information.
- The key ID used to create a key.
- An optional content ID to uniquely identify the encrypted content.
- Optional attributes that identify the content.
- A URL identifying the Internet address of the license issuer.
- The minimum application security version number required to play content.
Example Code
' Declare variables and objects.
Dim sKID, sCID, sSeed, sKey, sHeader
Dim sPrivKey, sPubKey
Dim HeaderObj
Dim KeysObj
Dim ProtectObj
' Create objects.
Set HeaderObj = Server.CreateObject("Wmrmobjs.WMRMHeader")
Set KeysObj = Server.CreateObject("Wmrmobjs.WMRMKeys")
Set ProtectObj = Server.CreateObject("Wmrmobjs.WMRMProtect")
' Create the key ID and content ID, and key. Set the key ID and
' the content ID into the header. Store the key in a secure manner.
sKID = KeysObj.GenerateKeyID()
sCID = KeysObj.GenerateKeyID()
KeysObj.KeyID = sKID
HeaderObj.KeyID = sKID
HeaderObj.ContentID = sCID
' Replace XXX with the license key seed.
sSeed = "XXX"
KeysObj.Seed = sSeed
' Generate the key.
sKey = KeysObj.GenerateKey()
' Require individualization version 2.2.
' Version numbers change. Verify version number.
HeaderObj.IndividualizedVersion = "2.2"
' Specify the URL of the license issuer, and set it into
' the header.
sURL = "https://www.LicenseIssuer.com/getlicense.asp"
HeaderObj.LicenseAcqURL = sURL
' Set name-value pairs describing the content into the header.
HeaderObj.Attribute("Author") = "name of the author"
HeaderObj.Attribute("ContentDistributor") = "name of the distributor"
HeaderObj.Attribute("ContentType") = "type of content distributed"
HeaderObj.Attribute("Title") = "title of the content"
' Set the checksum.
HeaderObj.SetCheckSum(sKey)
' Replace XXX with the packaging server's private key.
sPrivKey = "XXX"
' Sign the header.
HeaderObj.Sign(sPrivKey)
' Retrieve the string containing the header.
sHeader = HeaderObj.Header
' Set the header string into the WMRMProtect object.
ProtectObj.Header = sHeader
' Set the key into the WMRMProtect object.
ProtectObj.Key = sKey
' Specify the name of the file to be protected.
ProtectObj.InputFile = "c:\input_file.wmv"
' Generate a protected file.
ProtectObj.ProtectFile("c:\output_file_1.wmv")
Requirements
Version: Windows Media Rights Manager 7 SDK or later
Reference: wmrmobjs 1.0 Type Library
Library: wmrmobjs.dll
Platform: Windows Server 2003
See Also