<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Guardant &mdash; Документация на функции GrdTRU_DecryptQuestionEx2 и пр. отсутсвует]]></title>
	<link rel="self" href="https://forum.guardant.ru/feed/atom/topic/948/" />
	<updated>2021-11-12T08:33:28Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.guardant.ru/topic/948/</id>
		<entry>
			<title type="html"><![CDATA[Re: Документация на функции GrdTRU_DecryptQuestionEx2 и пр. отсутсвует]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4565/#p4565" />
			<content type="html"><![CDATA[<p>Сегодня можно найти описание таких функций в заголовочном файле grdapi.h (входит в состав Guardant SDK, и находится в папке %GUARDANT_SDK%/include)<br />int GRD_API GrdTRU_DecryptQuestionEx2(HANDLE hGrd,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Handle to Guardant protected container of dongle that contains<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // decrypt algorithm with the same key as in remote dongle<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwLngQuestion,&nbsp; &nbsp; // Size for Question<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void* pQuestion,&nbsp; &nbsp; &nbsp; &nbsp; // Pointer to Question<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwID,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// ID&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;4 bytes<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwPublic,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// Public Code&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4 bytes<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwLngHash,&nbsp; &nbsp; &nbsp; &nbsp; // Size for Hash<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; const void* pHash,&nbsp; &nbsp; &nbsp; // Pointer to Hash of prev<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwMode,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// IN: Only GrdTRU_CryptMode_AES128SHA256 supported<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwKeySize,&nbsp; &nbsp; &nbsp; &nbsp; // Size of key as in remote dongle (TRU key).crypt=aes128(16 byte).<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; const void* pKey);&nbsp; &nbsp; &nbsp; // Pointer to same key as in remote dongle (TRU key).crypt=aes128(16 byte).</p><p>int GRD_API GrdTRU_DecryptQuestionTimeEx2(HANDLE hGrd,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Handle to Guardant protected container of dongle that contains<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwLngQuestion,&nbsp; // Size for Question<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void* pQuestion,&nbsp; &nbsp; &nbsp; // Pointer to Question<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwID,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// ID&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;4 bytes<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwPublic,&nbsp; &nbsp; &nbsp; &nbsp;// Public Code&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4 bytes<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; QWORD* pqwDongleTime, // Pointer to Dongle Time (encrypted)&nbsp; &nbsp;8 bytes<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; QWORD* pqwDeadTimes,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwDeadTimesNumbers,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwLngHash,&nbsp; &nbsp; &nbsp; &nbsp; // Size for Hash<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; const void* pHash,&nbsp; &nbsp; &nbsp; // Pointer to Hash of previous<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwMode,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// IN: Only GrdTRU_CryptMode_AES128SHA256 supported<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwKeySize,&nbsp; &nbsp; &nbsp; &nbsp; // Size of key as in remote dongle (TRU key).crypt=aes128(16 byte).<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; const void* pKey);&nbsp; &nbsp; &nbsp; // Pointer to same key as in remote dongle (TRU key).crypt=aes128(16 byte).</p><p>int GRD_API GrdTRU_EncryptAnswerEx2(HANDLE hGrd,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// Handle to Guardant protected container of dongle that contains<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// encrypt algorithm with the same key as in remote dongle<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// and pre-stored GrdTRU_SetAnswerProperties data if needed<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// Works only with GrdTRU_CryptMode_AES128SHA256<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwAddr,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Starting address for writing in dongle<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwLng,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// Size of data to be written<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; const void* pData,&nbsp; &nbsp; &nbsp; &nbsp;// Buffer for data to be written<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwLngQuestion,&nbsp; &nbsp; &nbsp;// Size for Question<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; const void* pQuestion,&nbsp; &nbsp;// Pointer to decrypted Question<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; void* pAnswer,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// Pointer to the buffer for Answer data<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD* pdwAnswerSize,&nbsp; &nbsp; // IN: Maximum buffer size for Answer data, OUT: Size of pAnswer buffer<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwMode,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // IN: Only GrdTRU_CryptMode_AES128SHA256 supported<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DWORD dwKeySize,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// Size of key as in remote dongle (TRU key).crypt=aes128(16 byte).<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; const void* pKey);&nbsp; &nbsp; &nbsp; &nbsp;// Pointer to same key as in remote dongle (TRU key).crypt=aes128(16 byte).</p><p>В будущем описание будет адаптировано и выложено на портале документации.</p>]]></content>
			<author>
				<name><![CDATA[Тимофей Ершов]]></name>
				<uri>https://forum.guardant.ru/user/1116/</uri>
			</author>
			<updated>2021-11-12T08:33:28Z</updated>
			<id>https://forum.guardant.ru/post/4565/#p4565</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Документация на функции GrdTRU_DecryptQuestionEx2 и пр. отсутсвует]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4564/#p4564" />
			<content type="html"><![CDATA[<p>В этом и проблема: релиз вышел в июле, функции есть, а описания на портале документации нет до сих пор. Уже почти четыре месяца прошло.</p>]]></content>
			<author>
				<name><![CDATA[gasanov.ai]]></name>
				<uri>https://forum.guardant.ru/user/1951/</uri>
			</author>
			<updated>2021-11-12T08:12:07Z</updated>
			<id>https://forum.guardant.ru/post/4564/#p4564</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Документация на функции GrdTRU_DecryptQuestionEx2 и пр. отсутсвует]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4563/#p4563" />
			<content type="html"><![CDATA[<p>Добрый день.<br />Описание всех функция находится на <a href="https://dev.guardant.ru">портале документации</a>. В будущем описание новых функция тоже появится на портале.</p>]]></content>
			<author>
				<name><![CDATA[Тимофей Ершов]]></name>
				<uri>https://forum.guardant.ru/user/1116/</uri>
			</author>
			<updated>2021-11-12T08:07:52Z</updated>
			<id>https://forum.guardant.ru/post/4563/#p4563</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Документация на функции GrdTRU_DecryptQuestionEx2 и пр. отсутсвует]]></title>
			<link rel="alternate" href="https://forum.guardant.ru/post/4562/#p4562" />
			<content type="html"><![CDATA[<p>Здравствуйте.<br />В анонсе GUARDANT SDK 7.7 указаны новые функции:<br />GrdTRU_DecryptQuestionEx2 <br />GrdTRU_DecryptQuestionTimeEx2<br />GrdTRU_EncryptAnswerEx2<br />Но нет их описания в документации.<br />Сделайте, пожалуйста. Или здесь приведите описание.</p>]]></content>
			<author>
				<name><![CDATA[gasanov.ai]]></name>
				<uri>https://forum.guardant.ru/user/1951/</uri>
			</author>
			<updated>2021-11-11T12:12:19Z</updated>
			<id>https://forum.guardant.ru/post/4562/#p4562</id>
		</entry>
</feed>
