ProxymanApp / ProxymanApp/Proxyman

Invalid certificates due to clock skew and strict value for Not Valid Before

Open
#2,355 3 comments 0 reactions 1 assignee View on GitHub

@NghiaTranUIT is already working on this.

Since May 26, 2025.

✅ Done bug
Dominant language
No language data
Stars
7k
Forks
237
PR merge metrics
No merged PRs in 30d

Description

Description

Proxyman sets the Not Valid Before value of certificates to the exact time a domain was first accessed by some client device. This cause a problem if there's some clock skew between the host device running Proxyman and the client device using the proxy. In this scenario, the certificate is not yet valid and is rejected by the client.

Image

I'm currently facing this issue when inspecting traffic from a VM running on the same computer as Proxyman. Every time I first access something, the certificate gets rejected.

While I could manually adjust the clock of the target device so that it is always ahead of the clock of Proxyman, this also prevents inspecting traffic on situations where time manipulation is necessary. Sometimes it is necessary to purposefully change the date and time of the device to something in the past to run experiments. In that case, the certificate will never be valid unless the clock of the computer running Proxyman is also changed.

Steps to Reproduce

  1. Generate a new CA in Proxyman
  2. Start the Proxyman proxy
  3. Make some device use the HTTPS proxy
  4. Install the Proxyman CA on the device
  5. Change the time of the device so it's 1 minute behind the clock of the computer running Proxyman
  6. Access some website that you haven't accessed before

Current Behavior

The certificate contains a Not Valid Before value that prevents it from being valid in the client device.

Expected Behavior

The certificate should contain a Not Valid Before value that allows the clock of client devices to be running behind the clock of the computer running Proxyman.

I believe that setting this to 1970-01-01T00:00:00Z would be ideal to encompass all possible use cases.

Environment

  • App version: Proxyman Version 5.19.0 (51900)
  • macOS version: macOS Version 15.5 (Build 24F74)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.