Wyliczanie nazw kontenerów silnej nazwy CSP
Próbuję znaleźć informacje o tym, jak (jeśli w ogóle możliwe) wyliczyć wszystkie nazwy kontenerów w CSP Strong Name Service (dostawca usług kryptograficznych).
Zasadniczo podczas pisaniasn.exe -i key.snk MyContainerName
pary kluczy publicznych i prywatnych są przechowywane w tak zwanym „kontenerze”. Później w kodzie możesz podać nazwę kontenera wAssemblyKeyNameAttribute
np .:
[assembly: AssemblyKeyName("MyContainerName")]
Spowoduje to podpisanie złożenia w czasie kompilacji.
Próbuję się dowiedzieć, czy można jakoś wyliczyć wszystkie nazwy kontenerów. Piszę awtyczka dla ReSharper który zapewnia uzupełnienie kodu dlaInternalsVisibleTo
atrybut. Chciałbym również dostarczyć uzupełnienie kodu dlaAssemblyKeyName
atrybut, gdzie wstępnie wypełniłbym listę znanymi nazwami kontenerów.
Czy ta informacja jest dostępna?
EDYTOWAĆ: Od komentarzato pytanie na IT Security StackExchange istnieje link do trochę nazwanego useKeyPal. Uruchomienie tego narzędzia za pomocąLM
zrzuci magazyn kluczy komputera lokalnego:
--------- 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 widzę, że zarówno [0], jak i [2] są poprawnymi nazwami kontenerów, których można użyćAssemblyKeyName
. Istnieje jednak [1] jeden - „IIS Express ...”, który nie jest prawidłowym kontenerem. Jak mogę je rozróżnić?