Αποτυχία δημιουργίας μιας σύνδεσης SSL. Πώς να αποφύγετε τα λάθη κατά την αποστολή αλληλεξάρτησης και τεχνικών σχεδίων σχετικά με τα κανάλια άμεσης αλληλεπίδρασης από τα προγράμματα της σειράς πολυγωνιών. Ποια έκδοση του Sharpei να εγκατασταθεί

Έχω μια υπηρεσία Web που εγγράφηκα μέσω "Προσθέστε έναν σύνδεσμο στην υπηρεσία" για την οποία απαιτείται https και πιστοποιητικό. Παρακάτω είναι ο κώδικας μου για να δημιουργήσετε μια εμφάνιση της υπηρεσίας μου:

Υπηρεσία \u003d Νέα MyReferencedWebice (); X509certificate2 cert \u003d new x509certificate2 (); var stream \u003d συναρμολόγηση.getexecutingassasseasseass (). getmanifestresourcestream ("mycert.cer"); var byte \u003d νέο byte; Stream.read (bytes, 0, bytes.length). Cert.import (bytes, mypassword, x509keystorageflags.defaultkeyset); Service.ClientCredentials.CloientCertificate.cerificate \u003d cert;

Και η διαμόρφωσή μου μοιάζει με αυτό:

Εάν δημιουργώ ένα απλό winforms.exe και χρησιμοποιώ τον παραπάνω κώδικα, έχω μια απάντηση από την υπηρεσία Web μου. Ωστόσο, αν έβαλα τον ίδιο κώδικα στο ASP.NET, παίρνω τα εξής:

Το αίτημα διακόπτεται: Αποτυχία δημιουργίας ασφαλούς καναλιού SSL / TLS.

Πώς να το κάνετε στο ASP.NET;

Επεξεργασία: Πρέπει να προσθέσω. Το πιστοποιητικό πελάτη που χρησιμοποιώ είναι τοποθετημένο στην έξυπνη κάρτα και απαιτεί τη χρήση της εισόδου PIN. Δεν είστε σίγουροι ότι έχει σημασία ή όχι.

Όταν ο πελάτης εισάγει την εφαρμογή, ζητά το πιστοποιητικό κωδικού PIN. Σε αυτή την περίπτωση, διαθέτουν κάρτα CAC που εισάγεται στον αναγνώστη CAC. Ίσως μπορώ να χρησιμοποιήσω κάποιο τρόπο το αίτημα.ClientCertificate;

3 απάντηση

Ποιο είναι το σχέδιό σας εδώ; Με άλλα λόγια:

Ποιος θα εισαγάγει τον καρφίτσα; Ποιος πρόκειται να εισάγει μια έξυπνη κάρτα;

Δεν μπορείτε να εγκαταστήσετε το ασφαλές κανάλι μεταξύ του διακομιστή ιστού ASP.NET και της υπηρεσίας Web χωρίς έξυπνη κάρτα και έξοδο, αφού ο πελάτης (δηλ., Ο διακομιστής Web ASP.NET) πρέπει να έχει πρόσβαση στο κλειστό κλειδί στην έξυπνη κάρτα (και για αυτό Χρειάζεστε ένα PIN). Φοβάμαι ότι ο μόνος τρόπος για να γίνει εργασία είναι να πάρει ολόκληρο το πιστοποιητικό (συμπεριλαμβανομένου ενός κλειστού κλειδιού) από μια έξυπνη κάρτα (η οποία θα πρέπει να είναι πολύ δύσκολη αν όχι αδύνατη, σύμφωνα με το σχεδιασμό).

Ο καλύτερος τρόπος για να ενεργήσετε:

Α) Ζητήστε ένα "πιστοποιητικό διακομιστή" (μη έξυπνη κάρτα), η οποία μπορεί να χρησιμοποιηθεί ως πιστοποιητικό πελάτη για το κανάλι μεταξύ του διακομιστή ιστού ASP.NET και της υπηρεσίας Web Target.

Β) Καταγράψτε τη λύση έτσι ώστε οι πελάτες (άτομα που έχουν έξυπνες κάρτες και επαφές) να συνδεθούν άμεσα σε μια ασφαλή υπηρεσία Web χρησιμοποιώντας μια έξυπνη κάρτα και έναν κωδικό PIN.

Είναι διαθέσιμο το πιστοποιητικό πιστοποιητικού του πιστοποιητικού του πιστοποιητικού; Εάν το έχετε εισαγάγει μόνοι σας, έχει εισαχθεί σε ένα κατάστημα πιστοποιητικών χρήστη στο οποίο η IIS δεν έχει πρόσβαση (αντ 'αυτού να το εισάγει στο αποθετήριο)

Τεκμηρίωση για τον σχεδιαστή της τάξης λέει ότι η τάξη θα λάβει πρόσβαση στο CSP για να αποθηκεύσει το κλειδί του πιστοποιητικού (για PFX). Δεν πρέπει να είναι απαραίτητο για το αρχείο CER, αλλά ίσως να αντιμετωπίσετε ακόμα προβλήματα δικαιωμάτων εάν εργάζεστε ως εφαρμογή πισίνας χρήστη;

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

Διαμόρφωση πελάτη WCF

Ακριβώς σε περίπτωση, βεβαιωθείτε ότι η διεύθυνση του τελικού σημείου σας έχει διαμορφωθεί:

"https: // hostname [: port] /servicedirectory/myservice.svc"

Υποθέτοντας ότι η διαμόρφωση της υπηρεσίας σας είναι αληθής, η διαμόρφωση δέσμευσης εφαρμογών ASP.NET πρέπει να είναι:

Το πρόβλημα με το οποίο ενδέχεται να αντιμετωπίσετε είναι να μεταδώσετε / τροφοδοτήστε το πιστοποιητικό πελάτη στην υπηρεσία σας.

Εάν η υπηρεσία σας δημοσιεύτηκε στο IIS 6.0 ή IIS 7.0, πρέπει να διαμορφώσετε το IIS στο οποίο δημοσιεύεται η υπηρεσία WCF για την αποδοχή πιστοποιητικών πελάτη.

Η εφαρμογή ASP.NET είναι ένας πελάτης WCF. Δείτε αυτήν τη σελίδα για να χρησιμοποιήσετε το πιστοποιητικό SMART CARD και να προστατεύσετε τις υπηρεσίες WCF με πιστοποιητικά.

Θα χρειαστείτε επίσης ένα πιστοποιητικό διακομιστή SSL που θα εγκατασταθεί στο IIS, όπου δημοσιεύετε την υπηρεσία WCF για να υποστηρίξετε το HTTPS.

Διαμόρφωση υπηρεσίας WCF

Το τελικό σημείο της υπηρεσίας πρέπει να περιλαμβάνει την προστατευόμενη σύνδεση HTTP, καθώς και τη συμπεριφορά υπηρεσίας για να ενεργοποιήσει το httpsgenabled και να απενεργοποιεί το httpgeteeneableed:

Είναι απαραίτητο να χρησιμοποιηθούν οι εκδόσεις που λαμβάνονται από την ειδική λειτουργία του. Αυτό που χρησιμοποιείτε για να στείλετε την αναφορά σε άλλες καταστάσεις. Όργανα (PF, FTS, FSS κ.λπ.)

2. Ποια έκδοση του Sharpei να εγκατασταθεί;

Προς την Μάθετε το κομμάτι Τα παράθυρά σας χρειάζονται:

    Κάντε κλικ στο δεξί κουμπί του ποντικιού στον υπολογιστή μου

    Επιλέξτε ιδιότητες

    Εάν γράφετε στην ενότητα "Σύστημα" στην ενότητα συστήματος, το σύστημα 64 bit θα γραφτεί - σημαίνει το 64-bit, σε άλλες περιπτώσεις, 32-bit.

3. Κατά την εγγραφή στο σύστημα συλλογής ιστού, δημοσιεύθηκε ένα μήνυμα ότι ένας τέτοιος οργανισμός υπάρχει ήδη

Εάν έχει εκδοθεί σφάλμα κατά την εγγραφή Οργανισμός με μια τέτοια ΟΚΠΑ έχει ήδη καταχωριστείΑυτό σημαίνει ότι οι πληροφορίες σχετικά με τον οργανισμό είναι ήδη παρόν στο σύστημα αναφοράς. Τέτοιες πληροφορίες εισέρχονται στο σύστημα από μια ενιαία μονάδα αναφοράς.

Στην περίπτωση αυτή, είναι απαραίτητο:

  1. Στείλτε μια επιστολή στη διεύθυνση [Προστατεύεται μέσω ηλεκτρονικού ταχυδρομείου] , υποδεικνύοντας τα δεδομένα σας:
    • Ονομα εταιρείας
    • Στο όνομα του οποίου το πιστοποιητικό (το οποίο υπογράψατε την αναφορά) και από οποιονδήποτε εκδίδεται
    • Στοιχεία επικοινωνίας
    • Διεύθυνση ηλεκτρονικού ταχυδρομείου (απαιτείται)
  2. Αφού λάβετε το γράμμα από εσάς, οι υπάλληλοι TOGC θα κάνουν τις πληροφορίες που λείπουν στον οργανισμό σας και θα σας στείλουν μια επιστολή με τις οδηγίες αλλαγής κωδικού πρόσβασης (δεν διορίζουμε κωδικό πρόσβασης).
  3. Αφού περάσετε τη διαδικασία για την αλλαγή του κωδικού πρόσβασης, μπορείτε να ξεκινήσετε την αναφορά σε ηλεκτρονική φόρμα.

4. Κατά την υπογραφή της αναφοράς, εμφανίζεται ένα σφάλμα: "Ο αλγόριθμος πιστοποιητικού κλειδιού δεν υποστηρίζεται"

  1. Υπάρχουν ενημερώσεις της Microsoft που οδηγούν σε σφάλματα όταν εργάζεστε με EDS.
    Αυτές είναι οι ακόλουθες ενημερώσεις:
    • 2604094
    • 2729450
    • 2729452
    • 2729453
    • 2742601
    Για να διορθώσετε το σφάλμα, ο αλγόριθμος πιστοποιητικού κλειδιού δεν υποστηρίζεται. Πρέπει να διαγράψετε τις παραπάνω ενημερώσεις της Microsoft.
    Οι ενημερώσεις της Microsoft διαγράφονται μέσω του "πίνακα ελέγχου" - "Εγκαταστήστε την αφαίρεση προγραμμάτων".
  2. Επίσης, αυτό το σφάλμα μπορεί να εκδηλωθεί εάν έχει εγκατασταθεί ο Sharpeirte πρινΟρίζει το καθαρό πλαίσιο 2.0SP2. Σε αυτή την περίπτωση, εκτελέστε την εγκατάσταση Ο Sharpeirte επαναλαμβάνεται, επιλέξτε "Επεξεργασία" και ελέγξτε την υποστήριξη πλαισίου 2.

5. Όταν στέλνετε μια αναφορά από το "Offline" εμφανίζεται ένα σφάλμα: "Αποτυχία σύνδεσης με την ιστοσελίδα ... Δεν είναι δυνατή η δημιουργία μιας σχέσης εμπιστοσύνης για το προστατευμένο κανάλι SSL / TLS"

  1. Ελέγξτε τις ρυθμίσεις του πελάτη εκτός σύνδεσης, την ορθότητα των διευθύνσεων σύνδεσης διευθύνσεων:

    Ασφαλής σύνδεση: https://online.statrk.ru/online

  2. Εγκαταστήστε στο διακομιστή συλλογής πιστοποιητικών πιστοποίησης πιστοποίησης πιστοποίησης "αξιόπιστη ρίζα". Δείτε τις οδηγίες.
  3. Ανοίξτε τον Internet Explorer και πηγαίνετε στο https://online.statrk.ru/online. Εάν έχει εγκατασταθεί το πιστοποιητικό "UTS GMC Rosstat", τότε η σελίδα θα ανοίξει χωρίς προειδοποίηση. Διαφορετικά, θα απελευθερωθεί προειδοποίηση σχετικά με την αδυναμία ελέγχου της αυθεντικότητας του ιστότοπου.
  4. Ελέγξτε εάν έχει εγκατασταθεί το "Cryptopro of Sharpes". Μπορεί να μεταφορτωθεί από την ιστοσελίδα της online συλλογής ()

6. Όταν στέλνετε μια αναφορά από τον "πελάτη εκτός σύνδεσης", εμφανίζεται ένα σφάλμα: "Σφάλμα ελέγχου ασφαλείας μηνυμάτων"

    Ελέγξτε τη ρύθμιση ώρας στον υπολογιστή σας. Όταν η αποστολή του συστήματος ελέγχει την ώρα σύμπτωση στον υπολογιστή σας με το χρόνο στο World Time Liscousing Server (UTC) και όχι τοπικό. Προχωρημένος Για τη Δημοκρατία της ΚαλλλίαςΗ ζώνη ώρας στον υπολογιστή σας θα πρέπει να ρυθμιστεί ως " (UTC. +4:00 ) Μόσχα, Αγία Πετρούπολη, Volgograd " . Αν έχετε ζώνη ώρας "(UTC. +3:00 ) Μόσχα, Αγία Πετρούπολη, Volgograd " Πρέπει να κατεβάσετε και να εγκαταστήσετε

"Υπό την προϋπόθεση μοναδική ευκαιρία Αποστολή του υδραργύρου και των τεχνικών σχεδίων στο Rosrestrest σε κανάλια άμεσης αλληλεπίδρασης (Με άλλα λόγια, απευθείας από το πρόγραμμα).

Σε αυτό το άρθρο, εξετάστε τα πιο συχνά σφάλματα κατά την αποστολή των ενδιάμεσων και τεχνικών σχεδίων σχετικά με το παράδειγμα του προγράμματος "".

Προκειμένου να στείλετε ένα σχέδιο Διαδικτύου από το πρόγραμμα "" Πρέπει να διαμορφώσετε μια δήλωση σε ηλεκτρονική μορφή. Το πρόγραμμα προβλέπει τη δυνατότητα διαμόρφωσης δήλωσης 2 προγραμμάτων XML:

  • Reguests_gzk_realty εκδοχή 17 ;
  • Statmentgn. εκδοχή 01 .

Σημείωση: Για περισσότερες πληροφορίες σχετικά με τον τρόπο συμπλήρωσης μιας δήλωσης για ένα συγκεκριμένο σχήμα XML, δείτε το άρθρο "".

Ας στρέψουμε απευθείας στην εξέταση των σφαλμάτων που προκύπτουν όταν στέλνουν τα ενδιάμεσα και τα τεχνικά σχέδια στο Rosrestrest μέσω των καναλιών άμεσης αλληλεπίδρασης.

1 σφάλμα. Παρακαλούμε να σημειώσετε ότι Πρόσθετα έγγραφα Πρέπει να στείλετε το πρόγραμμα στο Rosreestr μόνο με μια δήλωση που σχηματίζεται από το σχήμα XML Reguests_gzk_realty εκδοχή 17 .

Στο νέο σχέδιο XML Statmentgn. εκδοχή 01 Πρόσθετα έγγραφα μην περναςκαι εκδίδεται ένα σφάλμα "Ο έλεγχος δεν έχει περάσει. Flk ή ο έλεγχος των eds δεν μεταφέρεται. Άγνωστη δήλωση τύπου » .

Απόφαση: Εάν, κατά την αποστολή πρόσθετων εγγράφων από το πρόγραμμα, το σφάλμα αυτό εκδόθηκε, αποτελούν αίτηση για το σχήμα XML Reguests_gzk_realty εκδοχή 17 Και να στείλετε ξανά το πακέτο.

2 Σφάλμα. Λάθος "Αποτυχία ουράς. Σφάλμα: Απομακρυσμένος διακομιστής επέστρεψε σφάλμα (500). Εσωτερικό Σφάλμα Διακομιστή" Συνήθως εμφανίζεται κατά την αποστολή ενός φερμουάρ ενός ολοκληρωμένου σχεδίου που σχηματίζεται χωρίς δήλωση.

Απόφαση:Ρυθμίστε στο παράθυρο "Ρυθμίσεις" Τσιμπούρι:

  • "Για να σχηματίσουν ένα πακέτο (αρχείο zip και εφαρμογή) για μετάδοση πάνω από τα κανάλια άμεσης αλληλεπίδρασης".
  • "Φόρμα δήλωσης Laysgankn έκδοση 01"
  • "Για να σχηματίσουν μια δήλωση κατά την εκφόρτωση XML".
  • "Να επενδύσει στη δήλωση του Zip Archive XML".

Εικ.1. Το παράθυρο "Ρυθμίσεις".

Στη συνέχεια, συμπληρώστε την εφαρμογή (δύο αρχεία XML θα διαμορφωθούν όταν μεταφορτώνετε: η εφαρμογή και το σχέδιο σύσκεψης) και σχηματίζουν ένα αρχείο zip με το πρόθεμα req.. Επιπλέον, το σφάλμα μπορεί να εμφανιστεί εάν έχει οριστεί η μακρά διαδρομή προς το αρχείο zip. Σε αυτή την περίπτωση, συνιστούμε να μειώσετε τη διαδρομή προς το αρχείο zip.

3 Σφάλμα. "Αποτυχία ουράς. Σφάλμα: Η αίτηση ακυρώθηκε: Δεν ήταν δυνατή η δημιουργία ασφαλούς καναλιού SSL / TLS »

"Αποτυχία ουράς. Σφάλμα: Η αίτηση διακόπτεται. Αποτυχία δημιουργίας προστατευμένου καναλιού SSL / TLS "

Απόφαση: Για να εξαλείψετε αυτό το σφάλμα, πρέπει να ελέγξετε το πιστοποιητικό ηλεκτρονικής υπογραφής (EP), δηλαδή:

  • Ελέγξτε εάν το πιστοποιητικό αποστολέα επιλεγεί σωστά στις ρυθμίσεις του προγράμματος (στο παράθυρο "Ρυθμίσεις" Στην καρτέλα "Αποστολή" στο πεδίο "! Πιστοποιητικό αποστολέα "):


Εικ.2. Παράθυρο "Ρυθμίσεις", στέλνοντας την καρτέλα.

    Το πιστοποιητικό του ΕΚ πρέπει να εγκατασταθεί σε ένα προσωπικό αποθετήριο.

    Ελέγξτε αν το δοχείο εισάγεται με κλειστό κλειδί (για παράδειγμα, έξυπνη κάρτα, μονάδα flash). * Ένα κλειστό κλειδί μπορεί να αποθηκευτεί σε έναν υπολογιστή και όχι σε αφαιρούμενα μέσα.

    Ελέγξτε αν το πιστοποιητικό EP είναι προορισμό "Client TLS". Για να λύσετε αυτό το ζήτημα, πρέπει να επικοινωνήσετε με το Κέντρο πιστοποίησης όπου αγοράσατε μια υπογραφή.

    Το Cryptoprovider πρέπει να εγκατασταθεί Cryptopro CSP..

    Ελέγξτε εάν η εγκυρότητα του ΕΚ δεν έχει τελειώσει.

    Μάθετε αν το ΕΚ σας προορίζεται να συνεργαστεί με το Rosrester και είναι ένα ενισχυμένο εξειδικευμένο EP του κτηματολογικού μηχανικού. Εάν είναι απαραίτητο, επικοινωνήστε με την Αρχή Πιστοποίησης (βλ.).

Διαβάστε τις απαιτήσεις συστήματος για αυτήν την υπηρεσία στο φόρουμ μας για τη σύνδεση :.

4 σφάλμα. "Αποτυχία ουράς. Σφάλμα: Το αίτημα καταργήθηκε: η αίτηση ακυρώθηκε »

"Μην αφαιρείτε το αίτημα. Σφάλμα: Η αίτηση διακόπτεται: η αίτηση ακυρώθηκε. "

Αυτό το σφάλμα σχετίζεται συνήθως με το γεγονός ότι το μέγεθος του αρχείου zip είναι πολύ μεγάλο.

Απόφαση: στο παράθυρο "Ρυθμίσεις" Στην καρτέλα "Αποστολή" Αυξήστε το χρονικό όριο για την πύλη Rosreestra στο πεδίο "Timeout για την πύλη Rosreestra (Sec.)", για παράδειγμα, μέχρι 800 δευτερόλεπτα.


Εικ.3. Παράθυρο "Ρυθμίσεις", στέλνοντας την καρτέλα.

Σημείωση: Παρακαλείστε να σημειώσετε ότι στα αρχεία Zip που αποστέλλονται μέσω των καναλιών άμεσης αλληλεπίδρασης, ο Rosrester έχει περιορισμούς. Το μέγεθος του αρχείου ZIP που αποστέλλεται μέσω των καναλιών άμεσης αλληλεπίδρασης δεν πρέπει να υπερβαίνει τα 50 MB.

5 σφάλμα. "Αποτυχία ανοίγματος της μονάδας αποστολής. Μπορεί να μην έχετε ή να εγκαταστήσετε εσφαλμένα τη βιβλιοθήκη capicom.dll. Οι λειτουργίες της αποστολής αιτήσεων για την πύλη Rosreestra δεν είναι διαθέσιμα "

"Το αρχείο της μονάδας αποστολής είναι κατεστραμμένο. Οι πρόσφατες αλλαγές χάνονται, ανοίξτε το τελευταίο αποθηκευμένο αρχείο; Η CAPICOM δεν έχει εγκατασταθεί ή δεν έχει εγκατασταθεί εσφαλμένα. Οι λειτουργίες της αποστολής αιτήσεων για την πύλη Rosreestra δεν είναι διαθέσιμα "

Αυτό το σφάλμα παρουσιάζεται λόγω της ελλιπούς πρόσβασης στη μονάδα αποστολής.

Απόφαση: Πρέπει να διαγράψετε και να επαναφέρετε το αρχείο καταγραφής του πλοίου. Για να το κάνετε αυτό, μεταβείτε στο φάκελο όπου το πρόγραμμα έχει εγκατασταθεί και διαγράψτε τα αρχεία. exch.log. και exch_bak.log. . Μετά από αυτό στο παράθυρο "Ανταλλαγή πληροφοριών με Rosreestrom" Κάντε κλικ στο τρίγωνο δίπλα στο κουμπί "Ρυθμίσεις" και επιλέξτε "Επαναφορά καταγραφής".

Αναθεωρήσαμε τα πιο συνηθισμένα σφάλματα κατά την αποστολή τόσο γης όσο και τεχνικών σχεδίων απευθείας από τη σειρά της σειράς "Πολύγωνο".

Εάν το σφάλμα που σας ενδιαφέρει δεν περιγράφεται σε αυτό το άρθρο, μπορείτε πάντα να επικοινωνήσετε με το Τμήμα Τεχνικής Υποστήριξης για την επίλυση ενός προβλήματος στον ελεύθερο αριθμό τηλεφώνου. 8-800-100-58-90 ή μέσω ηλεκτρονικού ταχυδρομείου :.

Πάντα ευτυχής να σας βοηθήσει!

Στην περίπτωση αποστολής πρόσθετων πακέτων, αυτό το πλαίσιο ελέγχου δεν εγκαθιστά και σχηματίζει δήλωση σύμφωνα με την έκδοση Reguests_gzk_realty 17.


Αριθμός επιτυχιών: 7151

Δημιούργησε ένα πιστοποιητικό σε ένα μηχάνημα. Εγκατέστησα ένα άλλο σε άλλο. Η εφαρμογή προσπαθεί να φτιάξει το άλμα του αρχείου XML - εμφανίζεται ένα σφάλμα: Αποτυχία δημιουργίας ασφαλούς καναλιού SSL TLS.
Η βοήθεια απαιτείται για την επίλυση του προβλήματος.

Class mycerts (ιδιωτική στατική int cert_store_prov_system \u003d 10; ιδιωτική στατική int cert_system_store_current_user \u003d (1<< 16); //private static int CERT_SYSTEM_STORE_LOCAL_MACHINE = (2 << 16); public static extern IntPtr CertOpenStore(int storeProvider, int encodingType, int hcryptProv, int flags, string pvPara); public static extern IntPtr CertEnumCertificatesInStore(IntPtr storeProvider, IntPtr prevCertContext); public static extern bool CertCloseStore(IntPtr storeProvider, int flags); X509Certificate2Collection m_certs; public MyCerts() { m_certs = new X509Certificate2Collection(); } public int Init() { IntPtr storeHandle; storeHandle = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0, CERT_SYSTEM_STORE_CURRENT_USER, "MY"); IntPtr currentCertContext; currentCertContext = CertEnumCertificatesInStore(storeHandle, (IntPtr)0); int i = 0; while (currentCertContext != (IntPtr)0) { m_certs.Insert(i++, new X509Certificate2(currentCertContext)); currentCertContext = CertEnumCertificatesInStore(storeHandle, currentCertContext); } CertCloseStore(storeHandle, 0); return m_certs.Count; } public X509Certificate2 this { get { if (index < 0 || index > M_certs.Count) Επιστρέψτε null; Αλλιώς επιστρέφει m_certs? )) Class myhttpresource (string m_url; δημόσιο myhttpresource (m_url \u003d url) (m_url \u003d URL;) δημόσιο κενό getfile () (httpwebresponse αποτέλεσμα \u003d null; // \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d SYSTEM.NET. ServicePointManager.certificateplicy \u003d Νέα MyPolicy (); // \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Δοκιμάστε (httpwebrequest req \u003d (httpwebrecest) webrequest.Create (m_url); req.credentials \u003d credentialcache.defaultentials; // req. CLIENTCERTISTATATATATATATATATES.ADD (X509Certificate2.CreatefromCertfile ("C: \\\\ temp \\\\ cert \\\\ c1.cer")); mycerts mycert \u003d νέα mycerts (); αν (mycert.init ()\u003e 0) req.ClientCertificates.add ( Mycert) · console.writeline (mycert.thumbprint) · console.writeline (mycert.thumbprint) · αποτέλεσμα \u003d (httpwebresponse) req.getresponse () · streamwriter συγγραφέας \u003d νέος streamwriter (@ "c: /123.txt") Receivestream \u003d αποτέλεσμα.getresponsestream (); # #region για αρχεία xml κωδικοποίηση κωδικοποίησης \u003d system.text.encoding.default; #endregion #region Για τους ιστότοπους // κωδικοποίηση κωδικοποίησης \u003d system.text.encoding.egetEncodinging ("UTF-8"). #Endregion streamreader sr \u003d νέος streamreader (premeivestream, κωδικοποίηση); Console.writeline ("\\ r \\ nresponse stream"); Char διαβάσει \u003d νέο char? Int count \u003d sr.read (διαβάστε, 0, 256). Console.writeline ("απάντηση http ... \\ r \\ n"); Ενώ (μετρήστε\u003e 0) (str str \u003d Νέα συμβολοσειρά (διαβάστε, 0, μετρήστε). Console.write (str); writer.writeline (str); count \u003d sr.read (διαβάστε, 0, 256);) συγγραφέας. Κλείσε (); ) Catch (webexception e) (console.writeline (e.message);) Τέλος (εάν (αποτέλεσμα! \u003d Null) (αποτέλεσμα))) // \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d Δημόσια τάξη MyPolicy: IcytificatePolicy (ServicePoint SrvPoinTresult (ServicePoint Srvpoint, X509Certificate πιστοποιητικό, αίτημα WebRequest, INT πιστοποιητικό) (επιστροφή)) // \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d CRASS CERTTSAMPE (στατικός κενός κύριος (String Arts ) (//console.writeline( "kuds θα θρηνήσετε; "); // str str \u003d console.Readline (); // αν (! str.startswith (" http: // ")) // Εάν (! Str.startswith ("https: //")) // str \u003d "http: //" + string str str \u003d @ "https:///192.168.191.248/xml/80020.xml"; console.writeline ("connect σε "+ str); δοκιμάστε (myhttpresource hr \u003d new myhttpresource (str); //" http:///br.eso-ups.cru/public/docs/doclist.aspx "hr.getfile ();) catch (εξαίρεση Ε) (Console.writeline (Ε. Μήνυμα); ) ΕΠΙΣΤΡΟΦΗ; )

Συνεχίζοντας το θέμα:
Λειτουργός

Έχω μια υπηρεσία Web που εγγράφηκα μέσω "Προσθέστε έναν σύνδεσμο στην υπηρεσία" για την οποία απαιτείται https και πιστοποιητικό. Παρακάτω είναι ο κώδικας μου για τη δημιουργία μιας στιγμής ...

Νέα άρθρα
/
Δημοφιλής