¿Hay alguna forma de asegurar su ensamblaje al clase/propiedad & clase/método para evitar el uso/llamada de ellos de otro ensamblaje que no esté firmado por nuestra empresa?Asegure los ensamblajes C# de personas que llaman no autorizadas
Me gustaría hacer esto sin ningún requisito sobre nombres fuertes (como usar StrongNameIdentityPermission) y seguir con la forma en que se firma un ensamblaje. Realmente no quiero recurrir al uso del atributo InternalsVisibleTo ya que no se puede mantener en un ecosistema de software en constante cambio.
Por ejemplo:
Escenario uno
Foo.dll está firmada por mi empresa y bar.dll no está firmado en absoluto.
Foo tiene Clase A bar tiene clase B
Clase A tiene método público GetSomething() Clase B intenta llamar Foo.A.GetSomething() y se rechazó
rechacen ser una excepción o siendo ignorada de alguna manera
Escenario dos
Foo.dll está firmada por mi empresa y Moo.dll también está firmada por mi empresa.
Foo tiene Clase A MOO ha Clase C
Clase A ha rechazado no se GetSomething método público() Clase C intenta llamar Foo.A.GetSomething() y
Explique "firmado". Llamó específicamente a los nombres no fuertes, por lo que no está hablando de la opción de firma disponible en .NET (porque eso es una denominación fuerte). ¿En su lugar está indicando la firma de authenticode? –
Firmado pero no fuerte, Strong Naming es la firma y más. Entonces, si tiene un certificado de Verisign, puede usarlo para firmar un archivo DLL, EXE o lo que sea. –
Correcto, ¿entonces autenticar firmando luego a través de un certificado de firma de código? –