Bibliotecas estándar C++ no compatibles en enclaves Intel® SGX
¿Por qué no es posible utilizar std::stringstream en un enclave?
Stringstream forma parte de wh Intel SGX no es compatible. La Guía de referencia para desarrolladores de SDK de Intel SGX indica lo siguiente:
"En cuanto a la biblioteca estándar de C++, la mayoría de las funciones funcionarán como su homólogo no autorizado, pero aquí hay un resumen de alto nivel de características que no son compatibles dentro del enclave:
- Clases y funciones relacionadas con E/S, como ;
- Funciones según una biblioteca de configuración regional;
- Cualquier otra función que requiera llamadas al sistema."
La sección Clases y funciones estándar de C++ no admitidas contiene una tabla, titulada Biblioteca de entrada/salida, en la que iostream aparece como no compatible.
Como solución alternativa para acceder a las funciones de iostream dentro de un enclave, cree un oconferencio que llame a las funciones de iostream en la aplicación un apta en nombre del enclave. En el ejemplo SampleEnclave en SGX Software Development Kit (SGX SDK) se muestra cómo implementar un o persuasión para el uso de printf en un enclave.