We are developing a .NET plug in (class library) for an existing application within our enterprise. Its a desktop application which has preexisting support for plug ins.
1) Is there a mechanism to secure the plug in to ensure that it is only invoked by the existing desktop application? (We have no control over the desktop applications codebase)
2) Is there a method to stop malicious users disassembling the codebase (aside from obfuscation) and / or invoking methods regardless of their visibility? I understand we could use authentication / authorisation in the appropriate places but was wondering if there was an alternative.
3) Whats the standard mechanism for encrypting sensitive data within a plug ins configuration files?