Add py37 (#4298)

* test against python 3.7 for windows

* update docs to say we test on 3.7

* more succinct

* maybe make this actually work.

* link properly

* moar changes
diff --git a/.jenkins/Jenkinsfile-cryptography-wheel-builder b/.jenkins/Jenkinsfile-cryptography-wheel-builder
index c46238b..68991da 100644
--- a/.jenkins/Jenkinsfile-cryptography-wheel-builder
+++ b/.jenkins/Jenkinsfile-cryptography-wheel-builder
@@ -8,11 +8,11 @@
 def configs = [
     [
         label: 'windows',
-        versions: ['py27', 'py34', 'py35', 'py36'],
+        versions: ['py27', 'py34', 'py35', 'py36', 'py37'],
     ],
     [
         label: 'windows64',
-        versions: ['py27', 'py34', 'py35', 'py36'],
+        versions: ['py27', 'py34', 'py35', 'py36', 'py37'],
     ],
     [
         label: 'sierra',
@@ -49,9 +49,10 @@
                     py27: "C:\\Python27\\python.exe",
                     py34: "C:\\Python34\\python.exe",
                     py35: "C:\\Python35\\python.exe",
-                    py36: "C:\\Python36\\python.exe"
+                    py36: "C:\\Python36\\python.exe",
+                    py37: "C:\\Python36\\python.exe"
                 ]
-                if (version == "py35" || version == "py36") {
+                if (version == "py35" || version == "py36" || version == "py37") {
                     opensslPaths = [
                         "windows": [
                             "include": "C:\\OpenSSL-Win32-2015\\include",
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 57ea2da..c3a415c 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -8,6 +8,7 @@
 
 .. note:: This version is not yet released and is under active development.
 
+* Added support for Python 3.7.
 * Added :meth:`~cryptography.fernet.Fernet.extract_timestamp` to get the
   authenticated timestamp of a :doc:`Fernet </fernet>` token.
 * Support for Python 2.7.x without ``hmac.compare_digest`` has been deprecated.
diff --git a/Jenkinsfile b/Jenkinsfile
index 33bce2d..2697b8f 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -5,11 +5,11 @@
 def configs = [
     [
         label: 'windows',
-        toxenvs: ['py27', 'py34', 'py35', 'py36'],
+        toxenvs: ['py27', 'py34', 'py35', 'py36', 'py37'],
     ],
     [
         label: 'windows64',
-        toxenvs: ['py27', 'py34', 'py35', 'py36'],
+        toxenvs: ['py27', 'py34', 'py35', 'py36', 'py37'],
     ],
     [
         label: 'freebsd11',
@@ -152,9 +152,10 @@
                             py27: "C:\\Python27\\python.exe",
                             py34: "C:\\Python34\\python.exe",
                             py35: "C:\\Python35\\python.exe",
-                            py36: "C:\\Python36\\python.exe"
+                            py36: "C:\\Python36\\python.exe",
+                            py37: "C:\\Python37\\python.exe"
                         ]
-                        if (toxenv == "py35" || toxenv == "py36") {
+                        if (toxenv == "py35" || toxenv == "py36" || toxenv == "py37") {
                             opensslPaths = [
                                 "windows": [
                                     "include": "C:\\OpenSSL-Win32-2015\\include",
diff --git a/docs/installation.rst b/docs/installation.rst
index f96cc50..13cd75e 100644
--- a/docs/installation.rst
+++ b/docs/installation.rst
@@ -10,7 +10,7 @@
 Supported platforms
 -------------------
 
-Currently we test ``cryptography`` on Python 2.7, 3.4, 3.5, 3.6, and
+Currently we test ``cryptography`` on Python 2.7, 3.4+, and
 PyPy 5.3+ on these operating systems.
 
 * x86-64 CentOS 7.x
diff --git a/setup.py b/setup.py
index 593925e..2fbbd04 100644
--- a/setup.py
+++ b/setup.py
@@ -273,6 +273,7 @@
         "Programming Language :: Python :: 3.4",
         "Programming Language :: Python :: 3.5",
         "Programming Language :: Python :: 3.6",
+        "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: Implementation :: CPython",
         "Programming Language :: Python :: Implementation :: PyPy",
         "Topic :: Security :: Cryptography",
diff --git a/tox.ini b/tox.ini
index 86d23aa..b76bfc9 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
 [tox]
 minversion = 2.4
-envlist = py27,pypy,py34,py35,py36,docs,pep8,py3pep8
+envlist = py27,pypy,py34,py35,py36,py37,docs,pep8,py3pep8
 
 [testenv]
 extras =