Chrome network error · -117 · Connection

ERR_BAD_SSL_CLIENT_AUTH_CERT

The server asked for a client certificate (mutual TLS) and rejected the one Chrome sent, or got none.

Chromium's description

The SSL handshake failed because of a bad or missing client certificate.

Chrome shows it as net::ERR_BAD_SSL_CLIENT_AUTH_CERT, error -117. puppeteer and Playwright report the same name when a page fails to load in Chromium.

Common causes

  • A site that requires a client certificate, such as a company portal, a government site or a smart-card login, and none is installed.
  • An expired or wrong client certificate.
  • An antivirus that intercepts HTTPS and cannot pass client certificates on.
  • A wrong system date.

How to fix ERR_BAD_SSL_CLIENT_AUTH_CERT

  1. Install the client certificate you were given, or insert the smart card.
  2. Check the system date and time.
  3. Turn off HTTPS scanning of the antivirus.
  4. Ask the site’s administrator which certificate it expects.

ERR_BAD_SSL_CLIENT_AUTH_CERT in the screenshot API

The renderer sends no client certificates, so pages that require mutual TLS cannot be captured: the API answers 502 with the message The target website could not be loaded (ERR_BAD_SSL_CLIENT_AUTH_CERT). (or a similar TLS error). Not billed.

Only the page's own load can fail a render. An image, script or frame of the page that fails with a network error does not: the page is captured as the browser shows it without that resource.

Check whether a website loads

Rendered in a real browser with cookie banners hidden. Takes 5–30 seconds.

Frequently asked questions

What does ERR_BAD_SSL_CLIENT_AUTH_CERT mean?

The server asked for a client certificate (mutual TLS) and rejected the one Chrome sent, or got none.

How do I fix ERR_BAD_SSL_CLIENT_AUTH_CERT?

Install the client certificate you were given, or insert the smart card.

Is a screenshot that fails with ERR_BAD_SSL_CLIENT_AUTH_CERT billed?

No. Requests the screenshot API answers with an error are not billed.

Other common errors

All 249 Chrome network errors · Screenshot API errors

Screenshot API

Take screenshots from your code

screenshotbase renders any website in a real browser and returns the image: full page or viewport, any device size, retina, from 100+ countries, with cookie banners and ads hidden.

/v1/take documentation Screenshot API All documentation

300 free screenshots every month. No credit card required.

GET https://api.screenshotbase.com/v1/take?url=https://example.com&full_page=true

# Response: the image (PNG, JPG, WebP or GIF)
curl -G "https://api.screenshotbase.com/v1/take" \
  --data-urlencode "url=https://example.com" \
  -d viewport_width=1280 -d viewport_height=800 \
  -d format=png \
  -H "apikey: YOUR-API-KEY" \
  -o screenshot.png

More free tools

Start using our Screenshot API for free today!

Get 300 requests / month for free