1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
|
Metadata-Version: 2.1
Name: ndg_httpsclient
Version: 0.5.1
Summary: Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL
Home-page: https://github.com/cedadev/ndg_httpsclient/
Author: Richard Wilkinson and Philip Kershaw
Author-email: Philip.Kershaw@stfc.ac.uk
License: BSD - See ndg/httpsclient/LICENCE file for details
Description: A HTTPS client implementation for
* ``httplib`` (Python 2), ``http.client`` (Python 3) and
* ``urllib2`` (Python 2) and ``urllib`` (Python 3)
... based on PyOpenSSL. PyOpenSSL provides a more fully featured SSL implementation
over the default provided with Python and importantly enables full verification
of the SSL peer using ``pyasn1``.
Releases
========
0.5.1
-----
* Clean up handling for description file - pull in content from this file into setup()
* Allows the nightly build to fail
* Add Trove version classifiers to make it explicit what is supported
* Add python_requires to help pip
* Drop support for EOL Python 2.6 and 3.3
Thanks to @hugovk for contributions
0.5.0
-----
* Fix to Subject Alternative Name handling to allow for certificates with
more than 64 names (max now 1024). Thanks to Matt Pegler
* Fix to subjectAltName string to use byte type for correct matching
* Updated SSL Context objects to default to TLS 1.2
0.4.4
-----
* Updated test certificates
0.4.3
-----
* Fix to ``ndg`` namespace package warning issue (https://github.com/cedadev/ndg_httpsclient/issues/3).
``__init__.py`` file now included in ``ndg`` directory so that there are no longer warnings with imports
when using Python 2.x. Thanks to Max Mauntner for fix.
* Minor fix for installation: set minimum release for ``pyasn1`` to avoid conflicts with Ubuntu
install - see https://github.com/cedadev/ndg_httpsclient/issues/5 and
https://github.com/cedadev/ndg_httpsclient/pull/10. ``pyasn1`` also becomes mandatory rather
than optional package for install. - It required by ``cryptography`` anyway which is a
dependency for ``pyOpenSSL`` from version 0.14.
0.4.2
-----
* Fix to bug in ``ndg.httpsclient.utils.open_url`` - duplicate open call.
Nb. This bug and the fix DO NOT affect the ``httplib``and ``urllib2``
interfaces that this package provides.
0.4.1
-----
* Added explicit ref to Python 3 in classifier text for Python 3 checking tools.
* Moved LICENSE file into package
0.4.0
-----
* Made dual compatible with Python 2 / 3.
0.3.3
-----
* Fix to add in AnotherName for ``subjectAltNames`` field - added for support for CACert issued
certs (thanks to Gu1).
* Fix to HTTP Basic Auth option for ``ndg.httpsclient.utils.main``
* Fix to ``ServerSSLCertVerification`` so that it can pass a function-based callback instead of using ``__call__``. In newer versions of OpenSSL (>= 0.14) the latter failed because of a request for ``__name__`` attribute.
0.3.2
-----
* Fix to SubjectAltNames support check - should only be enabled if pyasn1 is
installed.
* Fix to open_url: HTTP Request object was being created inside if headers is
None block - now corrected to create regardless.
* Added http basic auth support to script. (Thanks to Willem van Engen)
0.3.1
-----
* extended utils functions to support keyword for passing additional ``urllib2``
handlers.
0.3.0
-----
* Added ``ndg.httpsclient.utils.fetch_stream_from_url`` function and added
parameter for data to post in ``open_url`` and ``fetch_*`` methods.
* fix to ndg.httpsclient.utils module _should_use_proxy and open_url functions
0.2.0
-----
* added support for SSL verification with subjectAltNames using pyasn1
* fixed minor bug - SSL cert DN prefix matching
0.1.0
-----
Initial release
Prerequisites
=============
This has been developed and tested for Python 2.7 with pyOpenSSL 0.13
and 0.14. Version 0.4.0 tested with ``pyOpenSSL`` 0.15.1 and Python 2.7 and
3.4.
``pyasn1`` is required for correct SSL verification with ``subjectAltNames``.
Installation
============
Installation can be performed using ``easy_install`` or ``pip``.
Running ndg_httpclient
======================
A simple script for fetching data using HTTP or HTTPS GET from a specified URL.
Parameter:
``url``
The URL of the resource to be fetched
Options:
``-h, --help``
Show help message and exit.
``-c FILE, --certificate=FILE``
Certificate file - defaults to ``$HOME/credentials.pem``
``-k FILE, --private-key=FILE``
Private key file - defaults to the certificate file
``-t DIR, --ca-certificate-dir=DIR``
Trusted CA certificate file directory.
``-d, --debug``
Print debug information - this may be useful in solving problems with HTTP or
HTTPS access to a server.
``-p FILE, --post-data-file=FILE``
POST data file
``-f FILE, --fetch=FILE``
Output file
``-n, --no-verify-peer``
Skip verification of peer certificate.
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Security
Classifier: Topic :: Internet
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: System :: Distributed Computing
Classifier: Topic :: System :: Systems Administration :: Authentication/Directory
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
Description-Content-Type: text/markdown
|