Hi, I have written a class library and i don't want unauthorized access to some (or all) methods in this library. With some research , i found that i can use strongly named assemblies for this purpose Here is what i did: 1- I created a consumer assembly signed with myKeyFile.snk 2- I get public key of this assembly with secutil.exe 3- I added StrongNameIdentityPermissionAttribute to the methods of class library with LinkDemand option and the public key of consumer assembly 4- I signed my class library with a key file also,otherwise i cannot reference it to consumer assembly. Now i get it work, but i got a question. With this method all the consumers of class library should be signed with same key file. What if consumer assembly has some other references that have StrongNameIdentityPermissionAttribute with different public keys ? as far as i know ,we cannot sign an assembly with more than one key file. and is there any other method to get same functionality? thanks so much Yener
Hello, even the StrongNameIdentityPermission won't absolutely prevent someone from calling your code. If he has access to the binaries he can either disable CAS completely or decompile your assembly, remove the check and recompile it. It's a matter of minutes. If you really want to prevent people from running your code you should not give it to them. Kind regards, Henning Krause "Yener" wrote in message news:eoDjOhXdIHA.4728@TK2MSFTNGP03.phx.gbl... > Hi, > > I have written a class library and i don't want unauthorized access to > some (or all) methods in this library. With some research , i found that i > can use strongly named assemblies for this purpose > > Here is what i did: > 1- I created a consumer assembly signed with myKeyFile.snk > 2- I get public key of this assembly with secutil.exe > 3- I added StrongNameIdentityPermissionAttribute to the methods of class > library with LinkDemand option and the public key of consumer assembly > 4- I signed my class library with a key file also,otherwise i cannot > reference it to consumer assembly. > > Now i get it work, but i got a question. With this method all the > consumers of class library should be signed with same key file. > What if consumer assembly has some other references that have > StrongNameIdentityPermissionAttribute with different public keys ? > as far as i know ,we cannot sign an assembly with more than one key file. > > and is there any other method to get same functionality? > > thanks so much > Yener