<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Enclave remote attestation from dll in Intel® Software Guard Extensions (Intel® SGX)</title>
    <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1286182#M4632</link>
    <description>&lt;P&gt;Hello!&lt;BR /&gt;So now I know how to load enclave dll from injected untrusted dll&amp;nbsp;&lt;SPAN style="font-family: inherit;"&gt;module &lt;/SPAN&gt;&lt;SPAN style="font-family: inherit;"&gt;(running an enclave dll from dll). It works. But now I want to do remote attestation with this structure. For remote attestation I use this sample: &lt;A href="https://github.com/intel/sgx-ra-sample" target="_blank" rel="noopener"&gt;https://github.com/intel/sgx-ra-sample&lt;/A&gt; . I'm running sp.exe (server) and I create dll from client part and inject it to the target.exe. (sp.exe + client.exe works good). And it stops working on&amp;nbsp;sgx_get_extended_epid_group_id() - no error, no messages - just waiting for the return value. I can't find anything in documentation about it. And of course I can't debug sgx functions to understand why it might not work with dll...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;&lt;BR /&gt;Is it possible in theory to do what I want?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 01 Jun 2021 15:35:13 GMT</pubDate>
    <dc:creator>nadiaivc</dc:creator>
    <dc:date>2021-06-01T15:35:13Z</dc:date>
    <item>
      <title>Enclave remote attestation from dll</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1286182#M4632</link>
      <description>&lt;P&gt;Hello!&lt;BR /&gt;So now I know how to load enclave dll from injected untrusted dll&amp;nbsp;&lt;SPAN style="font-family: inherit;"&gt;module &lt;/SPAN&gt;&lt;SPAN style="font-family: inherit;"&gt;(running an enclave dll from dll). It works. But now I want to do remote attestation with this structure. For remote attestation I use this sample: &lt;A href="https://github.com/intel/sgx-ra-sample" target="_blank" rel="noopener"&gt;https://github.com/intel/sgx-ra-sample&lt;/A&gt; . I'm running sp.exe (server) and I create dll from client part and inject it to the target.exe. (sp.exe + client.exe works good). And it stops working on&amp;nbsp;sgx_get_extended_epid_group_id() - no error, no messages - just waiting for the return value. I can't find anything in documentation about it. And of course I can't debug sgx functions to understand why it might not work with dll...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;&lt;BR /&gt;Is it possible in theory to do what I want?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 01 Jun 2021 15:35:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1286182#M4632</guid>
      <dc:creator>nadiaivc</dc:creator>
      <dc:date>2021-06-01T15:35:13Z</dc:date>
    </item>
    <item>
      <title>Re:Enclave remote attestation from dll</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1286652#M4640</link>
      <description>&lt;P&gt;Hello nadia111,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;In theory, it is possible to do what you want. While I cannot tell you exactly how to create your DLL solution from the sgx-ra-sample, I can guide you on what to look for.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Ensure that...&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;A href="https://www.intel.com/content/www/us/en/support/articles/000058282/software/intel-security-products.html" rel="noopener noreferrer" target="_blank" style="font-size: 9.75pt; font-family: &amp;quot;Salesforce Sans&amp;quot;;"&gt;Install the latest PSW components&lt;/A&gt;&lt;SPAN style="font-size: 9.75pt; font-family: &amp;quot;Salesforce Sans&amp;quot;;"&gt;.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 9.75pt;"&gt;You can successfully run the sgx-ra-sample as-is.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 9.75pt;"&gt;Pass the correct arguments from the run-client script.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.75pt;"&gt;Sincerely,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.75pt;"&gt;Jesus G.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.75pt;"&gt;Intel Customer Support&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 02 Jun 2021 21:37:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1286652#M4640</guid>
      <dc:creator>JesusG_Intel</dc:creator>
      <dc:date>2021-06-02T21:37:10Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Enclave remote attestation from dll</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1286763#M4645</link>
      <description>&lt;P&gt;&lt;FONT style="vertical-align: inherit;"&gt;&lt;FONT style="vertical-align: inherit;"&gt;Hello!&lt;/FONT&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;Yes, it works successfully for sp.exe and client.exe (I wrote all the arguments as constant values ​​in the code (spid, pri api key, ...) - I know it isn't a good idea, but first of all I want my structure to work). How it works:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="nadia111_0-1622702558511.png" style="width: 400px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/17216i181527D7ABA82E7A/image-size/medium/is-moderation-mode/true?v=v2&amp;amp;px=400&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="nadia111_0-1622702558511.png" alt="nadia111_0-1622702558511.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;After that, I changed the client project settings to .dll and injected this dll into hello.exe.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="nadia111_1-1622702943346.png" style="width: 400px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/17217iCE4FB6BBC6AFD8E1/image-size/medium/is-moderation-mode/true?v=v2&amp;amp;px=400&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="nadia111_1-1622702943346.png" alt="nadia111_1-1622702943346.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="nadia111_0-1622707347283.png" style="width: 400px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/17218i15DE2A2B911738B2/image-size/medium/is-moderation-mode/true?v=v2&amp;amp;px=400&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="nadia111_0-1622707347283.png" alt="nadia111_0-1622707347283.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I also tried to avoid sgx_get_extended_epid_group_id (): sgx_get_extended_epid_group_id () always returns 0 for msg0_extended_epid_group_id, so I set this variable to a constant value = 0, but in this situation my program stops working on the next sgx function sgx_ra_get_msg1()&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Jun 2021 08:02:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1286763#M4645</guid>
      <dc:creator>nadiaivc</dc:creator>
      <dc:date>2021-06-03T08:02:42Z</dc:date>
    </item>
    <item>
      <title>Re:Enclave remote attestation from dll</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1287013#M4647</link>
      <description>&lt;P&gt;Hi Nadia, I'm not familiar with LoadLibrary. Is there any way to do this without LoadLibrary?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Sincerely,&lt;/P&gt;&lt;P&gt;Jesus G.&lt;/P&gt;&lt;P&gt;Intel Customer Support&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 03 Jun 2021 21:11:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1287013#M4647</guid>
      <dc:creator>JesusG_Intel</dc:creator>
      <dc:date>2021-06-03T21:11:58Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Enclave remote attestation from dll</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1287102#M4648</link>
      <description>&lt;P&gt;Yes, I will try to use some injectors with different ways to inject dll&lt;BR /&gt;But LoadLibrary is the only one documented and&amp;nbsp;"legal" method from all of them&lt;/P&gt;</description>
      <pubDate>Fri, 04 Jun 2021 06:40:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1287102#M4648</guid>
      <dc:creator>nadiaivc</dc:creator>
      <dc:date>2021-06-04T06:40:07Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Enclave remote attestation from dll</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1287445#M4653</link>
      <description>&lt;P&gt;Yes! I tried to use ManualMap from Guided Hacking injector and it works good! But anyway I don't know why it doesn't work with LoadLibrary. If I find the answer, I will write about it.&lt;/P&gt;</description>
      <pubDate>Sat, 05 Jun 2021 11:15:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1287445#M4653</guid>
      <dc:creator>nadiaivc</dc:creator>
      <dc:date>2021-06-05T11:15:53Z</dc:date>
    </item>
    <item>
      <title>Re: Enclave remote attestation from dll</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1287744#M4654</link>
      <description>&lt;P&gt;Hi Nadia,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm not an expert in DLL linking, and it is beyond the scope of SGX support, but it seems that you are trying to use run-time dynamic linking vs load-time dynamic linking. I am more familiar with load-time: &lt;A href="https://docs.microsoft.com/en-us/windows/win.32/dlls/load-time-dynamic-linking" target="_blank" rel="noopener"&gt;https://docs.microsoft.com/en-us/windows/win.32/dlls/load-time-dynamic-linking&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With load-time linking, you don't need to do DLL injection.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sincerely,&lt;/P&gt;
&lt;P&gt;Jesus G.&lt;/P&gt;
&lt;P&gt;Intel Customer Support&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Jun 2021 20:34:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1287744#M4654</guid>
      <dc:creator>JesusG_Intel</dc:creator>
      <dc:date>2021-06-07T20:34:21Z</dc:date>
    </item>
    <item>
      <title>Re: Enclave remote attestation from dll</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1288779#M4660</link>
      <description>&lt;P&gt;Yes, I &lt;SPAN&gt;use run-time dynamic linking. I want to inject my enclave in different processes (and I don't want to manipulate someone else's .exe code). So I think injection is a good&amp;nbsp;decision for me in this situation, but I'm not sure&amp;nbsp;because I don't have much experience...&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Jun 2021 13:59:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1288779#M4660</guid>
      <dc:creator>nadiaivc</dc:creator>
      <dc:date>2021-06-10T13:59:55Z</dc:date>
    </item>
    <item>
      <title>Re:Enclave remote attestation from dll</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1288872#M4661</link>
      <description>&lt;P&gt;Hello Nadia,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Run time loading of enclave DLLs is possible as we have many customers doing this. Since this is not an SGX limitation, I'm not sure how else to help you. You may be better served by seeking advice on Windows DLL loading from other forums such as StackOverflow.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Sincerely,&lt;/P&gt;&lt;P&gt;Jesus G.&lt;/P&gt;&lt;P&gt;Intel Customer Support&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 10 Jun 2021 20:08:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1288872#M4661</guid>
      <dc:creator>JesusG_Intel</dc:creator>
      <dc:date>2021-06-10T20:08:02Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Enclave remote attestation from dll</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1288909#M4662</link>
      <description>&lt;P&gt;Yes, I'm not sure why the solution with LoadLibrary doesn't work. And yes, I know it is out of the scope of discussion on this forum, so if I don’t figure it out, I’ll ask the question on other forums.&lt;BR /&gt;But anyway I found the solution how to run my DLL in the way I want.&amp;nbsp;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt; I guess I had to close this topic in the time I found the solution... Sorry!&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;Thank you for your time!&amp;nbsp;&lt;SPAN&gt;I appreciate it!&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jun 2021 00:00:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1288909#M4662</guid>
      <dc:creator>nadiaivc</dc:creator>
      <dc:date>2021-06-11T00:00:34Z</dc:date>
    </item>
    <item>
      <title>Re:Enclave remote attestation from dll</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1288911#M4663</link>
      <description>&lt;P&gt;I'm glad you found a solution that works for you, Nadia.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;B&gt;This thread has been marked as answered and Intel will no longer monitor this thread. If you want a response from Intel in a follow-up question, please open a new thread.&lt;/B&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 11 Jun 2021 00:32:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1288911#M4663</guid>
      <dc:creator>JesusG_Intel</dc:creator>
      <dc:date>2021-06-11T00:32:36Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Enclave remote attestation from dll</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1289314#M4666</link>
      <description>&lt;P&gt;I have uploaded the complete code to the github (&lt;A href="https://github.com/nadiaivc/LoadSGXenclaveInProcess" target="_blank"&gt;https://github.com/nadiaivc/LoadSGXenclaveInProcess&lt;/A&gt;). I hope this can help someone!!&lt;/P&gt;</description>
      <pubDate>Sat, 12 Jun 2021 14:34:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Enclave-remote-attestation-from-dll/m-p/1289314#M4666</guid>
      <dc:creator>nadiaivc</dc:creator>
      <dc:date>2021-06-12T14:34:20Z</dc:date>
    </item>
  </channel>
</rss>

