<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Guardant &mdash; Нужен код проверки подписи ЕСС160 на C#]]></title>
	<link rel="self" href="https://forum.guardant.ru/feed/atom/topic/301" />
	<updated>2013-04-17T11:49:52Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.guardant.ru/topic/301/</id>
		<entry>
			<title type="html"><![CDATA[Re: Нужен код проверки подписи ЕСС160 на C#]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/1454/#p1454" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>anatolyvolodko пишет:</cite><blockquote><p>Прошу или предоставить корректный код на C# для проверки подписи ECC160 или пояснить, как преобразовать экспортируемый публичный ключ ЕСС160 в формат, подходящий для создания экземпляра ECKeyPair библиотеки &quot;opencrypto.net&quot;.</p></blockquote></div><p>Ваш запрос понятен и принят. Готового решения, к сожалению, у нас нет. Задача помещена в бэклог проекта, при первой возможности наши специалисты этим займутся - к сожалению в ближайший месяц-два занятость по проекту Guardant Mobile не позволит нам это сделать.</p><p>Мы напишем в этой теме, когда у нас будет решение.</p>]]></content>
			<author>
				<name><![CDATA[AndreyStepin]]></name>
				<uri>https://forum.guardant.ru/user/8/</uri>
			</author>
			<updated>2013-04-17T11:49:52Z</updated>
			<id>https://forum.guardant.ru/post/1454/#p1454</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Нужен код проверки подписи ЕСС160 на C#]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/1449/#p1449" />
			<content type="html"><![CDATA[<p>Стандартный подход требует наличие Handle на Guardant Api для проверки подписи.</p><p>Таким образом, любой код, который захочет проверить подпись, должен не только подключить прямо или косвенно Managed API Guardant, но и загрузить в свой процесс unmanaged код (помимо прочего зависимый от архитектуры X86/x64/ARM и т.д.).</p><p>Для Silverlight приложений это неприемлемо в принципе.</p><p>Тем не менее, нам необходимо быть убежденными, что сервис вернувший некоторые данные - это именно наш сервис.<br />Причем для нас существенно, чтобы в коде сервиса не хранился и даже не появлялся в памяти приватный ключ (в противном случае с помощью дебаггера можно будет этот приватный ключ снять и подменить наш сервис.</p><p>Мы предполагали это достигать тем, что подпись осуществляется аппаратным ключом (хранящим этот приватный ключ), а проверку подписи должно быть возможно осуществить в любом .NET приложении, включая Silverlight имея доступ только к публичному ключу.</p><p>Загружать сторонний (неверифицированный нами) код в свое приложение по вполне понятным причинам мы не хотим.</p><p>В частности, некоторый код нашего приложения по соображениям безопасности в принципе не может иметь права обращаться к Unsafe коду (ну нету таких permissions у запускающего приложения).</p>]]></content>
			<author>
				<name><![CDATA[anatolyvolodko]]></name>
				<uri>https://forum.guardant.ru/user/560/</uri>
			</author>
			<updated>2013-04-10T10:31:46Z</updated>
			<id>https://forum.guardant.ru/post/1449/#p1449</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Нужен код проверки подписи ЕСС160 на C#]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/1448/#p1448" />
			<content type="html"><![CDATA[<p>Здравствуйте, anatolyvolodko.</p><p>В первую очередь хочу обратить внимание на то, что в нашем стандартном примере для .Net (все примеры можно найти в папке &quot;Samples&quot; установленного комплекта разработчика, директория по умолчанию: &quot; %Program Files%\Guardant\Guardant 6\%Public Code%\Samples\&quot;) есть описание использования функций Guardant API,&nbsp; в том числе и для подписи (и проверки подписи) блока данных.</p><p>Уточните, пожалуйста, по какой причине не подходит стандартный способ использования аппаратного реализованного в современных электронных ключах алгоритма ECC160?</p>]]></content>
			<author>
				<name><![CDATA[Антон Тихиенко]]></name>
				<uri>https://forum.guardant.ru/user/31/</uri>
			</author>
			<updated>2013-04-10T08:06:29Z</updated>
			<id>https://forum.guardant.ru/post/1448/#p1448</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Нужен код проверки подписи ЕСС160 на C#]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/1442/#p1442" />
			<content type="html"><![CDATA[<p>Проверка подписи ЕСС160 непосредственно в коде приложения - это предпочтительный метод.</p><p>Для этой цели, как написано в документации, вы и поставляете код для проверки подписи ЕСС160 на С (С++) в файле VerifySign.c </p><p>К сожалению, нам не удается воспользоваться этим кодом в приложении на .NET (очень! не хочется подгружать в него Native код).</p><p>Также не удается воспользоваться для этой же цели библиотекой &quot;opencrypto.net&quot; (Domain=secp160r1, насколько я понял, соответствует алгоритму ECC160)</p><p>Исходные коды библиотеки opencrypto.net доступны под MIT-лицензией по адресу:</p><p><a href="https://github.com/kazuki/opencrypto.net">https://github.com/kazuki/opencrypto.net</a></p><p>Судя по всему есть какое-то несовпадение в формате представления ключей.</p><p>Прошу или предоставить корректный код на C# для проверки подписи ECC160 или пояснить, как преобразовать экспортируемый публичный ключ ЕСС160 в формат, подходящий для создания экземпляра ECKeyPair библиотеки &quot;opencrypto.net&quot;.</p>]]></content>
			<author>
				<name><![CDATA[anatolyvolodko]]></name>
				<uri>https://forum.guardant.ru/user/560/</uri>
			</author>
			<updated>2013-04-08T10:27:43Z</updated>
			<id>https://forum.guardant.ru/post/1442/#p1442</id>
		</entry>
</feed>
