|
When you validate server certificates from HTTPS clients, please be sure to use the right set of root certs. Mozilla maintain a decent list of these [1], but it's not in the PEM format that most HTTPS client libraries expect, e.g. Python's ssl.wrap_socket(sock, ca_certs="certs.pem"). Mozilla's list also includes distrusted certificates, so you need to be careful to leave them out when generating the PEM-encoded format. In fact, I'd strongly recommend using Adam Langley's excellent extract-nss-root-certs tool [2] which takes care of the subtle details for you. And, if you are willing to trust me, you can download my pre-generated PEM-encoded cacerts file from a month or so ago [3]. [1] https://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw... [2] https://github.com/agl/extract-nss-root-certs [3] https://github.com/downloads/tav/ampify/distfile.cacerts-201... |