Assegnazione di un certificato S/MIME a un profilo MAPI per l'utilizzo con Outlook

Traduzione articoli Traduzione articoli
Identificativo articolo: 312900 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

Sommario

In questo articolo viene illustrato come assegnare a livello di programmazione di un certificato digitale a un profilo MAPI da utilizzare con Microsoft Outlook per la firma digitale e crittografia della posta elettronica. In questo articolo risolve la parte MAPI per questa attivitÓ e si presuppone una conoscenza pratica di Secure Multipurpose Internet Messaging Extensions (S/MIME).

Informazioni

Per assegnare un certificato a un profilo MAPI, attenersi alla seguente procedura:
  1. Consente di ottenere gli hash per sia il certificato di firma che il certificato di crittografia. Questi hash sono in formato binario e pu˛ essere recuperati utilizzando la funzione CertGetCertificateContextProperty delle Cryptography application programming interface (API):
    CertGetCertificateContextProperty(pCert, CERT_HASH_PROP_ID, *lpbHash, cbHash);
    					
  2. Consente di generare un S/MIME con codifica ASN1 funzionalitÓ binario oggetto grandi dimensioni (BLOB) per i certificati. Per ulteriori informazioni, vedere il Request for Comments (RFC) per S/MIME.
  3. Creare un BLOB per contenere le impostazioni di protezione. Ciascuna impostazione o la proprietÓ costituito da una combinazione di TAG, lunghezza/DATA come indicato di seguito:

    Riduci questa tabellaEspandi questa tabella
    TAGIndica la proprietÓ (vedere l'elenco riportato di seguito).2 byte
    LUNGHEZZAIndica lunghezza totale della proprietÓ, inclusi i tag e la lunghezza di byte.2 byte
    DATIContiene i dati.Lunghezza variabile

    Di seguito Ŕ riportato un esempio:
    0100 0800 01000000
    Translated:
    TAG = 1
    LENGTH = 8 bytes
    DATA = 1
    						
    qui sono le proprietÓ che Ŕ necessario includere il BLOB:

    Riduci questa tabellaEspandi questa tabella
    ProprietÓValore numericoLunghezzaDescrizione
    PR_CERT_PROP_VERSION0 x 00018Riservato, sempre 1.
    PR_CERT_MESSAGE_ENCODING0x00068Tipo di codifica (S/MIME = 1).
    PR_CERT_DEFAULTS0x00208Maschera di bit:
    0 x 1 = certificato predefinito per S/MIME.
    0 x 2 = certificato predefinito per tutti i formati.
    0 x 4 = certificato di invio con un messaggio.
    PR_CERT_DISPLAY_NAME_A0x000BVariabileNome dell'impostazione visualizzato nell'interfaccia utente di Outlook (ad esempio, "S/MIME impostazioni").
    PR_CERT_KEYEX_SHA1_HASH0x0022VariabileBinario hash certificato di crittografia. Questa proprietÓ pu˛ essere omesso se si desidera consentire solo la firma.
    PR_CERT_SIGN_SHA1_HASH0 x 0009VariabileBinario hash per il certificato di firma.
    PR_CERT_ASYMETRIC_CAPS0 x 0002VariabileCon codifica ASN1 funzionalitÓ S/MIME BLOB.

    Si noti che le proprietÓ sono tutti memorizzate in un flusso continuo di byte.
  4. Utilizzare l'interfaccia IProfAdmin per aprire il profilo MAPI.
  5. Aprire la sezione del profilo GUID_Dilkie, in cui le impostazioni di protezione sono memorizzate. Definire GUID_Dilkie come illustrato di seguito:
    const GUID CDECL GUID_Dilkie = {  0x53bc2ec0, 0xd953, 0x11cd, {0x97, 0x52, 0x00, 0xaa, 0x00, 0x4a, 0xe4, 0x0e}  };
    					
  6. Passaggio 5 consente di ottenere un'interfaccia IProfSect . Su questa interfaccia, impostare la seguente proprietÓ:
    #define PR_SECURITY_PROFILES PROP_TAG(PT_MV_BINARY, 0x355)
    						
    questa proprietÓ Ŕ una proprietÓ binaria multivalore. Il primo valore binario Ŕ necessario impostare la proprietÓ con il BLOB creato nel passaggio 3.
    LPPROFSECT          lpProfSect = NULL;
    SPropValue          SecProp;
    LPSPropValue        lpSecProp = &SecProp;
    SBinary             sbCert;
    LPBYTE              lpbCertBlob = NULL;
    ULONG               cbCertBlob = 0;
    
    // Do the work to generate lpbCertBlob (step 3) and open GUID_Dilkie profile section.
    
    // Set up property tag structure for PR_SECURITY_PROFILES.
    SecProp.ulPropTag = PR_SECURITY_PROFILES;
    SecProp.Value.MVbin.cValues = 1;
    SecProp.Value.MVbin.lpbin = &sbCert;
    SecProp.Value.MVbin.lpbin[0].cb = cbCertBlob;
    SecProp.Value.MVbin.lpbin[0].lpb = lpbCertBlob;
    
    // Set properties on the profile section.
    if (FAILED(hRes = lpProfSect->SetProps(1, lpSecProp, NULL)))
    {
        printf("Error setting property on profile.\n");
        goto error;
    }
    					

ProprietÓ

Identificativo articolo: 312900 - Ultima modifica: giovedý 25 agosto 2005 - Revisione: 2.5
Le informazioni in questo articolo si applicano a:
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Messaging Application Programming Interface
Chiavi:á
kbmt kbhowto kbmsg KB312900 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 312900
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com