Atom Лента - Форум КриптоПро - Тема:КриптоПро .NET + 34.10-2012 - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:KriptoPro.NET+34.10-2012-10:1Copyright 2024 Форум КриптоПро2024-03-28T19:36:42Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.rurushchelhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=49133&name=rushchelrushchelhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=49133&name=rushchelМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим Коллегинrushchelhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=49133&name=rushchelМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим Коллегинrushchelhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=49133&name=rushchelМаксим Коллегинhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=3&name=Максим Коллегинrushchelhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=49133&name=rushchelYetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid92177:1КриптоПро .NET + 34.10-2012<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Максим Коллегин <a href="/forum2/default.aspx?g=posts&m=92176#post92176"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Нужно было указать тип при генерации -provtype 80</div></div><br /><br />Спасибо! Буду использовать. Тема закрыта</td></tr></table>2018-06-13T19:07:23+03:002018-06-13T19:07:23+03:00rushchel<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Максим Коллегин <a href="/forum2/default.aspx?g=posts&m=92176#post92176"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Нужно было указать тип при генерации -provtype 80</div></div><br /><br />Спасибо! Буду использовать. Тема закрыта</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid92176:1КриптоПро .NET + 34.10-2012<table class="content postContainer" width="100%"><tr><td>Нужно было указать тип при генерации -provtype 80</td></tr></table>2018-06-13T18:17:14+03:002018-06-13T18:17:14+03:00Максим Коллегин<table class="content postContainer" width="100%"><tr><td>Нужно было указать тип при генерации -provtype 80</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid92163:1КриптоПро .NET + 34.10-2012<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Максим Коллегин <a href="/forum2/default.aspx?g=posts&m=92160#post92160"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Что-то у меня нет уверенности, что -makecert сделает ключ 2012 криптопровайдера. Сделайте лучше на нашем тестовом центре: <a rel="nofollow" href="http://www.cryptopro.ru/certsrv" title="http://www.cryptopro.ru/certsrv">http://www.cryptopro.ru/certsrv</a></div></div><br /><br />Блин, спасибо! Заработало после генерации сертификата на вашем тестовом центре.<br />Скажите, а планируется добавлять -makecert для 2012?</td></tr></table>2018-06-13T13:53:57+03:002018-06-13T13:53:57+03:00rushchel<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Максим Коллегин <a href="/forum2/default.aspx?g=posts&m=92160#post92160"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Что-то у меня нет уверенности, что -makecert сделает ключ 2012 криптопровайдера. Сделайте лучше на нашем тестовом центре: <a rel="nofollow" href="http://www.cryptopro.ru/certsrv" title="http://www.cryptopro.ru/certsrv">http://www.cryptopro.ru/certsrv</a></div></div><br /><br />Блин, спасибо! Заработало после генерации сертификата на вашем тестовом центре.<br />Скажите, а планируется добавлять -makecert для 2012?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid92160:1КриптоПро .NET + 34.10-2012<table class="content postContainer" width="100%"><tr><td>Что-то у меня нет уверенности, что -makecert сделает ключ 2012 криптопровайдера. Сделайте лучше на нашем тестовом центре: <a rel="nofollow" href="http://www.cryptopro.ru/certsrv" title="http://www.cryptopro.ru/certsrv">http://www.cryptopro.ru/certsrv</a></td></tr></table>2018-06-13T11:48:51+03:002018-06-13T11:48:51+03:00Максим Коллегин<table class="content postContainer" width="100%"><tr><td>Что-то у меня нет уверенности, что -makecert сделает ключ 2012 криптопровайдера. Сделайте лучше на нашем тестовом центре: <a rel="nofollow" href="http://www.cryptopro.ru/certsrv" title="http://www.cryptopro.ru/certsrv">http://www.cryptopro.ru/certsrv</a></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid92158:1КриптоПро .NET + 34.10-2012<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Максим Коллегин <a href="/forum2/default.aspx?g=posts&m=92156#post92156"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Попробуйте <a rel="nofollow" href="https://www.cryptopro.ru/sites/default/files/products/net/files/1.0.6675.0/NETSetup.exe" title="https://www.cryptopro.ru/sites/default/files/products/net/files/1.0.6675.0/NETSetup.exe">https://www.cryptopro.ru.../1.0.6675.0/NETSetup.exe</a></div></div><br /><br />Переустановил КриптоПро .NET, перезагрузил. Ошибка осталась та же.<br />Может нужны еще детали от меня?</td></tr></table>2018-06-13T11:12:43+03:002018-06-13T11:12:43+03:00rushchel<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Максим Коллегин <a href="/forum2/default.aspx?g=posts&m=92156#post92156"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Попробуйте <a rel="nofollow" href="https://www.cryptopro.ru/sites/default/files/products/net/files/1.0.6675.0/NETSetup.exe" title="https://www.cryptopro.ru/sites/default/files/products/net/files/1.0.6675.0/NETSetup.exe">https://www.cryptopro.ru.../1.0.6675.0/NETSetup.exe</a></div></div><br /><br />Переустановил КриптоПро .NET, перезагрузил. Ошибка осталась та же.<br />Может нужны еще детали от меня?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid92156:1КриптоПро .NET + 34.10-2012<table class="content postContainer" width="100%"><tr><td>Попробуйте <a rel="nofollow" href="https://www.cryptopro.ru/sites/default/files/products/net/files/1.0.6675.0/NETSetup.exe" title="https://www.cryptopro.ru/sites/default/files/products/net/files/1.0.6675.0/NETSetup.exe">https://www.cryptopro.ru.../1.0.6675.0/NETSetup.exe</a></td></tr></table>2018-06-13T10:50:16+03:002018-06-13T10:50:16+03:00Максим Коллегин<table class="content postContainer" width="100%"><tr><td>Попробуйте <a rel="nofollow" href="https://www.cryptopro.ru/sites/default/files/products/net/files/1.0.6675.0/NETSetup.exe" title="https://www.cryptopro.ru/sites/default/files/products/net/files/1.0.6675.0/NETSetup.exe">https://www.cryptopro.ru.../1.0.6675.0/NETSetup.exe</a></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid92153:1КриптоПро .NET + 34.10-2012<table class="content postContainer_Alt" width="100%"><tr><td>Добрый день!<br /><br />Имеется веб-сервис, собранный с помощью <strong>КриптоПро .NET SDK v1.0.6397</strong><br />Реализация подписи:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-csharp">public override byte[] MakeSign(byte[] data, X509Certificate2 cert, SecureString password, string hashAlg)
{
byte[] baSign = null;
try
{
CspKeyContainerInfo info = ((ICspAsymmetricAlgorithm)cert.PrivateKey).CspKeyContainerInfo;
CspParameters cp = new CspParameters();
cp.KeyContainerName = info.KeyContainerName;
cp.ProviderType = 80;
cp.Flags = CspProviderFlags.UseExistingKey | CspProviderFlags.UseMachineKeyStore | CspProviderFlags.NoPrompt;
cp.KeyPassword = password;
Gost3410_2012_256CryptoServiceProvider.UseMachineKeyStore = true;
using (Gost3410_2012_256CryptoServiceProvider csp = new Gost3410_2012_256CryptoServiceProvider(cp))
{
Gost3411_2012_256CryptoServiceProvider Hash = new Gost3411_2012_256CryptoServiceProvider();
baSign = csp.SignData(data, Hash);
}
}
catch (CryptographicException e)
{
Logger.log.loggingExceptionInformation("Ошибка подписания с помощью CryptoPro", e);
}
catch (Exception e)
{
Logger.log.loggingExceptionInformation("Общая ошибка работы с крипто провайдером CryptoPro", e);
}
return baSign;
}
</code></pre>
</div></div><br /><br />Описание сервера:<br />- MS Windows Server 2012 R2 Standard 64-bit<br />- IIS v8.5.9600<br />- <strong>CryptoPro .NET Server v1.0.6397</strong><br />- <strong>CryptoPro CSP v4.0.9842</strong><br /><br />Для тестов создавал контейнер и самоподписанный сертификат с помощью утилиты csptest.exe<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">>csptest.exe -keyset -newkeyset -machinekeyset -makecert -container gost2012</code></pre>
</div></div><br />Права для пользователя IIS на сертификат выданы.<br />При вызове подписи сообщения возникает исключение:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup"><message>
<type>
System.Security.Cryptography.CryptographicException
</type>
<description>
<![CDATA[
The specified cryptographic service provider (CSP) does not support this key algorithm.
]]>
</description>
<source>
<![CDATA[
CryptoPro.Sharpei.Base
]]>
</source>
<number>
-1
</number>
<stacktrace>
<![CDATA[
at CryptoPro.Sharpei.CPUtils.GetKeyPairHelper(CPCspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandleCP& safeProvHandle, SafeKeyHandleCP& safeKeyHandle)
at CryptoPro.Sharpei.Gost3410_2012_256CryptoServiceProvider.GetKeyPair()
at CryptoPro.Sharpei.Gost3410_2012_256CryptoServiceProvider..ctor(CspParameters parameters)
at CC.ProviderGost3410_2012_256.MakeSign(Byte[] data, X509Certificate2 cert, SecureString password, String hashAlg)
]]>
</stacktrace>
</message>
</code></pre>
</div></div><br /><br />Аналогичный код для сертификата с алгоритмом 2001-го года работает нормально.<br />Кто знает в чем дело? Помогите разобраться, пожалуйста.</td></tr></table>2018-06-13T10:51:20+03:002018-06-13T10:51:20+03:00rushchel<table class="content postContainer_Alt" width="100%"><tr><td>Добрый день!<br /><br />Имеется веб-сервис, собранный с помощью <strong>КриптоПро .NET SDK v1.0.6397</strong><br />Реализация подписи:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-csharp">public override byte[] MakeSign(byte[] data, X509Certificate2 cert, SecureString password, string hashAlg)
{
byte[] baSign = null;
try
{
CspKeyContainerInfo info = ((ICspAsymmetricAlgorithm)cert.PrivateKey).CspKeyContainerInfo;
CspParameters cp = new CspParameters();
cp.KeyContainerName = info.KeyContainerName;
cp.ProviderType = 80;
cp.Flags = CspProviderFlags.UseExistingKey | CspProviderFlags.UseMachineKeyStore | CspProviderFlags.NoPrompt;
cp.KeyPassword = password;
Gost3410_2012_256CryptoServiceProvider.UseMachineKeyStore = true;
using (Gost3410_2012_256CryptoServiceProvider csp = new Gost3410_2012_256CryptoServiceProvider(cp))
{
Gost3411_2012_256CryptoServiceProvider Hash = new Gost3411_2012_256CryptoServiceProvider();
baSign = csp.SignData(data, Hash);
}
}
catch (CryptographicException e)
{
Logger.log.loggingExceptionInformation("Ошибка подписания с помощью CryptoPro", e);
}
catch (Exception e)
{
Logger.log.loggingExceptionInformation("Общая ошибка работы с крипто провайдером CryptoPro", e);
}
return baSign;
}
</code></pre>
</div></div><br /><br />Описание сервера:<br />- MS Windows Server 2012 R2 Standard 64-bit<br />- IIS v8.5.9600<br />- <strong>CryptoPro .NET Server v1.0.6397</strong><br />- <strong>CryptoPro CSP v4.0.9842</strong><br /><br />Для тестов создавал контейнер и самоподписанный сертификат с помощью утилиты csptest.exe<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">>csptest.exe -keyset -newkeyset -machinekeyset -makecert -container gost2012</code></pre>
</div></div><br />Права для пользователя IIS на сертификат выданы.<br />При вызове подписи сообщения возникает исключение:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup"><message>
<type>
System.Security.Cryptography.CryptographicException
</type>
<description>
<![CDATA[
The specified cryptographic service provider (CSP) does not support this key algorithm.
]]>
</description>
<source>
<![CDATA[
CryptoPro.Sharpei.Base
]]>
</source>
<number>
-1
</number>
<stacktrace>
<![CDATA[
at CryptoPro.Sharpei.CPUtils.GetKeyPairHelper(CPCspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandleCP& safeProvHandle, SafeKeyHandleCP& safeKeyHandle)
at CryptoPro.Sharpei.Gost3410_2012_256CryptoServiceProvider.GetKeyPair()
at CryptoPro.Sharpei.Gost3410_2012_256CryptoServiceProvider..ctor(CspParameters parameters)
at CC.ProviderGost3410_2012_256.MakeSign(Byte[] data, X509Certificate2 cert, SecureString password, String hashAlg)
]]>
</stacktrace>
</message>
</code></pre>
</div></div><br /><br />Аналогичный код для сертификата с алгоритмом 2001-го года работает нормально.<br />Кто знает в чем дело? Помогите разобраться, пожалуйста.</td></tr></table>