Certificats Let's Encrypt
Find a file
Liam Marshall 18da7dfce2 Implement @pde's suggestions for Apache
From this IRC log:
2015-11-02 16:31:29	@pdeee	for >= 2.4.8:
2015-11-02 16:32:23	@pdeee	add new SSLCertificateFile pointing to fullchain.pem
2015-11-02 16:33:10	@pdeee	remove all preexisting SSLCertificateFile, SSLCertificateChainFile, SSLCACertificatePath, and possibly other fields subject to careful research :)
2015-11-02 16:33:21	@pdeee	for < 2.4.8:
2015-11-02 16:34:03	@pdeee	add SSLCertificateFile pointing to cert.pem
2015-11-02 16:34:42	@pdeee	and SSLCertificateChainFile pointing to chain.pem
2015-11-02 16:34:50	xamnesiax	gotcha
2015-11-02 16:34:55	@pdeee	remove all preexisting/conflicting entries
2015-11-02 16:35:19	xamnesiax	Am I correct to assume that this can all be done from deploy_certs in the apache configurator?
2015-11-02 16:36:32	xamnesiax	deploy_cert *
2015-11-02 16:36:48	@pdeee	I think so
2015-11-02 16:36:59	@pdeee	again, jdkasten may wish to say more

Pull strings out for find_dir

A bit of logging

Add version logging

Logging, temporarily remove one branch

of the conditional for testing

Fix bad directive stringgrabbing code

Fix directive removal logic

Grab string from tree to be removed
2015-11-09 22:12:39 -06:00
acme User-Agent support in acme (default: acme-python, fixes #1351). 2015-11-07 08:55:54 +00:00
bootstrap Merge remote-tracking branch 'kuba/auto-2.6-squeeze' into both 2015-11-04 17:09:44 -08:00
docs Merge pull request #1382 from koobs/patch-1 2015-11-06 16:00:17 -08:00
examples Move example ACME client to acme subpkg 2015-10-28 07:10:53 +00:00
letsencrypt Merge pull request #1361 from letsencrypt/both 2015-11-05 20:21:09 -08:00
letsencrypt-apache Implement @pde's suggestions for Apache 2015-11-09 22:12:39 -06:00
letsencrypt-compatibility-test Add Python 2.6 setup.py classifiers. 2015-10-31 11:47:25 +00:00
letsencrypt-nginx fix 2 IndexErrors in the nginx plugin 2015-11-07 16:21:47 +00:00
letshelp-letsencrypt Add Python 2.6 setup.py classifiers. 2015-10-31 11:47:25 +00:00
tests Rename --simple-http-port to --http-01-port 2015-11-01 11:01:23 +00:00
tools Fix docs for deps.sh 2015-10-31 11:48:33 +00:00
.dockerignore Update ignore files to remove shared tox.venv 2015-07-12 15:30:51 +00:00
.gitattributes Add gitattributes file to mark bat file as CRLF 2015-10-27 22:53:20 +01:00
.gitignore Simple dev release script 2015-09-27 16:12:50 +00:00
.pep8 nit: fix missing EOF newline 2015-09-06 09:27:39 +00:00
.pylintrc Merge branch 'verb-arguments' 2015-11-02 17:36:45 -08:00
.travis.yml Try an indirect fix (suggested by @pde) 2015-11-04 21:02:01 -06:00
CHANGES.rst Update references after repo rename. 2015-06-24 04:56:31 +00:00
CONTRIBUTING.md HTTPS ReadTheDocs link in CONTRIBUTING.md 2015-03-22 22:30:57 +00:00
DISCLAIMER --agree-dev-preview 2015-10-20 19:33:27 +00:00
docker-compose.yml Use a discrete path for venv in docker, rather than /opt/letsencrypt. 2015-05-19 17:39:53 -07:00
Dockerfile requirements.txt: rename to py26reqs.txt and remove it from deps where possible. 2015-10-31 12:22:42 +00:00
Dockerfile-dev requirements.txt: rename to py26reqs.txt and remove it from deps where possible. 2015-10-31 12:22:42 +00:00
letsencrypt-auto Fixed typo in script name when trying to boostrap for manjaro 2015-11-06 14:16:12 +01:00
LICENSE.txt Make sure the LICENSE file is accurate for first pre-relase 2015-09-30 19:23:17 -07:00
linter_plugin.py acme.jose: (Typed)JSONObjectWithFields, Field, JWA. 2015-03-18 14:10:28 +00:00
MANIFEST.in requirements.txt: rename to py26reqs.txt and remove it from deps where possible. 2015-10-31 12:22:42 +00:00
pep8.travis.sh Travis: no fail on pep8 2015-09-11 07:12:49 +00:00
py26reqs.txt requirements.txt: rename to py26reqs.txt and remove it from deps where possible. 2015-10-31 12:22:42 +00:00
README.rst Directly link to contributing docs in README 2015-10-27 20:12:34 +01:00
readthedocs.org.requirements.txt RTD: install local deps for subpkgs (fixes #1086). 2015-10-23 19:01:13 +00:00
setup.cfg Merge branch 'bugs/402' into pkgs_sep_prep 2015-05-10 17:56:41 +00:00
setup.py Merge remote-tracking branch 'github/letsencrypt/master' into py2.6-3 2015-10-17 07:28:04 +00:00
tox.cover.sh Bump core coverage to 98% 2015-10-06 18:58:06 +00:00
tox.ini requirements.txt: rename to py26reqs.txt and remove it from deps where possible. 2015-10-31 12:22:42 +00:00
Vagrantfile Vagrantfile: use recommended bootstrap scripts for provisioning 2015-10-27 17:34:18 -05:00

.. 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
----------------

* Supports multiple web servers:

  - apache/2.x (tested and working on Ubuntu Linux)
  - nginx/0.8.48+ (under development)
  - standalone (runs its own simple webserver to prove you control a 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 bit-length (2048 (default), 4096, ...).
* Can optionally install a http -> https redirect, so your site effectively
  runs https only (Apache only)
* Fully automated.
* Configuration changes are logged and can be reverted.
* 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: https://letsencrypt.readthedocs.org/en/latest/contributing.html

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