Перечисление имен контейнеров со строгим именем CSP
я пытаюсь найти некоторую информацию о том, как (если это вообще возможно) перечислить все имена контейнеров в CSP со строгим именем (поставщик криптографических услуг).
По сути, когда вы печатаетеsn.exe -i key.snk MyContainerName
пары открытого и закрытого ключей хранятся вназывается "контейнер", Позже, в вашем коде, вы можете указать имя контейнера вAssemblyKeyNameAttribute
Например:
[assembly: AssemblyKeyName("MyContainerName")]
Это приведет к тому, что сборка будет подписана во время компиляции.
Я пытаюсь выяснить, если этоМожно как-то перечислить все имена контейнеров. Я'я пишуплагин для ReSharper который обеспечивает завершение кода дляInternalsVisibleTo
приписывать. Я'также хотел бы обеспечить завершение кода дляAssemblyKeyName
атрибут, в котором я бы предварительно заполнил список известными именами контейнеров.
Доступна ли эта информация?
РЕДАКТИРОВАТЬ: Из комментарияэтот вопрос на IT Security StackExchange, естьссылка на небольшую утилиту под названиемKeyPal, Запуск этой утилиты сLM
сбросит хранилище ключей локальной машины:
--------- 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
-------------------------------------------------
Где я вижу, что оба [0] и [2] являются допустимыми именами контейнеров для использования сAssemblyKeyName
, Тем не менее, естьs [1] один - "IIS Express ... », который не является допустимым контейнером. Как я могу отличить их?