Comment faire pour affecter un certificat S/MIME à un profil MAPI pour une utilisation avec Outlook

Traductions disponibles Traductions disponibles
Numéro d'article: 312900 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Résumé

Cet article explique comment attribuer par programmation un certificat numérique à un profil MAPI à utiliser avec Microsoft Outlook pour signature numérique et le cryptage du courrier électronique. Cet article traite de la partie MAPI de cette tâche et suppose une connaissance travail des Secure Multipurpose Internet messagerie extensions (S/MIME).

Plus d'informations

Pour attribuer un certificat à un profil MAPI, procédez comme suit :
  1. Obtenez les valeurs de hachage pour les votre certificat de signature et votre certificat de chiffrement. Ces hachages sont au format binaire et peut être récupérés en utilisant la fonction CertGetCertificateContextProperty de l'interface de programmation d'application chiffrement (API):
    CertGetCertificateContextProperty(pCert, CERT_HASH_PROP_ID, *lpbHash, cbHash);
    					
  2. Générer un ASN1-codé S/MIME capacités binaire grand objet (BLOB) pour vos certificats. Pour plus d'informations, consultez le la Comments (RFC) pour que S/MIME.
  3. Créer un objet BLOB pour stocker vos paramètres de sécurité. Chaque paramètre ou la propriété est composée d'une combinaison BALISE/longueur/données comme suit :

    Réduire ce tableauAgrandir ce tableau
    BALISEIndique la propriété (voir ci-dessous).2 octets
    LONGUEURIndique longueur total de propriété, y compris balise et la longueur des octets.2 octets
    DONNÉESContient les données.Longueur variable

    Voici un exemple :
    0100 0800 01000000
    Translated:
    TAG = 1
    LENGTH = 8 bytes
    DATA = 1
    						
    ici sont les propriétés que vous devez inclure dans le BLOB :

    Réduire ce tableauAgrandir ce tableau
    PropriétéValeur numériqueLongueurDescription
    PR_CERT_PROP_VERSION0x00018Réservé toujours 1.
    PR_CERT_MESSAGE_ENCODING0x00068Type de codage (S/MIME = 1).
    PR_CERT_DEFAULTS0x00208Masque de bits :
    0 x 1 = certificat par défaut pour S/MIME.
    0 x 2 = certificat par défaut pour tous les formats.
    0 x 4 = certificats envoyer avec un message.
    PR_CERT_DISPLAY_NAME_A0x000BVariableAfficher nom de paramètre dans interface utilisateur Outlook (par exemple, « mes S/MIME paramètres »).
    PR_CERT_KEYEX_SHA1_HASH0x0022VariableBinaire de hachage de certificat de chiffrement. Cette propriété peut être omise si vous souhaitez autoriser la signature uniquement.
    PR_CERT_SIGN_SHA1_HASH0x0009VariableHachage binaire de la signature de certificat.
    PR_CERT_ASYMETRIC_CAPS0x0002VariableASN1-codé S/MIME capacités BLOB.

    Notez que les propriétés sont toutes stockées dans un flux continu d'octets.
  4. Utilisez l'interface IProfAdmin pour ouvrir le profil MAPI.
  5. Ouvrez la section profil GUID_Dilkie, où les paramètres de sécurité sont stockés. Définir GUID_Dilkie comme suit :
    const GUID CDECL GUID_Dilkie = {  0x53bc2ec0, 0xd953, 0x11cd, {0x97, 0x52, 0x00, 0xaa, 0x00, 0x4a, 0xe4, 0x0e}  };
    					
  6. L'étape 5 offre une interface IProfSect . Sur cette interface, définissez la propriété suivante :
    #define PR_SECURITY_PROFILES PROP_TAG(PT_MV_BINARY, 0x355)
    						
    cette propriété soit une propriété binaire à plusieurs valeurs. Vous devez définir la première valeur binaire sur la propriété avec le BLOB que vous avez créé à l'étape 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;
    }
    					

Propriétés

Numéro d'article: 312900 - Dernière mise à jour: jeudi 25 août 2005 - Version: 2.5
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Outlook 2000 Standard
  • Microsoft Outlook 2002 Standard
  • Microsoft Messaging Application Programming Interface
Mots-clés : 
kbmt kbhowto kbmsg KB312900 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 312900
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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