Skip to main content

This library adds PKCS#12 support to the Python requests library.

It is a clean implementation: it uses neither monkey patching nor temporary files. Instead, it is integrated into requests as recommended by its authors: creating a custom TransportAdapter, which provides a custom SSLContext.

This library is meant to be a transitional solution until this functionality is provided by requests directly. However, that will take some time. See the corresponding issue for more details.

Usage

For simple one-off requests you can use this library as a drop-in replacement for the requests library:

from requests_pkcs12 import get

r = get('https://example.com/test', pkcs12_filename='clientcert.p12', pkcs12_password='correcthorsebatterystaple')

If you are using requests sessions, use the Pkcs12Adapter:

from requests import Session
from requests_pkcs12 import Pkcs12Adapter

with Session() as s:
    s.mount('https://example.com', Pkcs12Adapter(pkcs12_filename='clientcert.p12', pkcs12_password='correcthorsebatterystaple'))
    r = s.get('https://example.com/test')

Installation

This library is available as PyPI package:

pip install requests-pkcs12

Alternatively, you can retrieve the latest development version via Git:

git clone https://github.com/m-click/requests_pkcs12

Arguments

The following keyword arguments are supported:

  • pkcs12_filename is a byte string or unicode string that contains the file name of the encrypted PKCS#12 certificate.

    • Either this argument or pkcs12_data must be provided.

  • pkcs12_data is a byte string that contains the encrypted PKCS#12 certificate data.

    • Either this argument or pkcs12_filename must be provided.

  • pkcs12_password is a byte string or unicode string that contains the password.

    • This argument must be provided whenever pkcs12_filename or pkcs12_data is provided.

If you use these parameters, don’t use the built-in cert parameter of requests at the same time. However, do use the other parameters. In particular, do use the “verify” parameter to verify the server-side certificate.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

requests_pkcs12-1.9.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

requests_pkcs12-1.9-py2.py3-none-any.whl (5.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file requests_pkcs12-1.9.tar.gz.

File metadata

  • Download URL: requests_pkcs12-1.9.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/42.0.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3

File hashes

Hashes for requests_pkcs12-1.9.tar.gz
Algorithm Hash digest
SHA256 77ce96a3adb18ec868e8f32f2d5bcf9ffca1d5d11d4018c431977b4de0fc1ba4
MD5 b53da0dd1f7f6865e78d8a5a632b9e12
BLAKE2b-256 14dd3651b0dd709a3712d5581cbd74b92a5b2c38d03c51e07a2906b45a1074b9

See more details on using hashes here.

File details

Details for the file requests_pkcs12-1.9-py2.py3-none-any.whl.

File metadata

  • Download URL: requests_pkcs12-1.9-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/42.0.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3

File hashes

Hashes for requests_pkcs12-1.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9d902cd077967311ce96d6606b3cf90788608b08edc831b4821891c651ac87b9
MD5 25530895ea8141b29fc4fccaa6c6cecf
BLAKE2b-256 c9be605fa4e2371649680f3e6e96f392cfd52c7f49be620944caca53ebeb04b8

See more details on using hashes here.

Release history Release notifications | RSS feed

1.27

2 files

1.26

2 files

1.25

2 files

1.24

2 files

1.23

2 files

1.22

2 files

1.21

2 files

1.20

2 files

1.19

2 files

1.18

2 files

1.17

2 files

1.16

2 files

1.15

2 files

1.14

2 files

1.13

2 files

1.12

2 files

1.11

2 files

1.10

2 files

This release

1.9 This release

2 files

1.8

2 files

1.7

2 files

1.6

2 files

1.5

2 files

1.4

2 files

1.3

2 files

1.2

2 files

1.1

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page