Skip to content

[Bug]: Explicitly sending no client certificates broken since v1.61.0 #42546

Description

Version

1.62.1

Steps to reproduce

  1. Clone https://github.com/egfx-notifications/playwright-bug-client-certificates
  2. npm install
  3. npm test
  4. To verify this worked before:
npm run install:baseline
npm test

Expected behavior

The test option clientCertificates can be used to explicitly send no client certificate and suppress the certificate selection prompt in the browser. This is documented as a feature in https://playwright.dev/docs/api/class-testoptions#test-options-client-certificates

Client certificate authentication is only active when at least one client certificate is provided. If you want to reject all client certificates sent by the server, you need to provide a client certificate with an origin that does not match any of the domains you plan to visit.

Actual behavior

The proxy no longer activates for origins missing in clientCertificates, thus making the provide a client certificate with an origin that does not match any of the domains you plan to visit feature impossible to use.

Additional context

This is a regression introduced in #41113

I will open a PR with a suggested fix that reenables the possibility to opt out of sending client certificates while keeping the "only use proxy if needed" improvement that #41113 introduced.

Environment

System:
    OS: Windows 11 10.0.26200
    CPU: (22) x64 Intel(R) Core(TM) Ultra 7 165H
    Memory: 35.92 GB / 63.45 GB
  Binaries:
    Node: 24.15.0 - C:\Users\sch0024f\scoop\apps\nvm\current\nodejs\nodejs\node.EXE
    npm: 11.12.1 - C:\Users\sch0024f\scoop\apps\nvm\current\nodejs\nodejs\npm.CMD
    pnpm: 10.33.3 - C:\Users\sch0024f\scoop\apps\nvm\current\nodejs\nodejs\pnpm.CMD
    Deno: 2.9.5 - C:\Users\sch0024f\scoop\shims\deno.EXE
  IDEs:
    VSCode: 1.136.0 - C:\Users\sch0024f\AppData\Local\Programs\Microsoft VS Code\bin\code.CMD
    Claude Code: 2.1.259 - C:\msys64\home\sch0024f\.local\bin\claude.EXE
  Languages:
    Bash: 5.3.15 - C:\msys64\usr\bin\bash.EXE
  npmPackages:
    @playwright/test: ^1.62.1 => 1.62.1

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions