Výstupní soubor vytvořený buď na kartě Signing nebo nástrojem sn.exe rozhodně není certifikát. Je to pouze pár privátní-veřejný klíč uložený v souboru .snk který se potom použije pro vytvoření toho Strong Name. Pokud stále trváte na svém názoru, popište mi přesně jak jste postupoval, včetně importování do Windowsáckého úložiště certifikátů. Je možné že si to pletete s nástrojem MakeCert.exe, který skutečně vytváří certifikáty importovatelné do Windows, ovšem jsou to certifikáty POUZE PRO TESTOVACÍ ÚČELY, tj. nemají žádného důvěryhodného vydavatele a nelze je ověřit. Účel podpisu je jak už jsem řekl z důvodu ověření pravosti (tj. pochází skutečně od vydavatele od kterého očekáváte) a pro ověření integrity že soubor nebyl změněn. Pokud máte certifikát od důvěryhodné certifikační autority (VeriSign, Thawte), problém s varováním před neověřeným autorem odpadá. Strong Name je souhrn vlastností, které dohromady vytvářejí globálně unikátní identitu Assembly, tj. nikdy nemohou existovat dvě stejné Assembly pokud jsou silně pojmenované. To se používá jednak pro odstranění konfliktu verzí knihoven a jednak opět pro ověření identity Assembly, to však už nemá nic společného s ověřováním ve Windows, nýbrž s bezpečnostním systémem .NET Frameworku (CAS, Code Access Security), který mimo jiné uděluje přístupová oprávnění aplikacím na základě jejich identity.
|