Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
media
danimation.controls
danimation.programming
devices
drm
dshow.programming
dtransform
encoder
encoder.optimization
hometheaterpc
media
media.beta
media.beta.encoder
mediacenter
mediacenter.portable
mediaplayer
music.products
musicproducer
player
player.plugins
player.skins
player.solaris
player.visualizations
player.web
sdk
server
tools
  
 
date: Mon, 23 Jun 2008 08:19:39 -0700 (PDT),    group: microsoft.public.windowsmedia.drm        back       


Setting ClientInfo in WMRMLicGen object fails   
Hi,
  I am trying to issue a license using the rights mgmt SDK.  This
license will be issued to a Windows Mobile device.  I am having
problems saving the clientInfo string in the WMRMLicGen object.
Trying to do this gives the error: 80070057: Parameter is incorrect.

The clientInfo string that I am using is coming from the device using
a call to IRMGetLicense.GetSystemInfo()

I have found that if I delete the <DEVCERT> element and data from the
clientInfo string, then I am successfully able to generate the
license.  My guess was that the rights that I was setting in the
WMRMLicGen object were too strict, but no combination of rights that I
come up with seems to work.  Does anyone have any ideas of how to
debug this issue?  I am running out of things to try.

Below is a code snippet that I have been using to debug the problem.
It always returns:

Error7: -2147024809: The parameter is incorrect.
: Wmrmobjs.WMRMLicGen.1

<%

on error resume next

Dim keyId
Dim clientInfo
Dim seed
Dim conpublickey
Dim errorString

Dim objKey
Dim objRights
Dim objLicense
Dim objResponse

keyId = Request("keyId")
clientInfo = Request("clientInfo")
seed = ' My internal see
conpublickey = 'My content server pub key
errorString = ""

do

    'Generate the key from the Key object
    Set objKey = server.CreateObject("wmrmobjs.wmrmkeys")
    Dim varKEY

    objKey.KeyID = keyId
    objKey.Seed = seed
    if (err.number <> 0) then
        errorString = "Error1: " & err.number
        exit do
    end if

    varKEY = objKey.GenerateKey
    if (err.number <> 0) then
        errorString = "Error1: " & err.number
        exit do
    end if

    ' Generate the rights from the Rights object
    Set objRights = server.CreateObject("wmrmobjs.wmrmRights")
    Dim rightsString

    rightsString = ""

    With objRights
        .Reset
        .AllowTransferToSDMI = True
        .AllowTransferToNonSDMI = True
        .AllowBackupRestore = True
        .AllowCopy = False
        .BeginDate = "#20080601Z#"
        .ExpirationDate = "#20081231Z#"
        .DisableOnClockRollback = True
        .MinimumAppSecurity = 150
        .MinimumSecurityLevel = 100
        .MinimumClientSDKSecurity = 0
    End with

    if err.number = 0 then
        rightsString = objRights.GetAllRights
    end if

    ' Generate a license
    Set objLicense = Server.CreateObject("wmrmobjs.wmrmlicgen")
    Dim varLicense
    Dim varCategory
    Dim varVersion

    With objLicense

        .KeyID = keyId ' from Key object
        if (err.number <> 0) then
          errorString = "Error2: " & err.number
          exit do
        end if

        .SetKey "", varKEY ' from Key object
        if (err.number <> 0) then
          errorString = "Error3: " & err.number
          exit do
        end if

        .Priority = 10 'set priority from 0 to 10
        if (err.number <> 0) then
          errorString = "Error4: " & err.number
          exit do
        end if

        .Attribute("LICENSESERVER") = "<NAME>server name</NAME>"
        if (err.number <> 0) then
          errorString = "Error5: " & err.number
          exit do
        end if

        .Rights =rightsString 'From Rights object
        if (err.number <> 0) then
          errorString = "Error6: " & err.number
          exit do
        end if

        .ClientInfo = clientInfo
        if (err.number <> 0) then
          errorString = "Error7: " & err.number & ": " &
err.Description & ": "  & err.Source
          exit do
        end if


        .GetClientVersion varCategory, varVersion
        if (err.number <> 0) then
          errorString = "Error8: " & err.number
          exit do
        end if

        .BindToPubKey = conpublicKey ' This is required now.

        'generate License
        varLicense = .GetLicenseToDeliver()
        if (err.number <> 0) then
          errorString = "Error9: " & err.number
        end if
    End with
loop while false


if errorString = "" then
    ' Generate a response
    set responseObj = Server.CreateObject("wmrmobjs.wmrmresponse")
    Dim licresponse

    'Add the license
    Call   responseObj.AddLicense("2.0.0.0", varLicense)

    licresponse = responseObj.GetLicenseResponse()

    Response.Write licresponse
else

    Response.Write errorString

end if

%>

Thanks,
  Gary
date: Mon, 23 Jun 2008 08:19:39 -0700 (PDT)   author:   unknown

Re: Setting ClientInfo in WMRMLicGen object fails   
> .MinimumSecurityLevel = 100

I have also tried this setting at 150 and 1000, but no luck with those
values either
date: Mon, 23 Jun 2008 08:31:52 -0700 (PDT)   author:   unknown

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us