Skip to content

Traefik should prompt for MTLs client certificates in the browser #10643

@Daniel-dev22

Description

@Daniel-dev22

Welcome!

  • Yes, I've searched similar issues on GitHub and didn't find any.
  • Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you expect to see?

When using RequireAndVerifyClientCert traefik doesn't request the certificate from clients such as in the browser.

I'm not sure if RequestClientCert would work to trigger a browser prompt but it's not something I would even consider using because RequestClientCert doesn't require and # verify certificates. It simply lets you provide anything or nothing which defeats the purpose of MTLs authentication in my opinion.

Cloudflare for example properly does MTLs prompts and if the client certificate is not provided/not verified you can block the client from accessing the resource. Cloudflare isn't the only service that implements this correctly.

A quick Google search for "browser MTLs prompt" will show what I'm referring to.

Traefik never prompts for a certificate resulting in it failing with ERR_BAD_SSL_CLIENT_AUTH_CERT

Similar issues have been posted in the past however for some reason this still hasn't been implemented. Essentially limiting MTLs to server to server communication vs also being compatible with clients such as end user devices.

It's surprisingly hard to find how Cloudflare even does this.

Not sure this is the same thing as the server requesting this since this seems more frontend related and what Cloudflare and others do is not frontend related it happens before frontend connection even occurs.
https://www.electronjs.org/docs/latest/api/app#event-select-client-certificate

Here's how the prompt looks.
Screenshot_20240419_205422_Key Chain

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions