Windows Media Rights Manager SDK banner art

WMRMKeys.GenerateKeyID

The GenerateKeyID method creates a globally unique key ID.

Syntax

String = WMRMKeys.GenerateKeyID()

Parameters

This method takes no parameters.

Return Values

If the method succeeds, it returns a String containing the key ID. 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

The key ID is a globally unique identifier (GUID). The GenerateKeyID method does not change the persistence of the key ID in the WMRMKeys object.

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 that this number is up to date.

    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