Come verificare che gli assembly di libreria provengano da un determinato sito Web?

-1

Come sarebbe implementata la seguente soluzione? Dovresti inserire questo codice in ogni assembly della libreria o solo nell'assembly principale per determinare se è sicuro chiamare l'assembly della libreria in base alla provenienza o meno di un determinato sito Web intranet? Inoltre, chi dovrebbe chiamare il metodo CheckSite: ogni assembly della libreria o l'app principale? Ecco l'esempio e la soluzione di un esame di pratica per l'esame specialista C # 70-483 a cui mi riferisco:

You are an application developer for a company. You are creating an application on the company’s Web server that will manipulate confidential data from business partners. The application relies on many library assemblies in the company intranet to complete its work. You are required to verify that every assembly originates from the same intranet Web site. Which code should you use to verify the current assembly originates from the company intranet?

public bool CheckSite () {
    SiteMembershipCondition site = new
        SiteMembershipCondition( “http://intranet.company.com” );
    return site.Check( Assembly.GetCallingAssembly().Evidence );
}
    
posta Richard Leyton 28.08.2014 - 18:32
fonte

1 risposta

2

Non dovresti preoccuparti di quale sito web proviene, dovresti usare il nome sicuro (cioè firmato digitalmente) per verificare che le dll siano legittime. Quindi non importa da dove lo scarichi.

Vedi questo articolo MSDN su come firmare con un nome strong

    
risposta data 28.08.2014 - 18:35
fonte