mirror of
https://github.com/certbot/certbot.git
synced 2026-07-27 00:00:44 +02:00
c4042e6ce8c74e85854343b20350fb497d0232d6
This fixes race conditions, such as those in https://travis-ci.org/letsencrypt/letsencrypt/jobs/84990239: + nosetests -c /dev/null --with-cover --cover-tests --cover-package acme --cover-min-percentage=100 acme .......................................................................................................................................................................................................................................................................................................................................................Exception in thread Thread-5: Traceback (most recent call last): File "/opt/python/2.7.9/lib/python2.7/threading.py", line 810, in __bootstrap_inner self.run() File "/opt/python/2.7.9/lib/python2.7/threading.py", line 763, in run self.__target(*self.__args, **self.__kwargs) File "/opt/python/2.7.9/lib/python2.7/SocketServer.py", line 271, in handle_request timeout = self.socket.gettimeout() File "/opt/python/2.7.9/lib/python2.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args) File "/opt/python/2.7.9/lib/python2.7/socket.py", line 170, in _dummy raise error(EBADF, 'Bad file descriptor') error: [Errno 9] Bad file descriptor .127.0.0.1 - - [12/Oct/2015 20:08:23] "GET /foo HTTP/1.1" 404 - .127.0.0.1 - - [12/Oct/2015 20:08:23] "GET / HTTP/1.1" 200 - .127.0.0.1 - - [12/Oct/2015 20:08:23] "GET /.well-known/acme-challenge/eHh4eHh4eHh4eHh4eHh4eA HTTP/1.1" 200 - ..... Name Stmts Miss Cover Missing ------------------------------------------------------------ acme.py 0 0 100% acme/challenges.py 215 0 100% acme/challenges_test.py 366 0 100% acme/client.py 215 0 100% acme/client_test.py 308 0 100% acme/crypto_util.py 92 0 100% acme/crypto_util_test.py 53 0 100% acme/errors.py 19 0 100% acme/errors_test.py 18 0 100% acme/fields.py 32 0 100% acme/fields_test.py 41 0 100% acme/jose.py 8 0 100% acme/jose/b64.py 15 0 100% acme/jose/b64_test.py 38 0 100% acme/jose/errors.py 12 0 100% acme/jose/errors_test.py 8 0 100% acme/jose/interfaces.py 39 0 100% acme/jose/interfaces_test.py 73 0 100% acme/jose/json_util.py 170 0 100% acme/jose/json_util_test.py 214 0 100% acme/jose/jwa.py 105 0 100% acme/jose/jwa_test.py 58 0 100% acme/jose/jwk.py 114 0 100% acme/jose/jwk_test.py 96 0 100% acme/jose/jws.py 205 0 100% acme/jose/jws_test.py 145 0 100% acme/jose/util.py 114 0 100% acme/jose/util_test.py 126 0 100% acme/jws.py 17 0 100% acme/jws_test.py 27 0 100% acme/messages.py 184 0 100% acme/messages_test.py 198 0 100% acme/other.py 21 0 100% acme/other_test.py 48 0 100% acme/standalone.py 102 1 99% 58 acme/standalone_test.py 109 0 100% acme/test_util.py 28 0 100% acme/util.py 3 0 100% acme/util_test.py 7 0 100% ------------------------------------------------------------ TOTAL 3643 1 99% nose.plugins.cover: ERROR: TOTAL Coverage did not reach minimum required: 100%
.. notice for github users Disclaimer ========== This is a **DEVELOPER PREVIEW** intended for developers and testers only. **DO NOT RUN THIS CODE ON A PRODUCTION SERVER. IT WILL INSTALL CERTIFICATES SIGNED BY A TEST CA, AND WILL CAUSE CERT WARNINGS FOR USERS.** Browser-trusted certificates will be available in the coming months. For more information regarding the status of the project, please see https://letsencrypt.org. Be sure to checkout the `Frequently Asked Questions (FAQ) <https://community.letsencrypt.org/t/frequently-asked-questions-faq/26#topic-title>`_. About the Let's Encrypt Client ============================== |build-status| |coverage| |docs| |container| In short: getting and installing SSL/TLS certificates made easy (`watch demo video`_). The Let's Encrypt Client is a tool to automatically receive and install X.509 certificates to enable TLS on servers. The client will interoperate with the Let's Encrypt CA which will be issuing browser-trusted certificates for free. It's all automated: * The tool will prove domain control to the CA and submit a CSR (Certificate Signing Request). * If domain control has been proven, a certificate will get issued and the tool will automatically install it. All you need to do to sign a single domain is:: user@www:~$ sudo letsencrypt -d www.example.org auth For multiple domains (SAN) use:: user@www:~$ sudo letsencrypt -d www.example.org -d example.org auth and if you have a compatible web server (Apache or Nginx), Let's Encrypt can not only get a new certificate, but also deploy it and configure your server automatically!:: user@www:~$ sudo letsencrypt -d www.example.org run **Encrypt ALL the things!** .. |build-status| image:: https://travis-ci.org/letsencrypt/letsencrypt.svg?branch=master :target: https://travis-ci.org/letsencrypt/letsencrypt :alt: Travis CI status .. |coverage| image:: https://coveralls.io/repos/letsencrypt/letsencrypt/badge.svg?branch=master :target: https://coveralls.io/r/letsencrypt/letsencrypt :alt: Coverage status .. |docs| image:: https://readthedocs.org/projects/letsencrypt/badge/ :target: https://readthedocs.org/projects/letsencrypt/ :alt: Documentation status .. |container| image:: https://quay.io/repository/letsencrypt/letsencrypt/status :target: https://quay.io/repository/letsencrypt/letsencrypt :alt: Docker Repository on Quay.io .. _`installation instructions`: https://letsencrypt.readthedocs.org/en/latest/using.html .. _watch demo video: https://www.youtube.com/watch?v=Gas_sSB-5SU Current Features ---------------- * web servers supported: - apache/2.x (tested and working on Ubuntu Linux) - nginx/0.8.48+ (under development) - standalone (runs its own webserver to prove you control the domain) * the private key is generated locally on your system * can talk to the Let's Encrypt (demo) CA or optionally to other ACME compliant services * can get domain-validated (DV) certificates * can revoke certificates * adjustable RSA key bitlength (2048 (default), 4096, ...) * optionally can install a http->https redirect, so your site effectively runs https only (Apache only) * fully automated * configuration changes are logged and can be reverted using the CLI * text and ncurses UI * Free and Open Source Software, made with Python. Installation Instructions ------------------------- Official **documentation**, including `installation instructions`_, is available at https://letsencrypt.readthedocs.org. Links ----- Documentation: https://letsencrypt.readthedocs.org Software project: https://github.com/letsencrypt/letsencrypt Notes for developers: CONTRIBUTING.md_ Main Website: https://letsencrypt.org/ IRC Channel: #letsencrypt on `Freenode`_ Community: https://community.letsencrypt.org Mailing list: `client-dev`_ (to subscribe without a Google account, send an email to client-dev+subscribe@letsencrypt.org) .. _Freenode: https://freenode.net .. _client-dev: https://groups.google.com/a/letsencrypt.org/forum/#!forum/client-dev .. _CONTRIBUTING.md: https://github.com/letsencrypt/letsencrypt/blob/master/CONTRIBUTING.md
Description
Certbot is EFF's tool to obtain certs from Let's Encrypt and (optionally) auto-enable HTTPS on your server. It can also act as a client for any other CA that uses the ACME protocol.
146 MiB
Languages
Python
94.5%
Shell
3.7%
Batchfile
0.8%
Makefile
0.7%
Augeas
0.2%