Intel® Software Guard Extensions (Intel® SGX)
Discussion board focused on hardware-based isolation and memory encryption to provide extended code protection in solutions.
1456 Discussions

Running SampleEnclave in Simulation Mode (sgx_urts_simd.dll not found)

wjosh
Beginner
576 Views

Hello, I'm trying to run the Sample Enclave in Simulation Mode, but I get the error that `sgx_urts_simd.dll` is not found.

 

I'm following Getting Started with Intel® Software Guard Extensions SDK for Microsoft* Windows* OS.

 

Here are the steps I took:

- I installed Visual Studio 2019

- Installed the SGX SDK via NuGet

- Opened the SampleEnclave solution within the packages directory

- Ensured the Intel SGX SDK was installed in the solution for both the App and Enclave projects in the solution

- Built the solution

- Set the configuration to "Simulation"

- Selected Debug->Start without debugging

- I get the error.

- I also tried installing the PSW by installing both the base and the other .inf files. The installations show that they succeeded, but I cannot verify that they are in the device manager nor can I verify that the PSW dlls are in the System32 directory.

 

In my setup, I'm using Windows 11 for ARM on Parallels on an M3 mac. Everything seems to work, and I expect it should work in Simulation mode since it's not a machine with SGX enabled.

 

Josh

0 Kudos
1 Solution
wjosh
Beginner
513 Views

I figured it out. The documentation is weird. Now that it's a Nuget package, the optional process of creating a local or system-wide installation from the nuget package is really necessary.

So,  you need to extract the .nupkg to C:\LocalNugetPackages, and set the SGXSDKInstallPath and PATH environment variables as mentioned later in `documents\Intel SGX Installation Guide for Windows OS.pdf`.

Now, when I select the Simulation configuration, and select Debug > Start Without Debugging, I get the expected program output:

Checksum(0x0x76fb98, 100) = 0xfffd4143
Info: executing thread synchronization, please wait...
Info: SampleEnclave successfully returned.
Enter a character before exit ...

View solution in original post

0 Kudos
3 Replies
Aznie_Intel
Moderator
541 Views

Hi Wjosh,


Thanks for reaching out to us.

We are checking it with the relevant team and we'll update you as soon as possible.



Regards,

Aznie



0 Kudos
wjosh
Beginner
514 Views

I figured it out. The documentation is weird. Now that it's a Nuget package, the optional process of creating a local or system-wide installation from the nuget package is really necessary.

So,  you need to extract the .nupkg to C:\LocalNugetPackages, and set the SGXSDKInstallPath and PATH environment variables as mentioned later in `documents\Intel SGX Installation Guide for Windows OS.pdf`.

Now, when I select the Simulation configuration, and select Debug > Start Without Debugging, I get the expected program output:

Checksum(0x0x76fb98, 100) = 0xfffd4143
Info: executing thread synchronization, please wait...
Info: SampleEnclave successfully returned.
Enter a character before exit ...

0 Kudos
Aznie_Intel
Moderator
467 Views

Hi Wjosh,

 

I apologize for the delay in response. I am glad that your issue is resolved and thanks for sharing your resolution in this community. Your sharing will help others communities with the same issue as you.

 

On another note, the issue might also happen due to Intel® Software Guard Extensions (Intel® SGX) activation utility and Intel SGX Platform Software (PSW) is not enabled in Windows. Below are the steps to enable it.

 

  1. Download and install the Intel® Software Guard Extensions Activation App from the Microsoft Store.
  2. Run the app to enable SGX in the BIOS.
  3. Reboot.
  4. Check that SGX is Enabled in BIOS.
  5. When the OS boots, run Windows Update to install the SGX PSW.
  6. Run your apps

 

This thread will no longer be monitored since this issue has been resolved. If you need any additional information from Intel, please submit a new question.



Regards,

Aznie


0 Kudos
Reply