Сейчас на форуме: cppasm, asfa (+6 невидимых)

 eXeL@B —› Вопросы новичков —› RSA Key Container
Посл.ответ Сообщение

Ранг: 57.0 (постоянный), 10thx
Активность: 0.050.08
Статус: Участник

Создано: 01 ноября 2015 03:51 · Поправил: zds
· Личное сообщение · #1

имеется следующая проблема:
есть прога использующая RSA шифрование. ключ берет из контейнера
код такой
Code:
  1.  
  2. string KeyContainerName = "XXXXXXX";
  3. CspParameters param = new CspParameters
  4.  {
  5.    KeyContainerName = KeyContainerName,
  6.    Flags = CspProviderFlags.UseExistingKey
  7.  };
  8. try
  9.  {
  10.    prov = new RSACryptoServiceProvider(0x400, param);
  11.   }

сделал все тоже самое чтобы экспортировать ключ prov.ExportCspBlob(key), но получаю ошибку "набор ключей не существует" при создании провайдера
если флаг поменять на UseMachineKeyStore, то ключ получаю, но он не подходит

есть ли какие то нюансы или что может быть не так?
заранее спасибо за ответы

Добавлено спустя 13 часов 28 минут
есть ли разница в контейнерах расположенных в c:\Users\XXXX\AppData\Roaming\Microsoft\Crypto\RSA\ и в
c:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\ ? в обоих случаях есть файлы контейнера с нужным мне именем, но файлы отличаются.
если есть разница как открыть контенер из одной и из другой дирректории?

Добавлено спустя 17 часов 30 минут
первоначально файл контейнер лежит тут c:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\
получаю ошибку что нет ключей
копирую этот файл в c:\Users\XXXX\AppData\Roaming\Microsoft\Crypto\RSA\
получаю уже ошибку key not valid for use in specified state

есть предположения в чем проблема? всю голову сломал




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 01 ноября 2015 22:13 · Поправил: -=AkaBOSS=-
· Личное сообщение · #2

zds пишет:
есть ли разница в контейнерах расположенных в c:\Users\XXXX\AppData\Roaming\Microsoft\Crypto\RSA\ и в
c:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\ ?

То что в Users - данные вашего аккаунта, а S-1-5-18 - это аккаунт операционки.
Соответственно, проверяйте права доступа к хранилищам

Я больше скажу - начиная с 6-ого ядра, есть разница при доступе. С правами анонима/пользователя я могу сохранить данные по указанному пути и получить к ним доступ, но они будут изолированы от остальной системы и другие приложения по указанному пути ничего не найдут.

zds пишет:
key not valid for use in specified state

фразу в гугл, дальше по обстановке.

zds пишет:
сделал все тоже самое чтобы экспортировать ключ prov.ExportCspBlob(key), но получаю ошибку "набор ключей не существует" при создании провайдера

Не очень понимаю, что вы пытаетесь сделать. Просто достать ключ из блоба?
Через certutil достать не получается?

| Сообщение посчитали полезным: zds

Ранг: 57.0 (постоянный), 10thx
Активность: 0.050.08
Статус: Участник

Создано: 19 марта 2016 12:30 · Поправил: zds
· Личное сообщение · #3

вынужден был забросить исседование. сейчас вернулся
вобщем прога создает контейнер с RSA Private Key и использует код который я выкладывал выше для его получения
мне нужно получить доступ к этому контейнеру
файл контейнера созданные прогой находится тут c:\ProgramData\Microsoft\Crypto\RSA\S-1-5-18\,
а так же его дубликат здесь c:\Users\All Users\AppData\Roaming\Microsoft\Crypto\RSA\S-1-5-18\ . Это как я понял Local Machine store
проблема в том, что когда я воспроизвожу все тоже самое у себя, то у меня поиск контейнеров идет в c:\Users"my_user"\AppData\Roaming\Microsoft\Crypto\RSA\ и соответсвенно если я сам создаю контейнер, то он сохраняеся тут же - User store.
вот я уже два дня бьюсь над тем как в своей тулзе изменить User store на Local store
перепробывал наверно уже все флаги, добавлял пользвателя для папки c:\ProgramData\Microsoft\Crypto\.... ни чего не выходит. единственное чего добился с флагом UseMachineKeyStore контейнер стал сохраняться в c:\ProgramData\Microsoft\Crypto\RSA\ но в папке MachineKeys
может есть у кого идеи? может какой-то утилитой можно посмотреть параметры контейнера проги?



Ранг: 57.0 (постоянный), 10thx
Активность: 0.050.08
Статус: Участник

Создано: 21 марта 2016 15:31
· Личное сообщение · #4

Пишу тому с кем общаюсь в ЛС по этой теме: почисти ЛС плиз
"Пользователь исчерпал лимит входящих сообщений"

простите за спам. просто не знаю как еще по другому связаться


 eXeL@B —› Вопросы новичков —› RSA Key Container
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати