Proxyman
HomepageDownload
  • Overview
  • Changelog
  • License
  • License Manager
  • Raycast
  • Command-line
  • Security Compliance
  • Proxyman iOS
    • Proxyman for iOS
    • Map Local for iOS
    • Breakpoint for iOS
    • Tutorial for iOS
      • Map Local for iOS Tutorial
      • Breakpoint for iOS Tutorial
  • Debug on Devices
    • macOS
    • iOS Device
    • iOS Simulator
    • tvOS & watchOS
    • Android Device & Emulator
      • Automatic Script for Android Emulator
      • Sample Android Project
    • Firefox
    • Java VMs
    • Python
    • Ruby
    • NodeJS
    • Rust
    • Golang
    • React Native
    • Flutter
    • HTTP Clients
    • Docker
    • ElectronJS
    • NextJS (fetch)
  • Automatic Setup
    • Automatic Setup
    • Manual Setup
    • Troubleshooting
  • Atlantis
    • Atlantis for iOS
  • BASIC FEATURES
    • Proxyman Proxy Helper Tool
    • Request / Response Previewer
    • SSL Proxying
    • Bypass Proxy List
    • Import / Export
    • Content Filter
    • Multiple Tabs
    • Horizontal/Vertical/Window Layout
    • Copy as
    • Custom Previewer Tab
    • Custom Header Column
    • Regex (Regular Expression)
    • Filter JSON Response
    • Highlight by Color and Add Comment
    • Import / Export Settings
    • Multipart Form-Data Previewer
    • JSONPath
    • Customize Toolbar
    • Localization
    • Quick Preview
  • ADVANCED FEATURES
    • Repeat
    • Edit & Repeat
    • Compose new Request
    • No Caching
    • Breakpoint
    • Breakpoint Templates
    • Map Local (File)
    • Map Local (Directory)
    • Map Remote
    • External Proxy
    • Save Session
    • Protobuf
    • WebSocket
    • Clear Session
    • Block List
    • Allow List
    • Charles Proxy Converter
    • Custom Certificates
    • GraphQL
    • Network Conditions
    • Multiple Filters
    • Custom Filters
    • Publish to Gist
    • Reverse Proxy
    • Code Generator
    • Diff
    • Access Control
    • DNS Spoofing
    • SOCKS Proxy
    • Swagger OpenAPI
    • TLS Key Logging
  • Proxyman Windows
    • Install Certificate
    • WSL
  • Scripting
    • Scripting
    • async/await Request
    • Addons
    • Built-in JS Libraries
    • Write your own Addons
    • Snippet Code
    • Environment Variables
  • Troubleshooting
    • Proxyman does not work with VPN apps
    • My Remote Devices (iOS/Android) could not connect to Proxyman?
    • iOS 16 and iOS 17 issues
    • SSL Error from HTTPS Request/Response
    • I could not see any requests from my localhost server
    • I could not see any HTTP traffic from my NodeJS, Python, or Ruby scripts
    • *.local requests do not appear on Proxyman
    • I couldn't see any traffics on Proxyman
    • I couldn't see any requests from 3rd-party network libraries
    • [Breakpoint] Modify Request/Response by Raw Message
    • Could not change Proxyman App Icons
    • Lost data after updating Proxyman app?
    • Proxyman consumes too much RAM & unresponsive
Powered by GitBook
On this page
  • 1. Problems
  • 2. Solution
  • 2.1 Mobile devices
  • iOS Device
  • iOS Simulator
  • Android Device
  • Android Emulator
  • React Native app
  • Flutter
  • Verify that you're able to see HTTPS Request/Response from https://google.com without any errors
  • 2.2 Macbook or Windows PC
  • 2.3 SSL-Pinning?
  1. Troubleshooting

SSL Error from HTTPS Request/Response

Explain why you get SSL Errors in Proxyman. Problems can be Your certificate isn't installed or trusted on your device

PreviousiOS 16 and iOS 17 issuesNextI could not see any requests from my localhost server

Last updated 7 months ago

1. Problems

  • You could not see any HTTPS traffic on the Proxyman app

  • You get SSL Error from HTTPS Requests and Responses.

  • You get SSL Handshake Failed

2. Solution

There are many reasons why SSL Handshake Failed, please walk through the below steps to address the problem.

2.1 Mobile devices

iOS Device

  • If you're intercepting some popular apps (e.g. Facebook, Instagram, Apple, Whatsapp, ...): They are protected by SSL Pinning -> Impossible to intercept them.

  • Verify that your iOS app doesn't have SSL Pinning. If yes, please disable it.

iOS Simulator

Android Device

  • Verify that the 5th step is completed (by adding your domain to two files: res/xml/network_security_config.xml and AndroidManifest.xml)

  • If you're trying to intercept Android apps that you're not an owner -> It isn't possible to intercept -> ❌

Android Emulator

  • Verify that the 5th step is completed (by adding your domain to two files: res/xml/network_security_config.xml and AndroidManifest.xml)

  • If you're trying to intercept Android apps that you're not an owner -> It isn't possible to intercept -> ❌

React Native app

Flutter

If you've tried and verified all the above steps, but still get SSL Errors?

Verify that you're able to see HTTPS Request/Response from https://google.com without any errors

  1. Get your devices

  2. Open the Web Browser (Safari on iOS or Google Chrome on Android)

  3. Visit https://google.com

  4. Select "Enable SSL Proxying" on this domain on the Proxyman app for macOS

  5. Verify if you're able to see the HTTPS Response or not.

✅ Success

  1. You're able to see https://google.com HTTPS Response, which means you set up the Certificate correctly -> It's good ✅

  2. The problem might be from your apps. Let's try again on your domains/apps -> If the SSL Error still happens, a high chance that this app is protected by the SSL Pinning.

❌ Failed!

2.2 Macbook or Windows PC

I get SSL Errors from:

Some networking libraries (Ruby, NodeJS, Python, Golang) don't trust the self-signed certificate by default. We have to explicitly tell the library to trust the certificate.

=> To fix it, please google "<Your framework/library> self-signed certificate", a found some answers on StackOverflow.

2.3 SSL-Pinning?

  • Please temporarily disable SSL-Pinning and try again.

Please also mention: Proxyman macOS/Windows, Proxyman version, your iOS/Android device, etc.

Follow this -> Make sure you've installed & trusted the Proxyman CA Certificate on your device.

Follow this -> Make sure you've installed & trusted the Proxyman CA Certificate on your device.

Follow this -> Make sure you've installed & trusted the Proxyman CA Certificate on your device.

Follow this -> Make sure you've installed & trusted the Proxyman CA Certificate on your device.

If your app is a React Native app, please follow the .

Please follow

If you believe that it's not an SSL Pinning case, please open a ticket on (Please mention what device, OS Version, app name, etc)

It seems Proxyman Certificate is not installed or trusted correctly in your devices. Please go back to the section and follow it.

If you verify that everything is done, but the SSL Error still happens, please open a ticket on (Please mention what device, OS Version, app name, etc)

Mac devices (Macbook, Mac Mini, Mac Studio) -> Install & Trust the Certificate on your Macbook -> Follow

Windows -> Install and trust the certificate on your Windows machine -> Follow

Java -> Follow

Firefox -> Follow

Python -> Follow

Ruby -> Follow

You're still unable to see HTTPS Response on your app, it seems that your app is protected by , which prevents MitM apps from seeing the content. All popular apps (Facebook, Apple, Instagram, Messenger, etc.) have this feature.

Read more about SSL-Pining:

If you've tried everything but are not sure what is wrong? Please open a .

iOS Setup Guide
iOS Simulator Setup Guide
Android Device Setup Guide
Android Emulator Setup Guide
React Native Guide
Flutter Setup Guide
Github
Github
macOS Guide
Windows guide
Java VM Guide
Firefox Guide
Python Guide
Ruby Guide
SSL-Pinning
https://www.raywenderlich.com/1484288-preventing-man-in-the-middle-attacks-in-ios-with-ssl-pinning
Github ticket
2.1 Mobile Device