Próbuję znaleźć informacje o tym, jak (jeśli w ogóle możliwe) wyliczyć wszystkie nazwy kontenerów w usłudze Strong Name CSP (Cryptographic Service Provider).Wyliczanie nazw pojemników o silnej nazwie CSP
Zasadniczo po wpisaniu sn.exe -i key.snk MyContainerName
pary kluczy publicznych i prywatnych są przechowywane w tak zwanym "kontenerze". Później w kodzie, można podać nazwę kontenera w AssemblyKeyNameAttribute
, np .:
[assembly: AssemblyKeyName("MyContainerName")]
To spowoduje, że zespół ma zostać podpisana w czasie kompilacji.
Próbuję dowiedzieć się, czy możliwe jest wyliczenie wszystkich nazw pojemników. Piszę kod plugin for ReSharper, który zapewnia uzupełnianie kodu dla atrybutu InternalsVisibleTo
. Chciałbym również zapewnić uzupełnienie kodu dla atrybutu AssemblyKeyName
, w którym wstępnie wypełniłem listę znanymi nazwami kontenerów.
Czy ta informacja jest dostępna?
EDIT: Od komentarzu this question w IT Security Stack Exchange Network, jest tam link do trochę util zwanego KeyPal. Uruchomienie tego programu narzędziowego z LM
zrzuci lokalnego magazynu kluczy maszyny:
--------- KeyPal: MACHINE store: 3 keycontainers --------- [0] VS_KEY_F726FDF898BC4CB8 Signature 1024 [1] IIS Express Development Certificate Container Exchange 1024 CertE: CN=localhost [2] MyContainerName Signature 1024 -------------------------------------------------
Gdzie mogę zobaczyć, że zarówno [0] i [2] są prawidłowymi nazwami kontenerów do korzystania z AssemblyKeyName
. Istnieje jednak [1] jeden - "IIS Express ...", który nie jest prawidłowym kontenerem. Jak mogę je rozróżnić?
by nie rozwiązywać rzeczywiste problem, ale na wypadek, gdyby pomogło ... Wiesz, że generowanie przez Atrybuty jest przestarzałe (jak w przypadku trudnych do zobaczenia poza bazami kodowymi V1.1) na korzyść VS zarządzania instalacją w sklepie i przekazywaniem ich do zadania CSC? (http://stackoverflow.com/a/16464894/11635) –
@RubenBartelink Ciekawe, dzięki. Zakładałem tyle, ponieważ nie ma prawie żadnych aktualnych informacji o tych rzeczach. Robię to tylko z zainteresowaniem, ponieważ użytkownik mojej wtyczki ReSharper zgłosił błąd, aw jego przypadku wciąż używają atrybutów. Zastanawiałem się, jak trudno byłoby im "pomóc". Ale wygląda na to, że nikt go już nie używa. –