ID del artículo: 000059438 Tipo de contenido: Información y documentación sobre productos Última revisión: 23/07/2021

No se puede llamar Intel® Software Guard Extensions (Intel® SGX) enclave de la Biblioteca de vínculos dinámicos sin dinámica (DLL)

Entorno

windows1032bit, windows1064bit

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Resumen

Cómo crear un DLL que llame a código de enclave mediante Visual Studio*

Descripción
  • Biblioteca de vínculos dinámicos (DLL) creada que contiene código no confiable e intenta realizar llamadas a un enclave.
  • El subproceso DLL sin desenlazarse se atasca al llamar sgx_create_enclave().
Resolución
  1. Crear un proyecto DLL en Visual Studio* como se describe en Tutorial: Crear y utilizar su propia biblioteca de vínculos dinámicos (C++)
  2. Pegar código de C:\Archivos de programa (x86)\Intel\Intel\IntelSGXSDK\src\SampleEnclave\App\App.cpp en el punto de entrada del archivo fuente del DLL.
  3. Copie la configuración del proyecto de C:\Archivos de programa (x86)\Intel\IntelSGXSDK\src\SampleEnclave\App.
  4. En el archivo de encabezado del DLL, exporte las llamadas de enclave utilizando el ejemplo del paso 4 de Tutorial: Crear y utilizar su propia biblioteca de enlaces dinámicos (C++)
  5. Siga la Guía de referencia para desarrolladores de Intel SGX para Windows para agregar el proyecto Sample Enclave de C:\Program Files (x86)\Intel\Intel\IntelSGXSDK\src\SampleEnclave\Enclave a la solución de Visual Studio.
  6. Compile y vincule la solución.
  7. Cree otro proyecto ejecutable que vincula los archivos .lib para el DLL no ejecutable y el DLL de enclave.
  8. Pegar las DLL de enclave no ejecutable y firmadas en el mismo directorio que el archivo ejecutable.

Productos relacionados

Este artículo se aplica a 1 productos

El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.