假设我已经开发了类库,我希望我只能在我的项目中使用这个库,但如果有人试图复制dll文件并希望在他的项目中使用它,那么他将无法这样做。所以我只想知道如何在dll文件中嵌入这种类型的安全性...请告诉我各种方法。感谢
答案 0 :(得分:3)
检查调用程序集的签名并签署要调用dll的程序集。然后签署DLL。
答案 1 :(得分:3)
您可以在程序集中验证调用签名程序集的PublicKeyToken。
第二个例子是在VB.NET中,无法轻易找到C#版本,但你会明白这一点。
请注意这不是绝对安全的方式,因为有人仍然可以反编译您的程序集。但是,如果只是为了防止您的库在其他项目中使用,这可能是一种可接受的方式。
答案 2 :(得分:2)
您可以在实例化库时调用许可技术。我过去所做的是将公钥作为dll的资源包括在内,然后查找带有使用我的私钥签名的加密签名的许可证xml文档。只要我密切关注我的私钥,就很难打败。
话虽如此,.Net显然可可分解 - 请确保使用像Dotfuscator这样的工具对其进行模糊处理。
答案 3 :(得分:2)
不安全但更难滥用:您可以使用
将dll集成到主exe或web.dll中