Richiesta di una connessione crittografata a uno spazio dei nomi

È possibile richiedere che gli script client e le applicazioni stabilisca una connessione crittografata per l'autenticazione aggiungendo il qualificatore RequireEncryption al file MOF (Managed Object Format) che crea lo spazio dei nomi.

Una connessione crittografata a uno spazio dei nomi WMI specifica RPC_C_AUTHN_LEVEL_PKT_PRIVACY (o PktPrivacy in uno script) per l'autenticazione. Il qualificatore RequiresEncryption causa il rifiuto di eventuali richieste di dati in ingresso, a meno che non usino in modo esplicito l'autenticazione crittografata. Per altre informazioni, vedere Impostazione del livello di sicurezza del processo predefinito tramite VBScript o Impostazione dell'autenticazione tramite C++.

È anche possibile modificare uno spazio dei nomi esistente aggiungendo questo attributo e quindi compilare di nuovo il file MOF. RichiedeEncryption viene usato in MOF con l'istruzione preprocessore dello spazio dei nomi pragma .

La procedura seguente imposta lo spazio dei nomi per richiedere una connessione crittografata.

Per impostare la crittografia richiesta

  1. Creare un file MOF (Managed Object Format) o modificare il file MOF esistente che definisce lo spazio dei nomi.

    Nell'esempio di codice seguente viene illustrato lo spazio dei nomi che verrà modificato è root\MyNamespace e il file è denominato MyNamespace_security.mof. RichiedeEncryption ha un tipo di dati booleano in modo che sia impostato su True o False.

    #pragma namespace("\\\\.\\Root\\MyNamespace") 
    
    [RequiresEncryption(TRUE)] 
    instance of __systemSecurity { };
    
  2. Eseguire mofcomp.exe per compilare il file MOF.

    c:\mofcomp MyNamespace_security.mof

    In C++usare i metodi IMoFCompiler .

WMI rifiuta un client che usa il livello di autenticazione predefinito perché DCOM negozia la sicurezza al livello richiesto dal processo SVCHOST in cui è in esecuzione il servizio WMI. Per altre informazioni sugli host del servizio, vedere Hosting e sicurezza del provider. Per altre informazioni sull'impostazione dei livelli di autenticazione durante la connessione agli spazi dei nomi WMI, vedere Impostazione del livello di sicurezza del processo predefinito tramite C++, Impostazione dell'autenticazione tramite C++o Impostazione del livello di sicurezza del processo predefinito tramite VBScript.

Quando si restituiscono dati in una connessione di callback asincrona, WMI restituisce un messaggio di accesso negato al computer richiesto. WMI fa anche una voce di log nel registro eventi NT del computer con lo spazio dei nomi crittografato che indica che non è possibile stabilire una connessione sicura al client.

A partire da Windows Vista, il file WbemCore.log non esiste più. È possibile controllare il registro eventi NT per le voci che indicano le richieste di dati in ingresso rifiutate negli spazi dei nomi che richiedono la crittografia.

Impostazione dei descrittori di sicurezza Namepace

WbemAuthenticationLevelEnum

Protezione di una connessione WMI remota