Een S/MIME-certificaat toewijzen aan een MAPI-profiel voor gebruik met Outlook

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 312900 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Samenvatting

Dit artikel wordt beschreven hoe u programmatisch een digitaal certificaat toewijzen aan een MAPI-profiel voor gebruik met Microsoft Outlook voor het digitaal ondertekenen en coderen van e-mail. Dit artikel adressen van het MAPI-gedeelte van deze taak en neemt kennis van de Secure Multipurpose Internet Messaging Extensions (S/MIME).

Meer informatie

Een certificaat toewijzen aan een MAPI-profiel, gaat u als volgt te werk:
  1. De hashes voor uw handtekening certificaat en uw versleutelingscertificaat ophalen. Deze hashes worden in binaire indeling en kunnen worden opgehaald met behulp van deCertGetCertificateContextProperty isfunctie van de Cryptography application programming interface (API):
    CertGetCertificateContextProperty(pCert, CERT_HASH_PROP_ID, *lpbHash, cbHash);
    					
  2. Een S/MIME ASN1-gecodeerde mogelijkheden binary large object (BLOB) voor uw certificaten genereren. Zie voor meer informatie de Request for Comments (RFC) voor S/MIME.
  3. Een BLOB voor uw beveiligingsinstellingen maken. Elke instelling of eigenschap bestaat uit een combinatie van lengte-TAG/gegevens als volgt:

    Deze tabel samenvouwenDeze tabel uitklappen
    LABELDe eigenschap geeft (Zie onderstaande lijst).2 bytes
    LENGTETotale lengte van de eigenschap, inclusief code en lengte bytes aangeeft.2 bytes
    GEGEVENSDe gegevens bevat.Variabele lengte

    Hier volgt een voorbeeld:
    0100 0800 01000000
    Translated:
    TAG = 1
    LENGTH = 8 bytes
    DATA = 1
    						
    Hier zijn de eigenschappen die u in de BLOB opnemen moet:

    Deze tabel samenvouwenDeze tabel uitklappen
    EigenschapNumerieke waardeLengteBeschrijving
    PR_CERT_PROP_VERSION0x00018Gereserveerd altijd 1.
    PR_CERT_MESSAGE_ENCODING0x00068Type codering (S/MIME = 1).
    PR_CERT_DEFAULTS0x00208Bit masker:
    0x1 = standaard certificaat voor S/MIME.
    0x2 = standaard certificaat voor alle bestands indelingen.
    0x4 = certificaat met bericht verzenden.
    PR_CERT_DISPLAY_NAME_A0x000BVariabeleNaam van instelling in de gebruikersinterface van Outlook (bijvoorbeeld "Mijn S/MIME-instellingen') weer gegeven.
    PR_CERT_KEYEX_SHA1_HASH0x0022VariabeleBinaire hash voor versleutelingscertificaat. Deze eigenschap kan worden wegge laten als u wilt toestaan alleen ondertekenen.
    PR_CERT_SIGN_SHA1_HASH0x0009VariabeleBinaire hash voor het handtekening certificaat.
    PR_CERT_ASYMETRIC_CAPS0x0002VariabeleASN1-gecodeerde S/MIME-functionaliteit BLOB.

    Houd er rekening mee dat de eigenschappen van alle worden opgeslagen in één doorlopende byte stroom.
  4. Gebruik deIProfAdmininterface voor het openen van het MAPI-profiel.
  5. Open de profielsectie van GUID_Dilkie, waarin de beveiligingsinstellingen worden opgeslagen. GUID_Dilkie als volgt gedefinieerd:
    const GUID CDECL GUID_Dilkie = {  0x53bc2ec0, 0xd953, 0x11cd, {0x97, 0x52, 0x00, 0xaa, 0x00, 0x4a, 0xe4, 0x0e}  };
    					
  6. Stap 5 kunt u eenIProfSectinterface. Op deze interface, stelt u de volgende eigenschap:
    #define PR_SECURITY_PROFILES PROP_TAG(PT_MV_BINARY, 0x355)
    						
    Deze eigenschap is een binaire eigenschap met meerdere waarden. De eigenschap met de label die u in stap 3 hebt gemaakt, moet u de eerste binaire waarde instellen.
    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;
    }
    					

Eigenschappen

Artikel ID: 312900 - Laatste beoordeling: maandag 28 februari 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Messaging Application Programming Interface
Trefwoorden: 
kbhowto kbmsg kbmt KB312900 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:312900

Geef ons feedback

 

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