summaryrefslogtreecommitdiff
path: root/docs/examples/ssl_connecton_examples.ipynb
diff options
context:
space:
mode:
authorChayim <chayim@users.noreply.github.com>2022-01-19 17:55:19 +0200
committerGitHub <noreply@github.com>2022-01-19 17:55:19 +0200
commit7d23974a62982d1b4b5586a648f8e7b17eccc6e5 (patch)
tree4b5b6a0e88655c827f01e9589b1ed1401a0a638d /docs/examples/ssl_connecton_examples.ipynb
parentafaa1c8f6d4bd7c66d6769a0a4b8d4f9a2d600d8 (diff)
downloadredis-py-7d23974a62982d1b4b5586a648f8e7b17eccc6e5.tar.gz
Documentation fixes: JSON Example, SSL Connection Examples, RTD version (#1887)
Diffstat (limited to 'docs/examples/ssl_connecton_examples.ipynb')
-rw-r--r--docs/examples/ssl_connecton_examples.ipynb277
1 files changed, 0 insertions, 277 deletions
diff --git a/docs/examples/ssl_connecton_examples.ipynb b/docs/examples/ssl_connecton_examples.ipynb
deleted file mode 100644
index 386e4af..0000000
--- a/docs/examples/ssl_connecton_examples.ipynb
+++ /dev/null
@@ -1,277 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# SSL Connection Examples"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Connecting to a Redis instance via SSL."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "True"
- ]
- },
- "execution_count": 5,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "import redis\n",
- "\n",
- "ssl_connection = redis.Redis(host='localhost', port=6666, ssl=True, ssl_cert_reqs=\"none\")\n",
- "ssl_connection.ping()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Connecting to a Redis instance via a URL string"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "import redis\n",
- "url_connection = redis.from_url(\"redis://localhost:6379?ssl_cert_reqs=none&decode_responses=True&health_check_interval=2\")\n",
- "url_connection.ping()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Connecting to a Redis instance via SSL, while specifying a self-signed SSL certificate."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "True"
- ]
- },
- "execution_count": 6,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "import os\n",
- "import redis\n",
- "\n",
- "ssl_certfile=\"some-certificate.pem\"\n",
- "ssl_keyfile=\"some-key.pem\"\n",
- "ssl_ca_certs=ssl_certfile\n",
- "\n",
- "ssl_cert_conn = redis.Redis(\n",
- " host=\"localhost\",\n",
- " port=6666,\n",
- " ssl=True,\n",
- " ssl_certfile=ssl_certfile,\n",
- " ssl_keyfile=ssl_keyfile,\n",
- " ssl_cert_reqs=\"required\",\n",
- " ssl_ca_certs=ssl_ca_certs,\n",
- ")\n",
- "ssl_cert_conn.ping()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Connecting to a Redis instance via SSL, and validate the OCSP status of the certificate\n",
- "\n",
- "The redis package is design to be small, meaning extra libraries must be installed, in order to support OCSP stapling. As a result, first install redis via:\n",
- "\n",
- "*pip install redis[ocsp]*\n",
- "\n",
- "This will install cryptography, requests, and PyOpenSSL, none of which are generally required to use Redis."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "True"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "import os\n",
- "import redis\n",
- "\n",
- "ssl_certfile=\"some-certificate.pem\"\n",
- "ssl_keyfile=\"some-key.pem\"\n",
- "ssl_ca_certs=ssl_certfile\n",
- "\n",
- "ssl_cert_conn = redis.Redis(\n",
- " host=\"localhost\",\n",
- " port=6666,\n",
- " ssl=True,\n",
- " ssl_certfile=ssl_certfile,\n",
- " ssl_keyfile=ssl_keyfile,\n",
- " ssl_cert_reqs=\"required\",\n",
- " ssl_validate_ocsp=True\n",
- ")\n",
- "ssl_cert_conn.ping()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Connect via SSL, validate OCSP-stapled certificates\n",
- "\n",
- "The redis package is design to be small, meaning extra libraries must be installed, in order to support OCSP stapling. As a result, first install redis via:\n",
- "\n",
- "*pip install redis[ocsp]*\n",
- "\n",
- "This will install cryptography, requests, and PyOpenSSL, none of which are generally required to use Redis."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Using a custom SSL context and validating against an expected certificate"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "True"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "import redis\n",
- "import OpenSSL\n",
- "\n",
- "ssl_certfile=\"some-certificate.pem\"\n",
- "ssl_keyfile=\"some-key.pem\"\n",
- "ssl_ca_certs=ssl_certfile\n",
- "ssl_expected_certificate = \"expected-ocsp-certificate.pem\"\n",
- "\n",
- "# PyOpenSSL is used only for the purpose of validating the ocsp\n",
- "# stapled response\n",
- "ctx = OpenSSL.SSL.Context(OpenSSL.SSL.SSLv23_METHOD)\n",
- "ctx.use_certificate_file=ssl_certfile\n",
- "ctx.use_privatekey_file=ssl_keyfile\n",
- "expected_certificate = open(ssl_expected_certificate, 'rb').read()\n",
- "\n",
- "ssl_cert_conn = redis.Redis(\n",
- " host=\"localhost\",\n",
- " port=6666,\n",
- " ssl=True,\n",
- " ssl_certfile=ssl_certfile,\n",
- " ssl_keyfile=ssl_keyfile,\n",
- " ssl_cert_reqs=\"required\",\n",
- " ssl_ocsp_context=ctx,\n",
- " ssl_ocsp_expected_cert=expected_certificate,\n",
- ")\n",
- "ssl_cert_conn.ping()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Naive validation of a stapled OCSP certificate"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "import redis\n",
- "import OpenSSL\n",
- "\n",
- "ssl_certfile=\"some-certificate.pem\"\n",
- "ssl_keyfile=\"some-key.pem\"\n",
- "ssl_ca_certs=ssl_certfile\n",
- "ssl_expected_certificate = \"expected-ocsp-certificate.pem\"\n",
- "\n",
- "# PyOpenSSL is used only for the purpose of validating the ocsp\n",
- "# stapled response\n",
- "ctx = OpenSSL.SSL.Context(OpenSSL.SSL.SSLv23_METHOD)\n",
- "ctx.use_certificate_file=ssl_certfile\n",
- "ctx.use_privatekey_file=ssl_keyfile\n",
- "\n",
- "ssl_cert_conn = redis.Redis(\n",
- " host=\"localhost\",\n",
- " port=6666,\n",
- " ssl=True,\n",
- " ssl_certfile=ssl_certfile,\n",
- " ssl_keyfile=ssl_keyfile,\n",
- " ssl_cert_reqs=\"required\",\n",
- " ssl_validate_ocsp_stapled=True,\n",
- ")\n",
- "ssl_cert_conn.ping()"
- ]
- }
- ],
- "metadata": {
- "interpreter": {
- "hash": "d45c99ba0feda92868abafa8257cbb4709c97f1a0b5dc62bbeebdf89d4fad7fe"
- },
- "kernelspec": {
- "display_name": "Python 3 (ipykernel)",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.8.12"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
-}