Με τον τρόπο για να αντιστοιχίσετε ένα πιστοποιητικό S/MIME σε ένα προφίλ MAPI για χρήση με το Outlook

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 312900 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Περίληψη

Αυτό το άρθρο επιδεικνύει τον τρόπο αντιστοίχισης μέσω προγραμματισμού ένα ψηφιακό πιστοποιητικό για ένα προφίλ MAPI για χρήση με το Microsoft Outlook για την ψηφιακή υπογραφή και την κρυπτογράφηση ηλεκτρονικού ταχυδρομείου. Αυτό το άρθρο αντιμετωπίζει το MAPI μέρος αυτής της εργασίας και προϋποθέτει των Secure πολλαπλών χρήσεων Internet Messaging Extensions (S/MIME).

Περισσότερες πληροφορίες

Για να αντιστοιχίσετε ένα πιστοποιητικό σε ένα προφίλ MAPI, ακολουθήστε τα εξής βήματα:
  1. Αποκτήστε τα κλειδιά κατακερματισμού για το πιστοποιητικό υπογραφής και το πιστοποιητικό κρυπτογράφησής σας. Αυτά τα κλειδιά κατακερματισμού είναι σε δυαδική μορφή, και μπορεί να ανακτηθεί με τη χρήση τουCertGetCertificateContextPropertyσυνάρτηση από τη διασύνδεση προγραμματισμού εφαρμογών (API) κρυπτογράφησης:
    CertGetCertificateContextProperty(pCert, CERT_HASH_PROP_ID, *lpbHash, cbHash);
    					
  2. Δημιουργία κωδικοποίησης ASN1 S/MIME δυνατότητες δυαδικό μεγάλο αντικείμενο (BLOB) για τα πιστοποιητικά. Για περισσότερες πληροφορίες, δείτε το Request for Comments (RFC) για S/MIME.
  3. Δημιουργήστε μια BLOB για τη διατήρηση των ρυθμίσεων ασφαλείας. Κάθε ρύθμιση ή ιδιότητα αποτελείται από ένα συνδυασμό ΔΕΔΟΜΈΝΩΝ/ΜΉΚΟΥΣ/Ετικετών ως εξής:

    Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
    ΕΤΙΚΈΤΑΔείχνει την ιδιότητα (δείτε την παρακάτω λίστα).2 byte
    Μήκος (Length)Δηλώνει το συνολικό μήκος της ιδιότητας, συμπεριλαμβανομένων των ετικετών και το μήκος byte.2 byte
    DATAΠεριέχει τα δεδομένα.Μεταβλητού μήκους

    Ακολουθεί ένα παράδειγμα:
    0100 0800 01000000
    Translated:
    TAG = 1
    LENGTH = 8 bytes
    DATA = 1
    						
    Ακολουθούν οι ιδιότητες που πρέπει να συμπεριλάβετε στο BLOB σας:

    Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
    ΙδιότηταΑριθμητική τιμήΜήκος (Length)Περιγραφή
    PR_CERT_PROP_VERSION0x00018Δεσμευμένος, πάντα 1.
    PR_CERT_MESSAGE_ENCODING0x00068Ο τύπος κωδικοποίησης (S/MIME = 1).
    PR_CERT_DEFAULTS0x00208Δυαδικής μάσκας:
    0x1 = προεπιλεγμένο πιστοποιητικό για S/MIME.
    0x2 = προεπιλεγμένο πιστοποιητικό για όλες τις μορφές.
    0x4 = αποστολής του πιστοποιητικού με το μήνυμα.
    PR_CERT_DISPLAY_NAME_A0x000BΜεταβλητήΕμφανίζει το όνομα της ρύθμισης στο περιβάλλον χρήστη του Outlook (για παράδειγμα, "S/MIME ρυθμίσεις μου").
    PR_CERT_KEYEX_SHA1_HASH0x0022ΜεταβλητήΔυαδικό κατακερματισμού για το πιστοποιητικό κρυπτογράφησης. Αυτή η ιδιότητα μπορεί να παραληφθεί, εάν θέλετε να επιτρέπεται μόνο η υπογραφή.
    PR_CERT_SIGN_SHA1_HASH0x0009ΜεταβλητήΔυαδικό κατακερματισμού για το πιστοποιητικό υπογραφής.
    PR_CERT_ASYMETRIC_CAPS0x0002ΜεταβλητήΚωδικοποίησης ASN1 S/MIME δυνατότητες BLOB.

    Σημειώστε ότι οι ιδιότητες όλα αποθηκεύονται σε μία ροή byte συνεχή.
  4. Χρήση τουIProfAdminπεριβάλλον εργασίας για το άνοιγμα του προφίλ MAPI.
  5. Ανοίξτε την ενότητα προφίλ GUID_Dilkie, όπου αποθηκεύονται οι ρυθμίσεις ασφαλείας. Προσδιορισμός GUID_Dilkie ως εξής:
    const GUID CDECL GUID_Dilkie = {  0x53bc2ec0, 0xd953, 0x11cd, {0x97, 0x52, 0x00, 0xaa, 0x00, 0x4a, 0xe4, 0x0e}  };
    					
  6. Βήμα 5 σάς παρέχει μιαIProfSectΔιασύνδεση. Σε αυτήν τη διασύνδεση, ορίστε την ιδιότητα παρακάτω:
    #define PR_SECURITY_PROFILES PROP_TAG(PT_MV_BINARY, 0x355)
    						
    Αυτή η ιδιότητα είναι δυαδική ιδιότητα πολλαπλών τιμών. Πρέπει να ορίσετε την πρώτη δυαδική τιμή στην ιδιότητα με το BLOB που δημιουργήσατε στο βήμα 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;
    }
    					

Ιδιότητες

Αναγν. άρθρου: 312900 - Τελευταία αναθεώρηση: Τρίτη, 28 Σεπτεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Messaging Application Programming Interface
Λέξεις-κλειδιά: 
kbhowto kbmsg kbmt KB312900 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:312900

Αποστολή σχολίων

 

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