Inicialización del administrador de firmas
En este tema, se describe cómo inicializar el administrador de firmas para su uso con un documento XPS.
Antes de usar los siguientes ejemplos de código en el programa, lea la declinación de responsabilidades en Tareas comunes de programación de firmas digitales.
Para usar las características de Windows 7 de la API Crypto, defina el símbolo CRYPT_OID_INFO_HAS_EXTRA_FIELDS, como se indica a continuación:
#define CRYPT_OID_INFO_HAS_EXTRA_FIELDS
A continuación, cree una instancia de una interfaz IXpsSignatureManager al llamar a CoCreateInstance, como se muestra en el ejemplo de código siguiente.
IXpsSignatureManager *newInterface;
// Note the implicit requirement that CoInitializeEx
// has previously been called from this thread.
hr = CoCreateInstance(
__uuidof(XpsSignatureManager),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IXpsSignatureManager),
reinterpret_cast<LPVOID*>(&newInterface));
// make sure that you got a pointer
// to the interface
if (SUCCEEDED(hr)) {
// Load document into signature manager from file.
// xpsDocument is initialized with the file name
// of the document to load outside of this example.
hr = newInterface->LoadPackageFile (xpsDocument);
// Use newInterface
// Release interface pointers when finished with them
newInterface->Release();
}
Solo un documento XPS puede usar la interfaz creada por CoCreateInstance, que debe cargarse al llamar a LoadPackageFile o LoadPackageStream antes de llamar a cualquier otro método.
Después de crear una instancia de la interfaz IXpsSignatureManager y se ha cargado un documento XPS, el administrador de firmas estará listo para su uso.
Temas relacionados
-
Pasos siguientes
-
Usado en esta sección
-
Para obtener más información