Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 16115|Απάντηση: 2

Λύση για τη σύλληψη πακέτων μετά από άγνωστα και μη έγκυρα πιστοποιητικά Android 7.0

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 18/3/2019 9:38:06 μ.μ. | | | |
φόντο

Όταν χρησιμοποιείτε λογισμικό καταγραφής πακέτων (λαμβάνοντας ως παράδειγμα τον Charles) για την καταγραφή του αιτήματος https της εφαρμογής, τόσο το Android όσο και ο Charles έχουν εγκαταστήσει σωστά το πιστοποιητικό, αλλά η σύλληψη πακέτων αποτυγχάνει και αναφέρεται σφάλμα:

Αποτυχία χειραψίας SSL υπολογιστή-πελάτη: Παρουσιάστηκε άγνωστο πρόβλημα κατά την επεξεργασία του πιστοποιητικού (certificate_unknown)



Αιτία

Μετά το Android7.0, το πιστοποιητικό CA που προστίθεται στο σύστημα από προεπιλογή δεν είναι αξιόπιστο:

Για να παρέχουν μια πιο συνεπή και πιο ασφαλή εμπειρία σε όλο το οικοσύστημα Android, ξεκινώντας από το Android Nougat, οι συμβατές συσκευές εμπιστεύονται μόνο τις τυποποιημένες αρχές έκδοσης πιστοποιητικών συστήματος που διατηρούνται στο AOSP .


Σύνδεσμος τεκμηρίωσης:https://android-developers.googl ... ed-certificate.html

Αυτό σημαίνει ότι για εφαρμογές που βασίζονται σε SDK24 και νεότερη έκδοση, ακόμα κι αν έχετε εγκατεστημένο στο τηλέφωνό σας ένα πιστοποιητικό του εργαλείου καταγραφής πακέτων, δεν θα μπορείτε να καταγράψετε αιτήματα https.

λύση

1. Επίσημη λύση (απαιτείται τροποποίηση κώδικα)

Επίσημη τεκμηρίωση:https://developer.android.google ... ecurity-config.html
Αναλυτική επίδειξη:https://blog.csdn.net/mrxiagc/article/details/75329629

2. Εγκαταστήστε το πιστοποιητικό του λογισμικού λήψης πακέτων ως πιστοποιητικό συστήματος (απαιτείται ROOT)

Κατάλογος πιστοποιητικών συστήματος: /system/etc/security/cacerts/

Η σύμβαση ονομασίας για κάθε πιστοποιητικό είναι η εξής:
<Certificate_Hash>. <Number>

Το όνομα του αρχείου είναι μια τιμή κατακερματισμού, ενώ το επίθημα είναι ένας αριθμός.

Το όνομα αρχείου μπορεί να υπολογιστεί με την ακόλουθη εντολή:


Για παράδειγμα, εάν η τιμή κατακερματισμού που υπολογίζεται από δύο πιστοποιητικά είναι η ίδια, τότε ο αριθμός επιθήματος ενός πιστοποιητικού μπορεί να οριστεί σε 0 και ο αριθμός επιθήματος του άλλου πιστοποιητικού μπορεί να οριστεί σε 1

Βήματα:

Χρησιμοποιήστε την παραπάνω εντολή για να υπολογίσετε την τιμή κατακερματισμού του πιστοποιητικού του λογισμικού λήψης πακέτων, να το μετονομάσετε και να το αντιγράψετε στον κατάλογο πιστοποιητικών συστήματος



Προς το παρόν, θα πρέπει να μπορείτε να δείτε το πιστοποιητικό που προστέθηκε πρόσφατα στην καρτέλα Σύστημα των Ρυθμίσεων - > Ασφάλεια - > Κρυπτογράφηση και διαπιστευτήρια - > Αξιόπιστα διαπιστευτήρια







Προηγούμενος:Δεξιότητες συνέντευξης JavaScript front-end
Επόμενος:Πώς να εφαρμόσετε την επαλήθευση κωδικού επαλήθευσης στη σελίδα προορισμού?????
Δημοσιεύτηκε στις 19/3/2019 9:13:25 π.μ. |
Μπορώ να ρωτήσω τον ιδιοκτήτη, ορισμένες εφαρμογές και εφαρμογές θα αποτύχουν να καταγράψουν πακέτα μέσω διακομιστών μεσολάβησης, δεν ξέρω πώς να το λύσω;
Δημοσιεύτηκε στις 6/9/2019 10:55:58 μ.μ. |
Κοιτάξτε το αφεντικό
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com