[GH-ISSUE #1749] SSL handshake failed after trusting the certificate #1742

Open
opened 2026-03-03 19:53:58 +03:00 by kerem · 17 comments
Owner

Originally created by @Depisdrul on GitHub (Aug 22, 2023).
Original GitHub issue: https://github.com/ProxymanApp/Proxyman/issues/1749

Description

Steps to Reproduce

image

  1. Downloaded and installed proxyman. Installed certificate on Mac. Turned off all VPN
  2. Connected to the same wifi network on phone. Connection quality is good. Turned to Wifi proxy to Manual and inserted the address and port
  3. Went to http://proxy.man.ssl, downloaded and installed the certificate
  4. go to google.com on phone

Current Behavior

Cannot intercept any response from my test App (debug version, with the correct setup) but also not even the simple troubleshooting steps of checking the google endpoint
image

Expected Behavior

I can see the responses of Google and my app in debug version

Environment

Phone: Galaxy A13, Android 13
Computer: Proxyman Version 4.9.1 (49001), Mac OS 13.4.1 (c) ARM64

Originally created by @Depisdrul on GitHub (Aug 22, 2023). Original GitHub issue: https://github.com/ProxymanApp/Proxyman/issues/1749 ## Description ## Steps to Reproduce ![image](https://github.com/ProxymanApp/Proxyman/assets/52414505/32b93193-8114-439c-8ac1-07f11bdf3c37) 1. Downloaded and installed proxyman. Installed certificate on Mac. Turned off all VPN 2. Connected to the same wifi network on phone. Connection quality is good. Turned to Wifi proxy to Manual and inserted the address and port 3. Went to http://proxy.man.ssl, downloaded and installed the certificate 4. go to google.com on phone ## Current Behavior Cannot intercept any response from my test App (debug version, with the correct setup) but also not even the simple troubleshooting steps of checking the google endpoint ![image](https://github.com/ProxymanApp/Proxyman/assets/52414505/a79c1be1-cfa2-4a87-bf43-e2f995fb6b03) ## Expected Behavior I can see the responses of Google and my app in debug version ## Environment Phone: Galaxy A13, Android 13 Computer: Proxyman Version 4.9.1 (49001), Mac OS 13.4.1 (c) ARM64
Author
Owner

@NghiaTranUIT commented on GitHub (Aug 22, 2023):

You have to follow all steps from the Setup Guide, especially step 5.

<!-- gh-comment-id:1688364413 --> @NghiaTranUIT commented on GitHub (Aug 22, 2023): You have to follow all steps from the Setup Guide, especially step 5.
Author
Owner

@NghiaTranUIT commented on GitHub (Aug 22, 2023):

it means that you can only intercept your app, because you have to edit the network.xml file.

If you'd like to intercept entire Android, you have to follow this guide to install the certificate into the System Android: https://docs.mitmproxy.org/stable/howto-install-system-trusted-ca-android/

It's quite tricky to do it.

<!-- gh-comment-id:1688367788 --> @NghiaTranUIT commented on GitHub (Aug 22, 2023): it means that you can only intercept your app, because you have to edit the network.xml file. If you'd like to intercept entire Android, you have to follow this guide to install the certificate into the System Android: https://docs.mitmproxy.org/stable/howto-install-system-trusted-ca-android/ It's quite tricky to do it.
Author
Owner

@Depisdrul commented on GitHub (Aug 22, 2023):

You have to follow all steps from the Setup Guide, especially step 5.

This was already done, that is why I opened an issue. Is it still not working despite us following the guidelines

I actually have no need to intercept the whole system, but your guide advised you try to do this to check that your setup was correct. In case you are not supposed to be able to do this, I suggest updating the material with an explaination

<!-- gh-comment-id:1688440873 --> @Depisdrul commented on GitHub (Aug 22, 2023): > You have to follow all steps from the Setup Guide, especially step 5. This was already done, that is why I opened an issue. Is it still not working despite us following the guidelines I actually have no need to intercept the whole system, but your guide advised you try to do this to check that your setup was correct. In case you are not supposed to be able to do this, I suggest updating the material with an explaination
Author
Owner

@NghiaTranUIT commented on GitHub (Aug 22, 2023):

go to google.com on phone

I guess you're using Google Chrome on Android Emulator. Unfortunately, it doesn't work with Google Chrome. Android only allows developers to intercept HTTPS from your own app, which is also defined in the network.xml file.

To intercept traffic from Google Chrome app, you should follow the guide in my previous comment, to install the certificate to the System.

<!-- gh-comment-id:1688464017 --> @NghiaTranUIT commented on GitHub (Aug 22, 2023): > go to google.com on phone I guess you're using Google Chrome on Android Emulator. Unfortunately, it doesn't work with Google Chrome. Android only allows developers to intercept HTTPS from your own app, which is also defined in the `network.xml` file. To intercept traffic from Google Chrome app, you should follow the guide in my previous comment, to install the certificate to the System.
Author
Owner

@Depisdrul commented on GitHub (Aug 23, 2023):

I guess you're using Google Chrome on Android Emulator. Unfortunately, it doesn't work with Google Chrome. Android only allows developers to intercept HTTPS from your own app, which is also defined in the network.xml file.

To intercept traffic from Google Chrome app, you should follow the guide in my previous comment, to install the certificate to the System.

I am not using any emulators, as described in the issue 😄 I am using my own app on a real Android device

<!-- gh-comment-id:1689704367 --> @Depisdrul commented on GitHub (Aug 23, 2023): > I guess you're using Google Chrome on Android Emulator. Unfortunately, it doesn't work with Google Chrome. Android only allows developers to intercept HTTPS from your own app, which is also defined in the network.xml file. > To intercept traffic from Google Chrome app, you should follow the guide in my previous comment, to install the certificate to the System. I am not using any emulators, as described in the issue 😄 I am using my own app on a real Android device
Author
Owner

@NghiaTranUIT commented on GitHub (Aug 23, 2023):

Ah, I mean: Android devices or Android emulators are the same. You need to install the certificate to the System CA, in order to decrypt HTTPS traffic from Google Chrome.

<!-- gh-comment-id:1689747759 --> @NghiaTranUIT commented on GitHub (Aug 23, 2023): Ah, I mean: Android devices or Android emulators are the same. You need to install the certificate to the System CA, in order to decrypt HTTPS traffic from Google Chrome.
Author
Owner

@Depisdrul commented on GitHub (Aug 23, 2023):

Thanks! However, don't need to decrypt traffic from Google Chrome, as I explained earlier, I need to decrypt to test a custom App (for which the developer has followed the setup steps)
The Google issue was that the Proxyman guide suggested trying to read the response from google to check if the setup was already completed. If it is impossible to do so with the basic setup on Android, maybe it should be indicated in the comment

Is the "install the certificate to the System CA" the step from the initial guide instructing you to open http://proxy.man.ssl page to download and install the CA certificate on Android?

<!-- gh-comment-id:1690116484 --> @Depisdrul commented on GitHub (Aug 23, 2023): Thanks! However, don't need to decrypt traffic from Google Chrome, as I explained earlier, I need to decrypt to test a custom App (for which the developer has followed the setup steps) The Google issue was that the Proxyman guide suggested trying to read the response from google to check if the setup was already completed. If it is impossible to do so with the basic setup on Android, maybe it should be indicated in the comment Is the "install the certificate to the System CA" the step from the initial guide instructing you to open `http://proxy.man.ssl` page to download and install the CA certificate on Android?
Author
Owner

@Depisdrul commented on GitHub (Sep 12, 2023):

@NghiaTranUIT Any update on this?

<!-- gh-comment-id:1715856463 --> @Depisdrul commented on GitHub (Sep 12, 2023): @NghiaTranUIT Any update on this?
Author
Owner

@NghiaTranUIT commented on GitHub (Sep 13, 2023):

I need to decrypt to test a custom App (for which the developer has followed the setup steps)

Is it your app and do you have the source code?

Step 5 requires adding the network_security_config.xml into your source code, in order to decrypt the HTTPS traffic from your own app. If you debug apps from the Google Store, you can't finish the setup 5 -> Can't decrypt HTTPS traffic.

<!-- gh-comment-id:1716859457 --> @NghiaTranUIT commented on GitHub (Sep 13, 2023): > I need to decrypt to test a custom App (for which the developer has followed the setup steps) Is it your app and do you have the source code? Step 5 requires adding the `network_security_config.xml` into your source code, in order to decrypt the HTTPS traffic from your own app. If you debug apps from the Google Store, you can't finish the setup 5 -> Can't decrypt HTTPS traffic.
Author
Owner

@NghiaTranUIT commented on GitHub (Sep 13, 2023):

If you want to decrypt HTTPS traffic from an app on Google Play, you also don't have a source code. It's trickier. You have to install the Proxyman CA Certificate into the system (Not User) by following this Docs: https://docs.mitmproxy.org/stable/howto-install-system-trusted-ca-android/

<!-- gh-comment-id:1716860211 --> @NghiaTranUIT commented on GitHub (Sep 13, 2023): If you want to decrypt HTTPS traffic from an app on Google Play, you also don't have a source code. It's trickier. You have to install the Proxyman CA Certificate into the system (Not User) by following this Docs: https://docs.mitmproxy.org/stable/howto-install-system-trusted-ca-android/
Author
Owner

@Depisdrul commented on GitHub (Sep 13, 2023):

Is it your app and do you have the source code?

I have installed the App from an apk file that was provided by the developer himself with the debugging setup, as described by your guide. Also, I followed the steps to setup the computer with proxyman and the phone with the App (as described by your guide). In short, we followed the instructions by the book, so I don't see why after following the procedure I still cannon see the requests from the App

<!-- gh-comment-id:1717067148 --> @Depisdrul commented on GitHub (Sep 13, 2023): > Is it your app and do you have the source code? I have installed the App from an apk file that was provided by the developer himself with the debugging setup, as described by your guide. Also, I followed the steps to setup the computer with proxyman and the phone with the App (as described by your guide). In short, we followed the instructions by the book, so I don't see why after following the procedure I still cannon see the requests from the App
Author
Owner

@Depisdrul commented on GitHub (Oct 19, 2023):

@NghiaTranUIT Any news on this?

<!-- gh-comment-id:1770504659 --> @Depisdrul commented on GitHub (Oct 19, 2023): @NghiaTranUIT Any news on this?
Author
Owner

@NghiaTranUIT commented on GitHub (Oct 19, 2023):

Sorry, it's really difficult to tell what's wrong. Here are some I suspect:

  • Maybe your dev team provides the Android app with the wrong config. Please request your teammate, to follow the new Android Setup Guide. This new setup doesn't require to add the app domains.
  • Your dev teammate: Make sure 2 files are added: res/xml/network_security_config.xml and AndroidManifest.xml
  • Your dev teammate: Ask them to disable the SSL Pinning if it's enabled.

Your turn:

  • Make sure you've installed the certificate on your Mac correctly.
  • Follow the Android setup guide -> Install the certificate to your Android. Verify Proxyman CA Certificate is in the Trusted Credential Tab
Screenshot 2023-10-19 at 20 12 27
<!-- gh-comment-id:1770963684 --> @NghiaTranUIT commented on GitHub (Oct 19, 2023): Sorry, it's really difficult to tell what's wrong. Here are some I suspect: - Maybe your dev team provides the Android app with the wrong config. Please request your teammate, to follow the new [Android Setup Guide](https://docs.proxyman.io/debug-devices/android-device#1.-android-setup-guide). This new setup doesn't require to add the app domains. - Your dev teammate: Make sure 2 files are added: `res/xml/network_security_config.xml` and `AndroidManifest.xml` - Your dev teammate: Ask them to disable the SSL Pinning if it's enabled. --------- Your turn: - Make sure you've installed the certificate on your Mac correctly. - Follow the Android setup guide -> Install the certificate to your Android. Verify Proxyman CA Certificate is in the Trusted Credential Tab <img width="786" alt="Screenshot 2023-10-19 at 20 12 27" src="https://github.com/ProxymanApp/Proxyman/assets/5878421/bc5f7bb7-19de-418f-9db5-3886eeacd189">
Author
Owner

@NghiaTranUIT commented on GitHub (Oct 19, 2023):

It's better to request your Dev teammate to try it on his devices, with his setup -> To verify it's working on his side first.

Then, ship the APK file to your side.

<!-- gh-comment-id:1770965088 --> @NghiaTranUIT commented on GitHub (Oct 19, 2023): It's better to request your Dev teammate to try it on his devices, with his setup -> To verify it's working on his side first. Then, ship the APK file to your side.
Author
Owner

@sriadimanav commented on GitHub (Nov 10, 2023):

UPDATE: tried this tool
https://github.com/shroudedcode/apk-mitm
after that it worked
NOTE: my app is built using react native, which uses Android OkHttp library for network calls link

so my question is @NghiaTranUIT, what this tools is doing extra that it is working

<!-- gh-comment-id:1805257856 --> @sriadimanav commented on GitHub (Nov 10, 2023): UPDATE: tried this tool https://github.com/shroudedcode/apk-mitm after that it worked NOTE: my app is built using react native, which uses Android OkHttp library for network calls [link](https://www.callstack.com/blog/ssl-pinning-in-react-native-apps) so my question is @NghiaTranUIT, what this tools is doing extra that it is working
Author
Owner

@sriadimanav commented on GitHub (Nov 10, 2023):

UPDATE: How to ignore SSL for react native
https://medium.com/@rushitjivani/how-to-ignore-ssl-for-react-native-android-ios-4942e10ea667

<!-- gh-comment-id:1805546613 --> @sriadimanav commented on GitHub (Nov 10, 2023): UPDATE: How to ignore SSL for react native https://medium.com/@rushitjivani/how-to-ignore-ssl-for-react-native-android-ios-4942e10ea667
Author
Owner

@cyb-jenkins commented on GitHub (Oct 22, 2024):

You have to follow all steps from the Setup Guide, especially step 5.

This was already done, that is why I opened an issue. Is it still not working despite us following the guidelines

I actually have no need to intercept the whole system, but your guide advised you try to do this to check that your setup was correct. In case you are not supposed to be able to do this, I suggest updating the material with an explaination

Hi, Please try these steps :

-In Proxyman go to Certificates tab and do Reset of all Proxyman certificates.
-Once reset is done , again in same tab Install certificate on windows/Mac.
Now try to intercept traffic.

image

<!-- gh-comment-id:2428126318 --> @cyb-jenkins commented on GitHub (Oct 22, 2024): > > You have to follow all steps from the Setup Guide, especially step 5. > > This was already done, that is why I opened an issue. Is it still not working despite us following the guidelines > > I actually have no need to intercept the whole system, but your guide advised you try to do this to check that your setup was correct. In case you are not supposed to be able to do this, I suggest updating the material with an explaination Hi, Please try these steps : -In Proxyman go to Certificates tab and do Reset of all Proxyman certificates. -Once reset is done , again in same tab Install certificate on windows/Mac. Now try to intercept traffic. ![image](https://github.com/user-attachments/assets/52d6411c-61bf-48f9-ab8c-7d2525adc26c)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Proxyman#1742
No description provided.