dotnet技术中的类库和安全性

时间:2011-01-21 18:11:50

标签: c#

假设我已经开发了类库,我希望我只能在我的项目中使用这个库,但如果有人试图复制dll文件并希望在他的项目中使用它,那么他将无法这样做。所以我只想知道如何在dll文件中嵌入这种类型的安全性...请告诉我各种方法。感谢

4 个答案:

答案 0 :(得分:3)

检查调用程序集的签名并签署要调用dll的程序集。然后签署DLL。

答案 1 :(得分:3)

您可以在程序集中验证调用签名程序集的PublicKeyToken。

第二个例子是在VB.NET中,无法轻易找到C#版本,但你会明白这一点。

请注意这不是绝对安全的方式,因为有人仍然可以反编译您的程序集。但是,如果只是为了防止您的库在其他项目中使用,这可能是一种可接受的方式。

答案 2 :(得分:2)

您可以在实例化库时调用许可技术。我过去所做的是将公钥作为dll的资源包括在内,然后查找带有使用我的私钥签名的加密签名的许可证xml文档。只要我密切关注我的私钥,就很难打败。

话虽如此,.Net显然可分解 - 请确保使用像Dotfuscator这样的工具对其进行模糊处理。

答案 3 :(得分:2)

不安全但更难滥用:您可以使用

将dll集成到主exe或web.dll中