最近被一个获取许可证的传输方式搞得很郁闷,一直在考虑在哪里设置可以影响获取许可证的传输方式(说明:获取许可证有两种,Silent and NonSilent),起先,根据我的思考,我想可能在加密媒体文件的时候应该可以设置客户要获取许可证的传输方式,但我找遍了MS DRM里的Right,Protect,Key,Header这个几个类对象,都没有找到设置传输方式,同时也在网上搜索,也没有查找到相关的信息,这个时候非常的郁闷,突然在MS的站点上被我找到了。原来。获取许可证的传输方式是不受内容提供商的影响,由于MEDIA PLAYER出与客户安全的考虑,当播放受保护内容时,会提示如下内容:
“要求具有许可证才能播放选择的内容,要获取许可证
地址:
http://localhost/demo.aspx
网页中包含的内容可能会对您的计算机造成危害。继续操作之前必须确
确实要打开网页获取许可证吗?”
这个时候选择确定(即要获取许可证),那么如果客户端设置为“静默”方式,则不会再弹出一个窗口,但如果客户端设置为“非静默”方式,则会提出一个窗口,窗口的内容可由办法许可证服务商提供。
至于要怎么把上面的这个提示框去掉(即不要提示),我现在也还没找到方法,但我在播放china-drm的静默演示时,却发现那个媒体文件不会出现这个提示框。怪异中。。。。
设置获取许可证传输方式:
打开播放器(Windows Media Player)-->工具-->选项-->隐私-->自动获取受保护内容的许可证,如果选择,表示已静默方式获取许可证。
颁发许可证服务商必须对这两种情况做出相应的处理
string Silent = Request.Form[ " nonsilent " ];
// 客户端如果设置静默传输,那么这个值会为null
if (Silent != null ) // 是非静默方式传输
{
//这里可以进行其他处理,这里应该调用客户端ActiveX
/**//*
<Script Language="JavaScript">
function StoreV2License(hr)
{
netobj.StoreLicense( "<%= 许可证 %>" );
}
</Script>
<BODY onLoad="StoreV2License()">
<OBJECT classid=clsid:A9FC132B-096D-460B-B7D5-1DB0FAE0C062 height=0 id=netobj
width=0>
<EMBED MAYSCRIPT TYPE="application/x-drm-v2" HIDDEN="true">
</OBJECT>
*/
}
else
{
Response.Write(许可证);//这里可以直接输出证书
}
FeedBack:
“要求具有许可证才能播放选择的内容,要获取许可证,必须访问内容提供商的网页。提供商可能要求您进行注册或付费以获得许可证。
地址:
http://localhost/demo.aspx
网页中包含的内容可能会对您的计算机造成危害。继续操作之前必须确信这些内容的来源是可靠的,这一点很重要。
确实要打开网页获取许可证吗?”
这个是在客户端执行的,至少我用7.1的SDK还是没找到加密文件的时候,可以设置客户端不要出现这个提示框。但我相信MS这么做,估计是为了让客户端更安全吧。
SDK9的版本我还没有使用过,公司也正在购买DRM9-10的版本。等那个时候看看再说。
回复 引用 查看
这里我写了个《SDK7开发秘籍》,你可以看看
今天正好又遇到了问题,发现win2003下面打的包那个提示框还在
看来是需要winXP+sdk7.1+liveDRM才能去掉那个提示框的
昨晚加了livedrm开发者的QQ,告诉他deepspace当了无法访问
朋友也是一样,可他竟然说是我的问题,NND,立马拉黑名单!
我建nodrm.cn就是为了这个问题的,HOHO
还有就是DRM客户端的问题解答。欢迎光临!
回复 引用 查看
2.据说SDK升级到9之后,原先7打包的视频还是能用的,可能程序要有一点小的修改。我没sdk9,所以没法测试:(
回复 引用 查看