Silverlight4控制項純客戶端註冊驗證

2021-08-25 07:32:07 字數 1401 閱讀 8199

本文實現了乙個實驗性的silverlight控制項純客戶端註冊驗證機制。希望做過這方面的朋友多給些指導性意見。

先給大家介紹一下silverlight客戶端控制項的使用情景。一般來說,silverlight客戶端控制項會銷售給開發silverlight程式的公司,他們是控制項的購買者。他們開發的程式中會用到silverlight客戶端控制項。但是silverlight控制項最終是在瀏覽silverlight程式的**使用者機器上執行的。說的有點繞,請參照下圖。

license格式如下:

31f81fef-a036-4f6f-b47b-d0c8da1674ea

vendor.testcontrol, version=1.0.0.0, culture=neutral, publickeytoken=696fd0988622108f

mvaluqlzik8swfz5q25/pd3p6zv0flqihct5ycz7ynkbtulabg/tgggc4imu2s6qyzbolsxyeosff***bn7spwhkr6p+cbqb0mvotpgr5nenldccm7uwabkn7+pgtechobgba5kuhhcakvvsffwi/e480ayi2yxznvpcsp8ra8o=

license中記錄了控制項生成商資料庫中license資訊記錄id,強名稱簽名的目標控制項程式集全名,程式部署路徑等一些唯一性標示及防止篡改這些資訊的rsa數字簽名。

驗證license合法性**如下:

public class license

internal license()

internal string id

public string assemblyname

internal byte signature

public bool isvalid()

驗證程式集全名及程式部署路徑等唯一性標示**如下:優點:+使用私鑰簽名,公鑰驗證,能有效防止偽造license檔案及分析**寫出序號產生器(不考慮篡改程式邏輯的爆破方式)。

+純客戶端驗證不需要跨域訪問,也不需要控制項購買者在程式發布伺服器端部署其他東西。

缺點:

-比直接輸入註冊碼麻煩

-在現在的silverlight版本中,只找到部署位址這個特徵標示,因此只能做部署license授權。不能做成像winform控制項那樣為每個開發人員機器授權的方式。

另外,關於rsa演算法和實現可以參考之前的一篇文章:《silverlight中非對稱加密及數字簽名rsa演算法的實現》。

Silverlight 4 布局了解

今天,熟悉下 silverlight 布局。silverlight 提供了多種布局控制項,但最常用的是 canvasstackpanelgrid canvas 你可以通過在 canvas 中附加屬性來定位元素,也就是絕對座標來定位元素。每個子物件都呈現在 canvas 區域中。通過指定 x 代表的是...

Silverlight 4 中的WebCam支援

在剛推出的silverlight 4 beta版中,終於支援了大家期待已久的webcam功能,底下是測試頁面 測試 但請注意,測試前需先安裝sl4 developer runtimes才能執行,webcam是建立網路服務應用程時相當需要的功能。整個程式的設計方式並不複雜,主要的 段如下 privat...

Silverlight 4 中的WebCam支援

在剛推出的silverlight 4 beta版中,終於支援了大家期待已久的webcam功能,底下是測試頁面 測試 但請注意,測試前需先安裝sl4 developer runtimes才能執行,webcam是建立網路服務應用程時相當需要的功能。整個程式的設計方式並不複雜,主要的 段如下 privat...