Condividi tramite


Panoramica dell'OID

L'estendibilità viene ottenuta fornendo l'uso di nuovi identificatori di oggetto (OID), nuovi tipi di codifica e nuove DLL.

Gli OID CryptoAPI possono accettare una delle seguenti forme:

  • Stringa numerica, ad esempio "1.2.3.500.88"
  • Stringa alfanumerica, ad esempio MyFunction
  • Costante con un valore minore o uguale a 0xFFFF. Queste costanti sono spesso associate a un nome tramite l'uso di un'istruzione #define in un file di intestazione.

Le funzioni estendibili accettano argomenti del tipo di codifica e OID. Queste funzioni esequisino nel Registro di sistema per trovare una DLL associata all'OID e agli argomenti del tipo di codifica passati alla funzione. Se viene trovata una DLL per l'OID, viene trovata una combinazione di tipi di codifica, la DLL viene caricata e viene chiamata la relativa funzione. La figura seguente mostra questo flusso per la funzione CryptEncodeObject :

Flusso oid

In questo modo è possibile estendere la funzionalità di CryptoAPI man mano che si verifica la necessità. L'uso di questa metodologia impone allo sviluppatore della nuova funzionalità di scrivere tutto il codice necessario per tale funzionalità. Per codificare una nuova struttura di dati, ad esempio, la funzione nella DLL deve eseguire l'intero processo di codifica.