Atom Лента - Форум КриптоПро - Тема:При просмотре привязки получаю ошибку "Алгоритм ключа сертификата не поддерживается" - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:Priprosmotreprivjazkipoluchajuoshibku"Algoritmkljuchasertifikatanepodderzhivaetsja"-10:1Copyright 2024 Форум КриптоПро2024-03-28T16:24:41Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.ruМатыс Александрhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=50207&name=Матыс АлександрМатыс Александрhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=50207&name=Матыс АлександрTolikTipaTut1https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=49415&name=TolikTipaTut1YetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid116558:1При просмотре привязки получаю ошибку "Алгоритм ключа сертификата не поддерживается"<table class="content postContainer_Alt" width="100%"><tr><td>Вопрос решается на портале технической поддержки.</td></tr></table>2020-06-26T15:39:10+03:002020-06-26T15:39:10+03:00Матыс Александр<table class="content postContainer_Alt" width="100%"><tr><td>Вопрос решается на портале технической поддержки.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid116462:1При просмотре привязки получаю ошибку "Алгоритм ключа сертификата не поддерживается"<table class="content postContainer" width="100%"><tr><td>Добрый вечер!<br />Пытаюсь узнать, где находится контейнер закрытого ключа по сертификату, используя КриптоПро .Net и CSP 5.0.<br />Версия КриптоПро .Net - 1.0.7132.2, CSP - 5.0.11455.<br />Если делать через консоль, то следует использовать certmgr -l -sto uMy -dn <...>. Но парсить вывод в этом случае неудобно, особенно если хочешь вывести все првязки ко всем сертификатам.<br />Попробовал сделать с использованием примера по получению расположения контейнера (aka привязки к закрытому ключу). <br />Ключ расположен в хранилище HDIMAGE, о чем свидетельствует вывод csptest -keyset -enum_cont -verifyc -uniq. Сертификат установлен в хранилище CU\My, привязка к закрытому ключу есть.<br /><br />Выполняю следующее: <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-powershell">$cert = Get-Item ("Cert:\CurrentUser\My\2f0690fcd5cd31920f15f8c7bc6d17b14b00de30")
$cert.get_privateKey()</code></pre>
</div></div><br /><br />Получаю ошибку:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-powershell">Исключение при вызове "get_PrivateKey" с "0" аргументами: "Алгоритм ключа сертификата не поддерживается."
строка:1 знак:1
+ $cert.get_privateKey()
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : NotSupportedException
</code></pre>
</div></div><br /><br />Думал, дело в powershell (хотя это крайне маловероятно) <br />Взял пример на C#, собрал его, запустил. Ошибка та же: "Алгоритм ключа сертификата не поддерживается"<br /><br />Решил попробовать другой контейнер. Находится на флешке. Ошибки абсолютно те же.<br />Решил попробовать третий контейнер. Находится на Rutoken ECP 2.0. Ошибки абсолютно те же.<br /><br />Долго думал в чем проблема, решил установить CSP 4.0.9963. Проделал все то же самое (только хранилища HDIMAGE нет) - все заработало.<br />Скажите, в чем может быть проблема?</td></tr></table>2020-06-23T23:28:06+03:002020-06-23T23:28:06+03:00TolikTipaTut1<table class="content postContainer" width="100%"><tr><td>Добрый вечер!<br />Пытаюсь узнать, где находится контейнер закрытого ключа по сертификату, используя КриптоПро .Net и CSP 5.0.<br />Версия КриптоПро .Net - 1.0.7132.2, CSP - 5.0.11455.<br />Если делать через консоль, то следует использовать certmgr -l -sto uMy -dn <...>. Но парсить вывод в этом случае неудобно, особенно если хочешь вывести все првязки ко всем сертификатам.<br />Попробовал сделать с использованием примера по получению расположения контейнера (aka привязки к закрытому ключу). <br />Ключ расположен в хранилище HDIMAGE, о чем свидетельствует вывод csptest -keyset -enum_cont -verifyc -uniq. Сертификат установлен в хранилище CU\My, привязка к закрытому ключу есть.<br /><br />Выполняю следующее: <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-powershell">$cert = Get-Item ("Cert:\CurrentUser\My\2f0690fcd5cd31920f15f8c7bc6d17b14b00de30")
$cert.get_privateKey()</code></pre>
</div></div><br /><br />Получаю ошибку:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-powershell">Исключение при вызове "get_PrivateKey" с "0" аргументами: "Алгоритм ключа сертификата не поддерживается."
строка:1 знак:1
+ $cert.get_privateKey()
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : NotSupportedException
</code></pre>
</div></div><br /><br />Думал, дело в powershell (хотя это крайне маловероятно) <br />Взял пример на C#, собрал его, запустил. Ошибка та же: "Алгоритм ключа сертификата не поддерживается"<br /><br />Решил попробовать другой контейнер. Находится на флешке. Ошибки абсолютно те же.<br />Решил попробовать третий контейнер. Находится на Rutoken ECP 2.0. Ошибки абсолютно те же.<br /><br />Долго думал в чем проблема, решил установить CSP 4.0.9963. Проделал все то же самое (только хранилища HDIMAGE нет) - все заработало.<br />Скажите, в чем может быть проблема?</td></tr></table>