Atom Лента - Форум КриптоПро - Тема:Перечисление контейнеров провайдера - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:Perechisleniekontejjnerovprovajjdera-10:1Copyright 2024 Форум КриптоПро2024-03-28T15:44:08Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.ruЧелпанов А.https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=26&name=Челпанов А.Челпанов А.https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=26&name=Челпанов А.Челпанов А.https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=26&name=Челпанов А.Челпанов А.https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=26&name=Челпанов А.Максим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим Коллегинvnsuzdalevhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1525&name=vnsuzdalevЧелпанов А.https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=26&name=Челпанов А.vnsuzdalevhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1525&name=vnsuzdalevЧелпанов А.https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=26&name=Челпанов А.vnsuzdalevhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1525&name=vnsuzdalevYetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid17449:1Перечисление контейнеров провайдера<table class="content postContainer_Alt" width="100%"><tr><td>Функция SelectContainer при fqcn=true имеет особенность при функционировании с CSP 2.0 и CSP 3.0<br />см <a rel="nofollow" href="http://www.cryptopro.ru/forum2/default.aspx?g=posts&t=3336" title="http://www.cryptopro.ru/forum2/default.aspx?g=posts&t=3336">тему на форуме</a></td></tr></table>2011-04-29T14:59:26+04:002011-04-29T14:59:26+04:00Челпанов А.<table class="content postContainer_Alt" width="100%"><tr><td>Функция SelectContainer при fqcn=true имеет особенность при функционировании с CSP 2.0 и CSP 3.0<br />см <a rel="nofollow" href="http://www.cryptopro.ru/forum2/default.aspx?g=posts&t=3336" title="http://www.cryptopro.ru/forum2/default.aspx?g=posts&t=3336">тему на форуме</a></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid8071:1Перечисление контейнеров провайдера<table class="content postContainer" width="100%"><tr><td>Новая версия 1.0.3484.0, выложена и содержит описанные выше изменения.<br />Пример в SDK включен.<br />Вопрос исчерпан, тема закрыта. <img src="/forum2/Images/Emoticons/eusa_angel.gif" alt="Angel" /> </td></tr></table>2009-07-16T17:48:39+04:002009-07-16T17:48:39+04:00Челпанов А.<table class="content postContainer" width="100%"><tr><td>Новая версия 1.0.3484.0, выложена и содержит описанные выше изменения.<br />Пример в SDK включен.<br />Вопрос исчерпан, тема закрыта. <img src="/forum2/Images/Emoticons/eusa_angel.gif" alt="Angel" /> </td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid7995:1Перечисление контейнеров провайдера<table class="content postContainer_Alt" width="100%"><tr><td>Убедили... <br />Gost3410CryptoServiceProvider.SelectContainer(...) - выдает окно выбора контейнера<br />Gost3410CryptoServiceProvider.ContainerCertificate{ get; set } - получение/установка из/в контейнер<br />simple.zip\Certificate\InstallMy.cs - пример установки сертификата из контейнера с установкой ссылки на секретный ключ.<br />---<br />Версию выложим на следующей неделе.</td></tr></table>2009-07-10T17:39:33+04:002009-07-10T17:39:33+04:00Челпанов А.<table class="content postContainer_Alt" width="100%"><tr><td>Убедили... <br />Gost3410CryptoServiceProvider.SelectContainer(...) - выдает окно выбора контейнера<br />Gost3410CryptoServiceProvider.ContainerCertificate{ get; set } - получение/установка из/в контейнер<br />simple.zip\Certificate\InstallMy.cs - пример установки сертификата из контейнера с установкой ссылки на секретный ключ.<br />---<br />Версию выложим на следующей неделе.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid7981:1Перечисление контейнеров провайдера<table class="content postContainer" width="100%"><tr><td>PP_SELECT_CONTAINER</td></tr></table>2009-07-10T04:54:31+04:002009-07-10T04:54:31+04:00Максим Коллегин<table class="content postContainer" width="100%"><tr><td>PP_SELECT_CONTAINER</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid7979:1Перечисление контейнеров провайдера<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Челпанов А. написал:</span><blockquote><br />А интересно именно перечисление контейнеров или окно выбора контейнера (такое как в контрольной панели на кнопке Browse)?</div></div><br /><br />Окно выбора - отличная вещь. А есть такая возможность его вызывать и получать из него выбор?</td></tr></table>2009-07-10T02:00:07+04:002009-07-10T02:00:07+04:00vnsuzdalev<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Челпанов А. написал:</span><blockquote><br />А интересно именно перечисление контейнеров или окно выбора контейнера (такое как в контрольной панели на кнопке Browse)?</div></div><br /><br />Окно выбора - отличная вещь. А есть такая возможность его вызывать и получать из него выбор?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid7909:1Перечисление контейнеров провайдера<table class="content postContainer" width="100%"><tr><td>Все правильно, только небольшое дополнение к "...из него и присваиваю его x509.PrivateKey." и сохраняете в хранилище MY. <br />Все описанное Вами обычно проделывается один раз при переносе на другую машину (обычно раз в год) и это можно сделать при помощи контрольной панели КриптоПро CSP (есть и другие способы...). В дальнейшем (после установки сертификата в хранилище со связкой с секретным ключем) можно выдавать уже только окно выбора сертификата и от него плясать на секретный ключ.<br /><br />Если же речь именно об установки сертификата из контейнера в хранилище MY, то только P/Invoke.<br />А интересно именно перечисление контейнеров или окно выбора контейнера (такое как в контрольной панели на кнопке Browse)?</td></tr></table>2009-07-08T16:22:20+04:002009-07-08T16:22:20+04:00Челпанов А.<table class="content postContainer" width="100%"><tr><td>Все правильно, только небольшое дополнение к "...из него и присваиваю его x509.PrivateKey." и сохраняете в хранилище MY. <br />Все описанное Вами обычно проделывается один раз при переносе на другую машину (обычно раз в год) и это можно сделать при помощи контрольной панели КриптоПро CSP (есть и другие способы...). В дальнейшем (после установки сертификата в хранилище со связкой с секретным ключем) можно выдавать уже только окно выбора сертификата и от него плясать на секретный ключ.<br /><br />Если же речь именно об установки сертификата из контейнера в хранилище MY, то только P/Invoke.<br />А интересно именно перечисление контейнеров или окно выбора контейнера (такое как в контрольной панели на кнопке Browse)?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid7894:1Перечисление контейнеров провайдера<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо за совет. Второй способ попробую. А вот насчет первого. Подскажите, я наверное что-то недопонимаю. Я генерирую ключевую пару на считывателе, запрашиваю сертификат, получаю его (ЦС от Microsoft). Все это отдаю на клиентскую машину. (Физически переношу считыватель и сертификат) и у клиента пытаюсь связать сертификат с ключами. Для этого мне надо выбрать контейнер( вот здесь я и хочу список всех сонтейнеров привести), а дальше получаю AsymmetricAlgorithm из него и присваиваю его x509.PrivateKey.<br />Может есть более удобный путь?</td></tr></table>2009-07-07T21:42:34+04:002009-07-07T21:42:34+04:00vnsuzdalev<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо за совет. Второй способ попробую. А вот насчет первого. Подскажите, я наверное что-то недопонимаю. Я генерирую ключевую пару на считывателе, запрашиваю сертификат, получаю его (ЦС от Microsoft). Все это отдаю на клиентскую машину. (Физически переношу считыватель и сертификат) и у клиента пытаюсь связать сертификат с ключами. Для этого мне надо выбрать контейнер( вот здесь я и хочу список всех сонтейнеров привести), а дальше получаю AsymmetricAlgorithm из него и присваиваю его x509.PrivateKey.<br />Может есть более удобный путь?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid7868:1Перечисление контейнеров провайдера<table class="content postContainer" width="100%"><tr><td>Простого способа нет. Вариантов обхода несколько.<br />1. Вариант, который ближе к Microsoft - отталкиваться от сертификатов, а не от контейнеров. Выдавать окно не с именами контейнеров, а с именами сертификатов из хранилища MY. А если необходим секретный ключ, то добираться к нему через X509Certificate2.PrivateKey. Если же есть необходимость добраться до имени контейнера, то действовать как-то так:<div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">AsymmetricAlgorithm asym = x509.PrivateKey;
ICspAsymmetricAlgorithm iasym = asym as ICspAsymmetricAlgorithm;
CspKeyContainerInfo info = iasym.CspKeyContainerInfo;
Console.WriteLine("Имя контейнера:"+info.KeyContainerName);</code></pre>
</div></div><br />Отсеивать же сертификаты КриптоПро можно по алгоритму ключа x509.GetKeyAlgorithm() == 1.2.643.2.2.19<br />2. Действовать через P/Invoke, через CryptGetProvParam( PP_ENUMCONTAINERS )</td></tr></table>2009-07-06T21:16:15+04:002009-07-06T21:16:15+04:00Челпанов А.<table class="content postContainer" width="100%"><tr><td>Простого способа нет. Вариантов обхода несколько.<br />1. Вариант, который ближе к Microsoft - отталкиваться от сертификатов, а не от контейнеров. Выдавать окно не с именами контейнеров, а с именами сертификатов из хранилища MY. А если необходим секретный ключ, то добираться к нему через X509Certificate2.PrivateKey. Если же есть необходимость добраться до имени контейнера, то действовать как-то так:<div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">AsymmetricAlgorithm asym = x509.PrivateKey;
ICspAsymmetricAlgorithm iasym = asym as ICspAsymmetricAlgorithm;
CspKeyContainerInfo info = iasym.CspKeyContainerInfo;
Console.WriteLine("Имя контейнера:"+info.KeyContainerName);</code></pre>
</div></div><br />Отсеивать же сертификаты КриптоПро можно по алгоритму ключа x509.GetKeyAlgorithm() == 1.2.643.2.2.19<br />2. Действовать через P/Invoke, через CryptGetProvParam( PP_ENUMCONTAINERS )</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid7865:1Перечисление контейнеров провайдера<table class="content postContainer_Alt" width="100%"><tr><td>Добрый день!<br />Подскажите, пожалуйста, существует ли способ выполнить перечисление контейнеров ключевых пар определенного криптопровайдера. Если конкретно, то меня интересует КриптоПро. Я пишу на C#. <br />Замысел такой. Хочется сделать более удобным интерфейс настроек для пользователя. Если перечислить все контейнеры так, чтоб пользователь видел их имена, а я получал бы их полные имена. Тогда пользователь мог бы выбрать по имени контейнер с ключами, а я бы привязал его к "процессу".</td></tr></table>2009-07-06T20:49:19+04:002009-07-06T20:49:19+04:00vnsuzdalev<table class="content postContainer_Alt" width="100%"><tr><td>Добрый день!<br />Подскажите, пожалуйста, существует ли способ выполнить перечисление контейнеров ключевых пар определенного криптопровайдера. Если конкретно, то меня интересует КриптоПро. Я пишу на C#. <br />Замысел такой. Хочется сделать более удобным интерфейс настроек для пользователя. Если перечислить все контейнеры так, чтоб пользователь видел их имена, а я получал бы их полные имена. Тогда пользователь мог бы выбрать по имени контейнер с ключами, а я бы привязал его к "процессу".</td></tr></table>