ID de l'article: 000059438 Type de contenu: Information et documentation de produit Dernière révision: 23/07/2021

Impossible d’appeler Intel® Software Guard Extensions code enclave (Intel® SGX) à partir de la DLL (Untrusted Dynamic-Link Library)

Environnement

windows1032bit, windows1064bit

BUILT IN - ARTICLE INTRO SECOND COMPONENT
En bref

Comment créer une DLL qui appelle code enclave à l’aide de Visual Studio*

Descriptif
  • Bibliothèque de liaison dynamique (DLL) créée qui contient du code faux et tente d’appeler une enclave.
  • Le thread DLL nontrusté obtient l’erdexcer lors de l’sgx_create_enclave().
Résolution
  1. Créez un projet de DLL dans Visual Studio* comme décrit dans Walkthrough : créez et utilisez votre propre bibliothèque dynamic link (C++)
  2. Collez le code des fichiers C:\Program (x86)\Intel\Intel\IntelSGXSDK\src\SampleEntoute\App\App.cpp dans le point d’entrée du fichier source DLL.
  3. Copiez les paramètres du projet à partir de fichiers C:\Program (x86)\Intel\IntelSGXSDK\src\SampleEntoute\App.
  4. Dans le fichier d’en-tête de la DLL, exporter les appels de l’enclave en utilisant l’exemple à l’étape 4 de la passapport : créez et utilisez votre propre bibliothèque de liaison dynamique (C+++)
  5. Suivez le Guide de référence des développeurs Intel SGX pour Windows pour ajouter le projet Sample Enclave à partir de fichiers C:\Program (x86)\Intel\Intel\IntelSGXSDK\src\SampleEnunee\Enclave dans la solution de Visual Studio.
  6. Compilez et reliez la solution.
  7. Créez un autre projet exécutable qui relie les fichiers .lib pour la DLL nontrus et la DLL de l’enclave.
  8. Collez les LDL de l’enclavetrus et signés dans le même répertoire que le DLLs exécutable.

Produits associés

Cet article concerne 1 produits

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.