Skip to content

🔒 Memorable site for testing clients against bad SSL configs.

License

Notifications You must be signed in to change notification settings

chromium/badssl

Repository files navigation

Visitbadsslfor a list of test subdomains, including:

Server Setup

Stock Ubuntu VM, DNS A records forbadssl.and*.badssl.pointing to the VM.

Testing and development

  1. Follow the instructions toinstall Docker.

  2. Clone into the badssl repo by runninggit clone https://github /chromium/badssl && cd badssl.

  3. In order to access the various badssl subdomains locally you will need to add them to yoursystem hosts file.Runmake list-hostsand copy and paste the output into/etc/hosts.

  4. Start Docker by runningmake serve.

  5. You can now navigate tobadssl.testin your browser, and you should see a certificate error.

  6. The badssl root certificate is atcerts/sets/test/gen/crt/ca-root.crt.In order to get the rest of the badssl subdomains working, you will need to add this to your machine's list of trusted certificates.

    • OnmacOS,dragcerts/sets/test/gen/crt/ca-root.crtinto the login section of the program Keychain Access. A BadSSL Root Certificate Authority entry should appear in the list. Double-click on this entry and select "Always Trust" from the drop-down menu next to "Secure Sockets Layer (SSL)." Close the window to save your changes.

      If you are already familiar with this process, you can instead run this command:

      security add-trusted-cert -r trustRoot -p ssl \
      -k"$HOME/Library/Keychains/login.keychain"certs/sets/test/gen/crt/ca-root.crt
  7. In order to preserve the client and root certificates even after runningmake clean,run:

cdcerts/sets/test
mkdir -p pregen/crt pregen/key
cp gen/crt/ca-root.crt pregen/crt/ca-root.crt
cp gen/crt/client.crt pregen/crt/client.crt
cp gen/crt/client-ca-root.crt pregen/crt/client-ca-root.crt
cp gen/key/ca-root.key pregen/key/ca-root.key
cp gen/key/client.key pregen/key/client.key
cp gen/key/client-ca-root.key pregen/key/client-ca-root.key

Acknowledgments

badssl is hosted on Google Cloud infrastructure and co-maintained by:

Several public badssl certificates required special issuance processes. Most certificates were graciously issued for free, thanks to help from:

Various subdomains and test pages are also implemented byexternal contributors.

Disclaimer

badsslis meant formanualtesting of security UI in web clients.

Most subdomains are likely to have stable functionality, but anythingcouldchange without notice. If you would like a documented guarantee for a particular use case, please file an issue. (Alternatively, you could make a fork and host your own copy.)

badssl is not an official Google product. It is offered "AS-IS" and without any warranties.