<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Рутокен &mdash; Как программно экспортировать сертификат с токена в .cer?]]></title>
	<link rel="self" href="https://forum.rutoken.ru/feed/atom/topic/2388/" />
	<updated>2016-03-16T11:14:44Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/2388/</id>
		<entry>
			<title type="html"><![CDATA[Re: Как программно экспортировать сертификат с токена в .cer?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/9420/#p9420" />
			<content type="html"><![CDATA[<p>Если выбросить все проверки возвращаемых значений, то порядок примерно такой:</p><div class="codebox"><pre><code>HCRYPTPROV hProv = NULL;
CryptAcquireContext(&amp;hProv, TEXT(”&lt;имя контйенера&gt;”),...,CRYPT_SILENT);

HCRYPTKEY hPrivateKey = NULL;
CryptGetUserKey( hProv, dwKeyPairUsage, &amp;hPrivateKey);

DWORD dwCertLength = 0;
CryptGetKeyParam( hPrivate_Key,
                  KP_CERTIFICATE,
                  NULL,
                  dwCertLength,
                  0 );
                  
BYTE* pCertificateData = new BYTE[ dwCertLength ]();
CryptGetKeyParam( m_hPrivate_Key,
                  KP_CERTIFICATE,
                  pCertificateData,
                  &amp;dwCertLength,
                  0 );

HANDLE hCerFile = CreateFile(...,GENERIC_WRITE,...);

DWORD dwBytesWritten = 0;
WriteFile(hCerFile, pCertificateData, dwCertLength, dwBytesWritten, NULL);

CloseHandle(hFile);
delete[] pCertificateData;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Vladimir Ivanov]]></name>
				<uri>https://forum.rutoken.ru/user/179/</uri>
			</author>
			<updated>2016-03-16T11:14:44Z</updated>
			<id>https://forum.rutoken.ru/post/9420/#p9420</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как программно экспортировать сертификат с токена в .cer?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/9419/#p9419" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Vladimir Ivanov пишет:</cite><blockquote><p>С контейнерами, ключами и сертификатами КриптоПро можно работать только через API КриптоПро, которое является реализацией CryptoApi. Соответственно, при разработке рекомендуем воспользоваться документацией КриптоПро: <a href="http://cpdn.cryptopro.ru/">http://cpdn.cryptopro.ru/</a></p></blockquote></div><p>Я где-то случайно находил пример экспорта сертификата, там была последовательность вызовов с параметрами, ориентированными именно на экспорт с Рутокена. Но тогда было не нужно, а теперь уже не найти.</p><div class="quotebox"><cite>Vladimir Ivanov пишет:</cite><blockquote><p>Почему Вам не подходит такой вариант?</p></blockquote></div><p>Потому что нужно написать программу, работающую в стиле &quot;вставь красную флэшку, нажми на кнопку и всё само сделается&quot;. Экспорт сертификатов страшно далёк от того, чем занимаются потенциальные пользователи, и их слишком много, чтобы учить их этим заниматься.</p>]]></content>
			<author>
				<name><![CDATA[Stanley]]></name>
				<uri>https://forum.rutoken.ru/user/10051/</uri>
			</author>
			<updated>2016-03-16T05:01:30Z</updated>
			<id>https://forum.rutoken.ru/post/9419/#p9419</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как программно экспортировать сертификат с токена в .cer?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/9409/#p9409" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Stanley пишет:</cite><blockquote><p>Есть rutoken 32K для использования совместно с КриптоПро. Возникла задача экспортировать с него сертификат с открытым ключом в формат .cer&nbsp; (нужен для проверки ЭЦП на дальнем компьютере), причём реализовать это нужно на голом CryptoAPI и C++ Builder. Подскажите пожалуйста, как такое проделать?</p></blockquote></div><p>С контейнерами, ключами и сертификатами КриптоПро можно работать только через API КриптоПро, которое является реализацией CryptoApi. Соответственно, при разработке рекомендуем воспользоваться документацией КриптоПро: <a href="http://cpdn.cryptopro.ru/">http://cpdn.cryptopro.ru/</a><br />А экспортировать сам сертификат в принципе можно и через GUI КриптоПро CSP. Почему Вам не подходит такой вариант?</p>]]></content>
			<author>
				<name><![CDATA[Vladimir Ivanov]]></name>
				<uri>https://forum.rutoken.ru/user/179/</uri>
			</author>
			<updated>2016-03-15T07:54:18Z</updated>
			<id>https://forum.rutoken.ru/post/9409/#p9409</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Как программно экспортировать сертификат с токена в .cer?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/9408/#p9408" />
			<content type="html"><![CDATA[<p>Есть rutoken 32K для использования совместно с КриптоПро. Возникла задача экспортировать с него сертификат с открытым ключом в формат .cer&nbsp; (нужен для проверки ЭЦП на дальнем компьютере), причём реализовать это нужно на голом CryptoAPI и C++ Builder. Подскажите пожалуйста, как такое проделать?</p>]]></content>
			<author>
				<name><![CDATA[Stanley]]></name>
				<uri>https://forum.rutoken.ru/user/10051/</uri>
			</author>
			<updated>2016-03-15T07:45:45Z</updated>
			<id>https://forum.rutoken.ru/post/9408/#p9408</id>
		</entry>
</feed>
