Τον τρόπο κλήσης μιας υπηρεσίας Web χρησιμοποιώντας ένα πιστοποιητικό προγράμματος-πελάτη για έλεγχο ταυτότητας σε μια εφαρμογή Web του ASP.NET

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

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο περιγράφει τον τρόπο να περάσει ένα πιστοποιητικό προγράμματος-πελάτη σε μια υπηρεσία Web για τον έλεγχο ταυτότητας από μια εφαρμογή Web του ASP.NET.

ΣΗΜΕΙΩΣΗΤα βήματα αυτού του άρθρου ισχύουν επίσης για όταν κάνετε μια άμεση αίτηση HTTP με χρήση τηςHttpWebRequestη κλάση Εάν δεν έχετε καλέσει μια υπηρεσία Web.

ΕΙΣΑΓΩΓΗ

Συχνά, οι υπηρεσίες Web πρέπει να πιστοποιούνται εφαρμογές που καλούν τις υπηρεσίες Web. Οι υπηρεσίες Web πρέπει να πραγματοποιήσετε ελέγχων ταυτότητας της κλήσης εφαρμογές πριν από τις υπηρεσίες Web μπορούν να εκτελέσουν την εξουσιοδότηση. Μια τεχνική ελέγχου ταυτότητας είναι απαιτούν οι εφαρμογές που καλούν την υπηρεσία Web για να παρουσιάσει ένα πιστοποιητικό προγράμματος-πελάτη.

Όταν μια εφαρμογή Web του ASP.NET προσπαθεί να καλέσει μια υπηρεσία Web που χρησιμοποιεί έλεγχο ταυτότητας πιστοποιητικού, ενδέχεται να λάβετε ένα μήνυμα λάθους "δεν επιτρέπεται η πρόσβαση". Όταν μια εφαρμογή κονσόλας ή μια εφαρμογή Microsoft Windows Forms καλεί την ίδια υπηρεσία Web, δεν λαμβάνετε μήνυμα σφάλματος.

Αυτή η συμπεριφορά προκύπτει επειδή ο υπολογιστής διατηρεί δύο διαφορετικές χώρων αποθήκευσης πιστοποιητικών:
  • Ο χώρος αποθήκευσης του τοπικού υπολογιστή: Μια εφαρμογή Web του ASP.NET που μοιάζει στον συγκεκριμένο χώρο αποθήκευσης, για να εντοπίσετε πιστοποιητικά προγράμματος-πελάτη.
  • Ο χώρος αποθήκευσης τοπικού χρήστη: Μια εφαρμογή Αλληλεπιδραστικός χρήστης πραγματοποιεί αναζήτηση σε αυτόν το χώρο αποθήκευσης για να εντοπίσετε πιστοποιητικά προγράμματος-πελάτη.
Συνήθως, όταν μια εφαρμογή Αλληλεπιδραστικός χρήστης εγκαθιστά ένα πιστοποιητικό προγράμματος-πελάτη, το πιστοποιητικό προγράμματος-πελάτη έχει εγκατασταθεί στο χώρο αποθήκευσης του τοπικού χρήστη. Επομένως, το πιστοποιητικό προγράμματος-πελάτη είναι κατάλληλη για εφαρμογές Αλληλεπιδραστικός χρήστης. Ωστόσο, το πιστοποιητικό προγράμματος-πελάτη δεν λειτουργεί για το ASP.NET Web εφαρμογές.

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

Για να ενεργοποιήσετε μια εφαρμογή Web του ASP.NET για να χρησιμοποιήσετε ένα πιστοποιητικό προγράμματος-πελάτη, πρέπει να εγκαταστήσετε το πιστοποιητικό προγράμματος-πελάτη στο χώρο αποθήκευσης του τοπικού υπολογιστή. Κατά την εγκατάσταση ενός πιστοποιητικού προγράμματος-πελάτη στο χώρο αποθήκευσης του τοπικού υπολογιστή, το πιστοποιητικό προγράμματος-πελάτη είναι μόνο διαθέσιμο για τους λογαριασμούς χρηστών στην ομάδα διαχειριστών και ο χρήστης που εγκατέστησε το πιστοποιητικό προγράμματος-πελάτη. Επομένως, πρέπει να παραχωρήσετε πρόσβαση στο πιστοποιητικό προγράμματος-πελάτη για το λογαριασμό χρήστη που χρησιμοποιείται για να εκτελέσετε την εφαρμογή Web του ASP.NET.

ΣΗΜΕΙΩΣΗΠρέπει να έχετε το Microsoft .NET Framework 1.1 Service Pack 1 (SP1) εγκατεστημένο για να χρησιμοποιήσετε πιστοποιητικά προγραμμάτων-πελατών στο χώρο αποθήκευσης του τοπικού υπολογιστή.

Επιπλέον, όταν η εφαρμογή Web του ASP.NET καλεί την υπηρεσία Web, η εφαρμογή πρέπει να εξαγάγετε το πιστοποιητικό προγράμματος-πελάτη από το χώρο αποθήκευσης πιστοποιητικών και στη συνέχεια να προσθέσετε το πιστοποιητικό προγράμματος-πελάτη της κλήσης υπηρεσίας Web.

Εγκαταστήστε το πιστοποιητικό προγράμματος-πελάτη και να εκχωρήσετε δικαιώματα πρόσβασης για το λογαριασμό χρήστη

Για να εγκαταστήσετε το πιστοποιητικό προγράμματος-πελάτη και να εκχωρήσετε δικαιώματα πρόσβασης για το πιστοποιητικό προγράμματος-πελάτη για το λογαριασμό χρήστη που χρησιμοποιείται για να εκτελέσετε την εφαρμογή Web του ASP.NET, ακολουθήστε τα εξής βήματα.

Βήμα 1: Εγκατάσταση του πιστοποιητικού προγράμματος-πελάτη στο χώρο αποθήκευσης του τοπικού υπολογιστή

Εάν έχετε ένα πιστοποιητικό προγράμματος-πελάτη σε ένα αρχείο PKCS # 12 (.pfx), μπορείτε να χρησιμοποιήσετε το εργαλείο ρύθμισης παραμέτρων Microsoft Windows HTTP υπηρεσιών πιστοποιητικού (WinHttpCertCfg.exe) για να εγκαταστήσετε το πιστοποιητικό προγράμματος-πελάτη και να εκχωρήσετε δικαιώματα πρόσβασης για το πιστοποιητικό προγράμματος-πελάτη για επιπλέον λογαριασμούς όπως στο λογαριασμό Network Service. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα: (Use the tools in the Windows Recovery Environment to repair Windows Vista. To do this, follow these steps:):
  1. Download and then install the Microsoft Windows HTTP Services Certificate Configuration Tool. To obtain the tool, visit the following Microsoft Web site:
    http://www.microsoft.com/downloads/details.aspx?familyid=c42e27ac-3409-40e9-8667-c748e422833f
  2. Run the following command at a command prompt:
    winhttpcertcfg -iPFXFile-c LOCAL_MACHINE\My -a IWAM_TESTMACHINE -pPFXPassword
    ΣΗΜΕΙΩΣΗPfxFileis the name of the .pfx file.PASSWORDis the password for the .pfx file. If the file does not require a password, omit the-pΠαράμετρος.

    Typically, the WinHttpCertCfg.exe file is located in the following folder:
    C:\Program Files\Windows Resource Kits\Tools
If you do not have access to a .pfx file, and you have installed Microsoft Certificate Services on a computer that is running Microsoft Windows Server 2003 or Microsoft Windows 2000 Server, you can request and install the client certificate directly into the local machine store. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα: (Use the tools in the Windows Recovery Environment to repair Windows Vista. To do this, follow these steps:):
  1. Log on to the client computer by using a user account that has administrator credentials.
  2. In Microsoft Internet Explorer, visit the certification authority (CA) Web site. For example, if the CA server is named CAServer, visit the following Web site:
    http://CAServer/certsrv
  3. underSelect a taskΚάντε κλικRequest a certificate, και στη συνέχεια κάντε κλικ στο κουμπίadvanced certificate request.
  4. Κάντε κλικCreate and submit a request to this CA.
  5. ΣτοAdvanced Certificate Requestform, enter a name and an e-mail address.
  6. ΣτοType of Certificate Neededενότητα, κάντε κλικ στο κουμπίClient Authentication Certificate.
  7. ΣτοKey Optionsενότητα, κάντε κλικ για να επιλέξετε τοStore certificate in the local computer certificate storeπλαίσιο ελέγχου και, στη συνέχεια, κάντε κλικ στο κουμπίΥποβολή.

    Note the Request ID for the client certificate.
  8. ΣτοPotential Scripting Violationπαράθυρο διαλόγου, κάντε κλικ στο κουμπίYES.
  9. After the CA has issued the client certificate, clickHome, και στη συνέχεια κάντε κλικ στο κουμπίView the status of a pending certificate request.
  10. underSelect the certificate request you want to view, click the certificate request that you submitted in step 7.
  11. Κάντε κλικInstall this certificate, και στη συνέχεια κάντε κλικ στο κουμπίYESΣτοPotential Scripting Violationπαράθυρο διαλόγου.

Step 2: Configure access to the client certificate

In this step, you must grant permission for the ASP.NET account to access the client certificate that is stored in the local machine store. The Network Service account is the default account for running Web applications on Windows Server 2003. Therefore, you must grant access to the certificate for the Network Service account. If you have configured a custom account to run ASP.NET, you must grant access for the custom account.

ΣΗΜΕΙΩΣΗIn Microsoft Internet Information Server (IIS) 5.0, ASP.NET runs under the ASPNET account and not under the Network Service account. Therefore, you must to grant permissions for the ASPNET account on a computer that is running IIS 5.0.

To grant access for a specific user account, run the following command at a command prompt:
WinHttpCertCfg.exe -g -c LOCAL_MACHINE\MY -s "IssuedToName" -a "AccountName"
ΣΗΜΕΙΩΣΗAccountNameis the name of a local computer account or a domain account.IssuedToNameis the name of the company or domain to which the client certificate was issued. This command contains a case-insensitive search string. The search string finds the first enumerated certificate that has a subject name that contains the string.

The following command-line command is an example of how to grant access to the client certificate for the Network Service account in Microsoft Internet Information Services (IIS) 6.0:
WinHttpCertCfg.exe -g -c LOCAL_MACHINE\MY -s "IssuedToName" -a "NetworkService"
The following command-line command is an example on how to grant access to the client certificate for the ASPNET account in IIS 5.0:
WinHttpCertCfg.exe -g -c LOCAL_MACHINE\MY -s "IssuedToName" -a "ASPNET"
ΣΗΜΕΙΩΣΗWhen you use the Windows HTTP Services Certificate Configuration Tool, you can combine the process of importing the client certificate and the process of configuring access to the client certificate in one step. For example, the following command-line command performs both processes:
Winhttpcertcfg.exe -iPFXFile-c LOCAL_MACHINE\My -a “AccountName

Step 3: Copy the client certificate from the local user store to the local machine store

If an interactive application such as a Windows Forms application or a command-line application can access the client certificate, the client certificate is already stored in the local user store. However, if a service application such as an ASP.NET Web application cannot access the same client certificate, the client certificate may not be stored in the local machine store.

Αυτό το βήμα εξηγεί πώς μπορείτε να αντιγράψετε ένα πιστοποιητικό προγράμματος-πελάτη στο χώρο αποθήκευσης του τοπικού χρήστη στο χώρο αποθήκευσης του τοπικού υπολογιστή, χρησιμοποιώντας τον "Οδηγό εξαγωγής πιστοποιητικού".

ΣΗΜΕΙΩΣΗΕάν το πιστοποιητικό υπολογιστή-πελάτη είναι ήδη στο χώρο αποθήκευσης του τοπικού υπολογιστή ή μπορείτε να εγκαταστήσετε το πιστοποιητικό προγράμματος-πελάτη απευθείας στο χώρο αποθήκευσης του τοπικού υπολογιστή, όπως στο βήμα 1, προχωρήστε στο βήμα 4. Ωστόσο, εάν χρησιμοποιήσετε το βήμα 3, πρέπει να στη συνέχεια επιστρέφει στο βήμα 2, για να εκχωρήσετε δικαιώματα πρόσβασης για το πιστοποιητικό προγράμματος-πελάτη.

Για να αντιγράψετε το πιστοποιητικό προγράμματος-πελάτη για το χώρο αποθήκευσης του τοπικού υπολογιστή, ακολουθήστε τα εξής βήματα:
  1. Κάντε κλικStartΚάντε κλικΕκτέλεσηTYPEMMC, και στη συνέχεια κάντε κλικ στο κουμπίOk.
  2. Στο διακομιστήFILEμενού, κάντε κλικ στο κουμπίΠροσθήκη/Κατάργηση συμπληρωματικού προγράμματος, και στη συνέχεια κάντε κλικ στο κουμπίADD.
  3. ΣτοΠροσθήκη μεμονωμένων συμπληρωματικών προγραμμάτωνπαράθυρο διαλόγου πλαίσιο, κάντε κλικ στο κουμπίΠιστοποιητικά (Certificates)Κάντε κλικADDΚάντε κλικΛογαριασμός υπολογιστήΚάντε κλικΕπόμενο, και στη συνέχεια κάντε κλικ στο κουμπίΦινλανδικά.
  4. ΣτοΠροσθήκη μεμονωμένων συμπληρωματικών προγραμμάτωνπαράθυρο διαλόγου πλαίσιο, κάντε κλικ στο κουμπίΠιστοποιητικά (Certificates)Κάντε κλικADDΚάντε κλικΟ λογαριασμός χρήστη μου, και στη συνέχεια κάντε κλικ στο κουμπίΦινλανδικά.
  5. Κάντε κλικClose (Κλείσιμο), και στη συνέχεια κάντε κλικ στο κουμπίOk.
  6. Για να εξαγάγετε το πιστοποιητικό προγράμματος-πελάτη από το χώρο αποθήκευσης του τοπικού χρήστη, ακολουθήστε τα εξής βήματα:
    1. expandΠιστοποιητικά - Τρέχων χρήστηςexpandΠροσωπικά, και στη συνέχεια κάντε κλικ στο κουμπίΠιστοποιητικά (Certificates).
    2. Κάντε δεξιό κλικ στο πιστοποιητικό προγράμματος-πελάτη, κάντε κλικ στο κουμπίΌλες οι εργασίεςΚάντε κλικΕξαγωγή, και στη συνέχεια κάντε κλικ στο κουμπίΕπόμενο.
    3. Αν υπάρχει ήδη ο φάκελοςΝαι, εξαγωγή του ιδιωτικού κλειδιούη επιλογή δεν είναι διαθέσιμη, την εφαρμογή Web του ASP.NET δεν μπορεί να χρησιμοποιήσει το πιστοποιητικό προγράμματος-πελάτη. Πρέπει να αποκτήσετε ένα άλλο πιστοποιητικό προγράμματος-πελάτη. Για να το κάνετε αυτό, ακολουθήστε τις οδηγίες στο βήμα 1 και το βήμα 2. Διαφορετικά, κάντε κλικ στο κουμπίΝαι, εξαγωγή του ιδιωτικού κλειδιού, και στη συνέχεια κάντε κλικ στο κουμπίΕπόμενοδύο φορές.
    4. ΣτοPASSWORDπλαίσιο και με τοεπιβεβαίωση κωδικού πρόσβασηςπλαίσιο, πληκτρολογήστε έναν κωδικό πρόσβασης και, στη συνέχεια, κάντε κλικ στο κουμπίΕπόμενο.
    5. ΣτοΌνομα αρχείουΠληκτρολογήστε ένα όνομα αρχείου. Κάντε κλικΕπόμενο, και στη συνέχεια κάντε κλικ στο κουμπίΦινλανδικά.
    6. ΣτοΟ "Οδηγός εξαγωγής πιστοποιητικού"παράθυρο διαλόγου, κάντε κλικ στο κουμπίOk.
  7. Για να εισαγάγετε το πιστοποιητικό προγράμματος-πελάτη για το χώρο αποθήκευσης του τοπικού υπολογιστή, ακολουθήστε τα εξής βήματα:
    1. expandΠιστοποιητικά (τοπικός υπολογιστής)και, στη συνέχεια, αναπτύξτε το στοιχείοΠροσωπικά.
    2. Κάντε δεξιό κλικ στο στοιχείοΠιστοποιητικά (Certificates)Κάντε κλικΌλες οι εργασίαςΚάντε κλικΕισαγωγή, και στη συνέχεια κάντε κλικ στο κουμπίΕπόμενο.
    3. ΣτοΌνομα αρχείουπλαίσιο, πληκτρολογήστε το όνομα του αρχείου που καθορίσατε στο βήμα 6e και, στη συνέχεια, κάντε κλικ στο κουμπίΕπόμενο.
    4. ΣτοPASSWORDπλαίσιο, πληκτρολογήστε τον κωδικό πρόσβασης που καθορίσατε στο βήμα 6 d και στη συνέχεια κάντε κλικ στο κουμπίΕπόμενοδύο φορές.
    5. Κάντε κλικΦινλανδικά, και στη συνέχεια κάντε κλικ στο κουμπίOk.

Βήμα 4: Εγκατάσταση του πιστοποιητικού ρίζας της CA

Εάν το πιστοποιητικό υπολογιστή-πελάτη είναι ήδη υπογραφεί από μια εξωτερική αρχή έκδοσης Πιστοποιητικών, όπως είναι η VeriSign ή αν έχετε ήδη εγκαταστήσει το ριζικό πιστοποιητικό για την αρχή έκδοσης Πιστοποιητικών, μπορείτε να παραλείψετε το βήμα 4.

Από προεπιλογή, τα Windows έχουν τα πιστοποιητικά ρίζας αρχών έκδοσης πολλές εξωτερικών πιστοποιητικών ν ήδη προεγκατεστημένα στον χώρο αποθήκευσης πιστοποιητικών ρίζας αξιόπιστες.
Βεβαιωθείτε ότι έχει εγκατασταθεί το πιστοποιητικό ρίζας
Για να βεβαιωθείτε ότι έχει εγκατασταθεί το πιστοποιητικό ρίζας της αρχής έκδοσης Πιστοποιητικών, ακολουθήστε τα εξής βήματα:
  1. Κάντε κλικStartΚάντε κλικΕκτέλεσηTYPEMMC, και στη συνέχεια κάντε κλικ στο κουμπίOk.
  2. Στο διακομιστήFILEμενού, κάντε κλικ στο κουμπίΠροσθήκη/Κατάργηση συμπληρωματικού προγράμματος, και στη συνέχεια κάντε κλικ στο κουμπίADD.
  3. ΣτοΠροσθήκη μεμονωμένων συμπληρωματικών προγραμμάτωνπαράθυρο διαλόγου πλαίσιο, κάντε κλικ στο κουμπίΠιστοποιητικά (Certificates)Κάντε κλικADDΚάντε κλικΛογαριασμός υπολογιστήΚάντε κλικΕπόμενο, και στη συνέχεια κάντε κλικ στο κουμπίΦινλανδικά.
  4. Κάντε κλικClose (Κλείσιμο), και στη συνέχεια κάντε κλικ στο κουμπίOk.
  5. expandΠιστοποιητικά (τοπικός υπολογιστής)expandΑξιόπιστες αρχές έκδοσης πιστοποιητικών ρίζας, και στη συνέχεια κάντε κλικ στο κουμπίΠιστοποιητικά (Certificates).
  6. Στο δεξιό τμήμα του παραθύρου, βεβαιωθείτε ότι εμφανίζεται το πιστοποιητικό ρίζας από την αρχή Πιστοποίησης που θέλετε να χρησιμοποιήσετε.
Εγκαταστήστε το πιστοποιητικό ρίζας
Εάν το πιστοποιητικό ρίζας από την αρχή Πιστοποίησης που θέλετε να χρησιμοποιήσετε δεν παρατίθεται, πρέπει να εγκαταστήσετε το πιστοποιητικό ρίζας. Εάν το πιστοποιητικό ρίζας από την αρχή Πιστοποίησης που θέλετε να χρησιμοποιήσετε έχει εκδοθεί σε εσάς σε ένα αρχείο πιστοποιητικού, όπως ένα αρχείο .cer, ένα αρχείο .der ή ένα αρχείο .pfx, ακολουθήστε τα εξής βήματα:
  1. expandΠιστοποιητικά (τοπικός υπολογιστής)Κάντε δεξιό κλικ στο στοιχείοΑξιόπιστες αρχές έκδοσης πιστοποιητικών ρίζαςΚάντε κλικΌλες οι εργασίες, και στη συνέχεια κάντε κλικ στο κουμπίΕισαγωγή.
  2. ΣτοΟ "Οδηγός εισαγωγής πιστοποιητικού"παράθυρο διαλόγου, κάντε κλικ στο κουμπίΕπόμενο, και στη συνέχεια με τοΌνομα αρχείουπλαίσιο, πληκτρολογήστε το όνομα του αρχείου πιστοποιητικού και, στη συνέχεια, κάντε κλικ στο κουμπίΕπόμενοδύο φορές.
  3. Κάντε κλικΦινλανδικά, και στη συνέχεια κάντε κλικ στο κουμπίOk.
Αίτηση για το πιστοποιητικό ρίζας
Εάν περιλαμβάνεται η αρχή έκδοσης Πιστοποιητικών που θέλετε να χρησιμοποιήσετε στη βάση δεδομένων εγκατάστασης Microsoft Certificate Services, μπορείτε να ζητήσετε το πιστοποιητικό ρίζας. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα: (Use the tools in the Windows Recovery Environment to repair Windows Vista. To do this, follow these steps:):
  1. Στον Internet Explorer, επισκεφθείτε την τοποθεσία Web της αρχής έκδοσης Πιστοποιητικών. Για παράδειγμα, εάν η αρχή έκδοσης Πιστοποιητικών διακομιστή ονομάζεται CAServer, επισκεφθείτε την ακόλουθη τοποθεσία Web:
    http://CAServer/certsrv
  2. Κάντε κλικDownload a CA certificate, certificate chain, or CRL, και στη συνέχεια κάντε κλικ στο κουμπίDownload CA certificate.
  3. ΣτοΛήψη αρχείουπαράθυρο διαλόγου, κάντε κλικ στο κουμπίΑποθήκευση (Save).
  4. ΣτοΑποθήκευση ωςdialog box, enter the location where you want to save the certificate file, and then clickΑποθήκευση (Save).
  5. After you have saved the root certificate file, use steps in the "Install the root certificate" section to install the certificate file in the Trusted Root Certification Authorities store.

Call the Web service

After you have installed the client certificate in either the local machine store or the local user store, you can access the client certificate from the ASP.NET Web application to call the Web service. The steps to access the client certificate are the same for a Windows Forms application or for an ASP.NET Web application.

If you are using the .NET Framework 1.1, you must first export the key to a DER-encoded file. You must export the key because theSystem.Security.Cryptography.X509Certificates.X509Certificateclass does not contain methods to directly access the details of a certificate from a certificate store. Therefore, the application must read the details of a certificate from a DER-encoded file.

ΣΗΜΕΙΩΣΗWeb Services Enhancements 2.0 for Microsoft .NET (WSE) provides a way for an application to retrieve the details of a certificate directly from a certificate store.

The following C# example code shows how to call a Web service by passing a client certificate for authentication.
using System.Security.Cryptography.X509Certificates;
...

  public void CallWebService()
  {
    // TODO: Replace <C:\WSClientCert.cer> with the path of your certificate file.
    string certPath = @"<C:\WSClientCert.cer>";

    // Create an instance of the Web service proxy.
    WebSvc.math mathservice = new WebSvc.math();
    // TODO: Replace <https://wsserver/securemath/math.asmx> with a valid URL.
    mathservice.Url = @"<https://wsserver/securemath/math.asmx>";

    // Create an X509Certificate object from the information 
    // in the certificate export file, and then add the certificate to the 
    // ClientCertificates collection of the Web service proxy.
    mathservice.ClientCertificates.Add(
        X509Certificate.CreateFromCertFile(certPath));

    long lngResult = 0;
    try
    {
      lngResult = mathservice.Add(Int32.Parse(operand1.Text), 
          Int32.Parse(operand2.Text));
      string result = lngResult.ToString();
    }
    catch(Exception ex)
    {
      if(ex is WebException)
      {
        WebException we = ex as WebException;
        WebResponse webResponse = we.Response;
        throw new Exception("Exception calling method. " + ex.Message);
      }
    }
  }

Web Services Enhancements 2.0 for Microsoft .NET

Web Services Enhancements 2.0 for Microsoft .NET (WSE) is a Microsoft .NET class library for building Web services by using the latest Web services protocols. These protocols include the following:
  • WS-Security
  • WS-SecureConversation
  • WS-Trust
  • WS-Policy
  • WS-SecurityPolicy
  • WS-Addressing
  • WS-Attachments
ΣΗΜΕΙΩΣΗWSE is not included as part of the .NET Framework. To obtain WSE, visit the following Microsoft Web site:
http://www.microsoft.com/downloads/details.aspx?FamilyId=FC5F06C5-821F-41D3-A4FE-6C7B56423841
You do not have to use any one of these protocols to access a Web service that requires client certificate authentication. However, you may want to use theMicrosoft.Web.Services2.Security.X509CLASS. Για ναMicrosoft.Web.Services2.Security.X509η κλάση περιέχει μεθόδους για απευθείας πρόσβαση σε ένα πιστοποιητικό προγράμματος-πελάτη του χώρου αποθήκευσης πιστοποιητικών. Εάν χρησιμοποιήσετε αυτές τις μεθόδους, δεν χρειάζεται να εξάγετε το πιστοποιητικό σε ένα αρχείο.

Ο ακόλουθος κώδικας παράδειγμα C# δείχνει πώς μπορείτε να βρείτε το πρώτο πιστοποιητικό που ονομάζεται SecureMathClient στο χώρο αποθήκευσης του τοπικού υπολογιστή. Στη συνέχεια, τον κωδικό αυτό το παράδειγμα χρησιμοποιεί το πιστοποιητικό για να καλέσετε τοADDμέθοδος για την υπηρεσία Web μαθηματικών. Η υπηρεσία Web μαθηματικών απαιτεί πιστοποιητικά προγράμματος-πελάτη.
...
  // TODO: Replace <SecureMathClient> with the name of the client certificate.
  string certName = "<SecureMathClient>";

  // WSE 2.0 method
  X509CertificateStore store =
    X509CertificateStore.LocalMachineStore(X509CertificateStore.MyStore);
  store.OpenRead();
  // Look for the first certificate that is named SecureMathClient.
  // Look in the local machine store.
  X509CertificateCollection col= 
    (X509CertificateCollection)store.FindCertificateBySubjectString(certName);
  X509Certificate cert =null;
  try
  { 

// This sample obtains the first matching certificate from the collection.
    cert = col[0];
  } 
  catch(Exception ex)
  {
    throw new Exception("Certificate not Found!");
  }

  // Create an instance of the Web service proxy.
  math mathservice = new math();
  // TODO: Replace <https://wsserver/securemath/math.asmx> with a valid URL.
  mathservice.Url = @"<https://wsserver/securemath/math.asmx>";
  mathservice.ClientCertificates.Add(cert);

  long lngResult = 0;
  try
  {
    lngResult = mathservice.Add(Int32.Parse(operand1.Text), 
        Int32.Parse(operand2.Text));
    result.Text = lngResult.ToString();
  }
  catch(Exception ex)
  {
    if(ex is WebException)
    {
      WebException we = ex as WebException;
      WebResponse webResponse = we.Response;
      throw new Exception("Exception calling method. " + ex.Message);
    }
  }

Αναφορές

Για περισσότερες πληροφορίες σχετικά με τοSystem.Security.Cryptography.X509Certificates.X509Certificateκλάση, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft Developer Network (MSDN) στο Web:
.aspx http://msdn2.Microsoft.com/en-us/library/System.Security.Cryptography.x509certificates.x509certificate (vs.71)
Για περισσότερες πληροφορίες σχετικά με τον τρόπο κλήσης μιας τοποθεσίας Web με εμπλουτισμένη ασφάλεια, χρησιμοποιώντας μια εφαρμογή Web του ASP.NET, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
817854ΕΝΗΜΕΡΩΣΗ: Εφαρμογή Web του ASP.NET δεν μπορεί να παραδώσει ένα πιστοποιητικό προγράμματος-πελάτη σε μια τοποθεσία Web με εμπλουτισμένη ασφάλεια

Ιδιότητες

Αναγν. άρθρου: 901183 - Τελευταία αναθεώρηση: Παρασκευή, 24 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft .NET Framework 1.1 στις ακόλουθες πλατφόρμες
    • Οδηγός Microsoft Internet Information Services 6.0
    • Microsoft Internet Information Services 5.0
Λέξεις-κλειδιά: 
kbcode kbwebservices kbcertservices kbhowto kbinfo kbmt KB901183 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:901183

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

 

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