Active Directory权限管理系统SDK

时间:2012-11-15 13:10:46

标签: c# .net web-services sdk rms

我开发了一个DLL作为RMS服务器之间的代理,并且他想要以编程方式使用它的服务,DLL工作得很好,但是当我想在.Net web服务中使用这个DLL时问题出现了它给了我一个DRMInitEnvironment中的错误,错误代码为0x8004930c,这与清单违规错误有关。

显示配置如下

AUTO-GUID

C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin
\\isvtier5appsigningprivkey.dat

MODULELIST REQ HASH

C:\\Users\\administrator\\Documents\\Visual Studio 2008\\Projects
\\TestWBS\\TestWBS\\bin\\TestWBS.dll

OPT NOHASH

C:\\Users\\administrator\\Documents\\Visual Studio 2008\\Projects\\TestWBS
\\TestWBS\\bin\\RMSPROXY.dll

REQ NOHASH

%SYSTEMROOT%\\system32\\msdrm.dll

POLICYLIST INCLUSION PUBLICKEY

C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin
\\isvtier5appsigningpubkey.dat

排除

注释

  1. TestWBS.dll是Web服务生成的DLL
  2. RMSPROXY.dll是开发用作代理的DLL
  3. 我将清单文件作为base64编码字符串传递给RMSPROXY
  4. 我创建了C#控制台应用程序来使用DLL,它工作得很好,C#应用程序清单如下所示
  5. AUTO-GUID

    C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin
    \\isvtier5appsigningprivkey.dat
    

    MODULELIST REQ HASH

    C:\\Users\\administrator\\Documents\\Visual Studio 2008\\Projects
    \\testLibcClient\\testLibcClient\\bin\\Debug\\testLibcClient.exe
    
    REQ NOHASH %SYSTEMROOT%\\system32\\msdrm.dll
    

    POLICYLIST INCLUSION PUBLICKEY

    C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin
    \\isvtier5appsigningpubkey.dat
    

    排除

    我知道问题在于清单,但我不知道在哪里和哪里。

1 个答案:

答案 0 :(得分:-1)

我发现了解决方案,

  1. 我需要为w3wp.exe创建一个清单并对其进行签名,代表IIS工作者
  2. 将IIS中的应用程序池标识更改为将充当所有受保护文档的DR的超级用户
  3. 启用IIS模拟并指定与之前相同的身份