<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Рутокен &mdash; RutokenWeb+rtPKCS11ECP.dll(v.1.0.41.0)+C_Decrypt+CKM_RSA_PKCS = bug]]></title>
	<link rel="self" href="https://forum.rutoken.ru/feed/atom/topic/1782" />
	<updated>2012-08-31T14:07:44Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/1782/</id>
		<entry>
			<title type="html"><![CDATA[Re: RutokenWeb+rtPKCS11ECP.dll(v.1.0.41.0)+C_Decrypt+CKM_RSA_PKCS = bug]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/5302/#p5302" />
			<content type="html"><![CDATA[<p>В целом спасибо за информацию.</p><p>Абзац 11.2.1 документа pkcs-11v2-30b-d6.pdf разрешает криптографическим функциям при передаче им нулевого указателя на выходной буфер возвращать требуемый размер буфера &quot;слегка более фактически необходимого&quot;. Понятие &quot;слегка больше&quot; (&quot;somewhat exceed&quot;) не уточняется, что оставляет свободу для трактовок. В нашем случае, разница не превосходит размера используемого RSA-ключа.</p><p>Как бы там ни было, информация передана разработчикам. Ещё раз спасибо.</p>]]></content>
			<author>
				<name><![CDATA[Алексей Караваев]]></name>
				<uri>https://forum.rutoken.ru/user/7758/</uri>
			</author>
			<updated>2012-08-31T14:07:44Z</updated>
			<id>https://forum.rutoken.ru/post/5302/#p5302</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: RutokenWeb+rtPKCS11ECP.dll(v.1.0.41.0)+C_Decrypt+CKM_RSA_PKCS = bug]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/5264/#p5264" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Алексей Караваев пишет:</cite><blockquote><p>Спасибо за сообщение, оно будет передано разработчикам.</p></blockquote></div><p>Спасибо за оперативность :)</p><p>в догонку еще один момент про C_Decrypt: </p><p>если вызывать его при тех же условиях, с pData = NULL_PTR (для определения размера декодированных данных), он возращает в pulDataLen число сопоставимое с размером ключа, даже если реально данных закодировано значительно меньше.</p><p>т.е. например, при использовании ключа размером 2048 бит, после вызова<br />C_Decrypt(hSession, in_buf, in_buf_len, NULL_PTR, &amp;DataLen);<br />получаем DataLen=0x100 (или 256 байт, или 2048 бит)</p><p>дальше вызываем <br />C_Decrypt(hSession, in_buf, in_buf_len, out_buf, &amp;DataLen);<br />и получаем в DataLen реальный размер данных (в моем случае заметно меньше 256 байт), <br />в out_buf декодированные данные, а в in_buf&nbsp; - выше обозначенную порчу данных.</p><p>Но по поводу данной особенности я не уверен является ли это ошибкой или просто особенностью.</p><p>кстати говоря, могу даже больше сказать, если сразу вызывать<br />C_Decrypt(hSession, in_buf, in_buf_len, out_buf, &amp;DataLen);<br />и передать в DataLen размер меньше 0x100 (и соответственно буфер меньшего размера) - получаем ошибку о недостаточности размера буфера, хотя данных опять таки на выходе гарантированно заметно меньше.</p>]]></content>
			<author>
				<name><![CDATA[929121]]></name>
				<uri>https://forum.rutoken.ru/user/7927/</uri>
			</author>
			<updated>2012-08-17T15:56:59Z</updated>
			<id>https://forum.rutoken.ru/post/5264/#p5264</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: RutokenWeb+rtPKCS11ECP.dll(v.1.0.41.0)+C_Decrypt+CKM_RSA_PKCS = bug]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/5259/#p5259" />
			<content type="html"><![CDATA[<p>Спасибо за сообщение, оно будет передано разработчикам.</p>]]></content>
			<author>
				<name><![CDATA[Алексей Караваев]]></name>
				<uri>https://forum.rutoken.ru/user/7758/</uri>
			</author>
			<updated>2012-08-17T13:33:10Z</updated>
			<id>https://forum.rutoken.ru/post/5259/#p5259</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[RutokenWeb+rtPKCS11ECP.dll(v.1.0.41.0)+C_Decrypt+CKM_RSA_PKCS = bug]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/5257/#p5257" />
			<content type="html"><![CDATA[<p>C_Decrypt<br />(<br />&nbsp; CK_SESSION_HANDLE hSession,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* session&#039;s handle */<br />&nbsp; CK_BYTE_PTR&nbsp; &nbsp; &nbsp; &nbsp;pEncryptedData,&nbsp; &nbsp; &nbsp;/* ciphertext */<br />&nbsp; CK_ULONG&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ulEncryptedDataLen, /* ciphertext length */<br />&nbsp; CK_BYTE_PTR&nbsp; &nbsp; &nbsp; &nbsp;pData,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* gets plaintext */<br />&nbsp; CK_ULONG_PTR&nbsp; &nbsp; &nbsp; pulDataLen&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* gets p-text size */<br />);</p><p>при использовании механизма <br />CK_MECHANISM ckmDecMech = {CKM_RSA_PKCS, NULL_PTR , 0};<br />модифицирует данные лежащие в pEncryptedData. </p><p>в pkcs-11v2-20.pdf по поводу немодифицируемости входных данных конечно нислова не сказано, но ИМХО это неправильно.</p>]]></content>
			<author>
				<name><![CDATA[929121]]></name>
				<uri>https://forum.rutoken.ru/user/7927/</uri>
			</author>
			<updated>2012-08-17T12:35:46Z</updated>
			<id>https://forum.rutoken.ru/post/5257/#p5257</id>
		</entry>
</feed>
