Skip to main content
https://travis-ci.org/danni/python-pkcs11.svg?branch=master

Python PKCS#11 - High Level Wrapper API

A high level, “more Pythonic” interface to the PKCS#11 (Cryptoki) standard to support HSM and Smartcard devices in Python.

The interface is designed to follow the logical structure of a HSM, with useful defaults for obscurely documented parameters. Many APIs will optionally accept iterables and act as generators, allowing you to stream large data blocks for symmetric encryption.

python-pkcs11 also includes numerous utility functions to convert between PKCS #11 data structures and common interchange formats including PKCS #1 and X.509.

python-pkcs11 is fully documented and has a full integration test suite for all features.

Historically, this project used to run continuous integration tests against several HSM platforms, but this test setup has not been maintained over time. Currently, the integration tests in GitHub Actions use SoftHSMv2 as a baseline. We also test against opencryptoki in CI. If you would like to contribute some CI setup with additional PKCS#11 implementations or actual HSMs, let’s chat!

Source: https://github.com/pyauth/python-pkcs11

Documentation: http://python-pkcs11.readthedocs.io/en/latest/

Getting Started

Install from Pip:

pip install python-pkcs11

Or build from source:

python -m build .

Or using uv:

uv build

Assuming your PKCS#11 library is set as PKCS11_MODULE and contains a token named DEMO:

AES

import pkcs11

# Initialise our PKCS#11 library
lib = pkcs11.lib(os.environ['PKCS11_MODULE'])
token = lib.get_token(token_label='DEMO')

data = b'INPUT DATA'

# Open a session on our token
with token.open(user_pin='1234') as session:
    # Generate an AES key in this session
    key = session.generate_key(pkcs11.KeyType.AES, 256)

    # Get an initialisation vector
    iv = session.generate_random(128)  # AES blocks are fixed at 128 bits
    # Encrypt our data
    crypttext = key.encrypt(data, mechanism_param=iv)

3DES

import pkcs11

# Initialise our PKCS#11 library
lib = pkcs11.lib(os.environ['PKCS11_MODULE'])
token = lib.get_token(token_label='DEMO')

data = b'INPUT DATA'

# Open a session on our token
with token.open(user_pin='1234') as session:
    # Generate a DES key in this session
    key = session.generate_key(pkcs11.KeyType.DES3)

    # Get an initialisation vector
    iv = session.generate_random(64)  # DES blocks are fixed at 64 bits
    # Encrypt our data
    crypttext = key.encrypt(data, mechanism_param=iv)

RSA

import pkcs11

lib = pkcs11.lib(os.environ['PKCS11_MODULE'])
token = lib.get_token(token_label='DEMO')

data = b'INPUT DATA'

# Open a session on our token
with token.open(user_pin='1234') as session:
    # Generate an RSA keypair in this session
    pub, priv = session.generate_keypair(pkcs11.KeyType.RSA, 2048)

    # Encrypt as one block
    crypttext = pub.encrypt(data)

DSA

import pkcs11

lib = pkcs11.lib(os.environ['PKCS11_MODULE'])
token = lib.get_token(token_label='DEMO')

data = b'INPUT DATA'

# Open a session on our token
with token.open(user_pin='1234') as session:
    # Generate an DSA keypair in this session
    pub, priv = session.generate_keypair(pkcs11.KeyType.DSA, 1024)

    # Sign
    signature = priv.sign(data)

ECDSA

import pkcs11

lib = pkcs11.lib(os.environ['PKCS11_MODULE'])
token = lib.get_token(token_label='DEMO')

data = b'INPUT DATA'

# Open a session on our token
with token.open(user_pin='1234') as session:
    # Generate an EC keypair in this session from a named curve
    ecparams = session.create_domain_parameters(
        pkcs11.KeyType.EC, {
            pkcs11.Attribute.EC_PARAMS: pkcs11.util.ec.encode_named_curve_parameters('secp256r1'),
        }, local=True)
    pub, priv = ecparams.generate_keypair()

    # Sign
    signature = priv.sign(data)

Diffie-Hellman

import pkcs11

lib = pkcs11.lib(os.environ['PKCS11_MODULE'])
token = lib.get_token(token_label='DEMO')

with token.open() as session:
    # Given shared Diffie-Hellman parameters
    parameters = session.create_domain_parameters(pkcs11.KeyType.DH, {
        pkcs11.Attribute.PRIME: prime,  # Diffie-Hellman parameters
        pkcs11.Attribute.BASE: base,
    })

    # Generate a DH key pair from the public parameters
    public, private = parameters.generate_keypair()

    # Share the public half of it with our other party.
    _network_.write(public[Attribute.VALUE])
    # And get their shared value
    other_value = _network_.read()

    # Derive a shared session key with perfect forward secrecy
    session_key = private.derive_key(
        pkcs11.KeyType.AES, 128,
        mechanism_param=other_value)

Elliptic-Curve Diffie-Hellman

import pkcs11

lib = pkcs11.lib(os.environ['PKCS11_MODULE'])
token = lib.get_token(token_label='DEMO')

with token.open() as session:
    # Given DER encocded EC parameters, e.g. from
    #    openssl ecparam -outform der -name <named curve>
    parameters = session.create_domain_parameters(pkcs11.KeyType.EC, {
        pkcs11.Attribute.EC_PARAMS: ecparams,
    })

    # Generate a DH key pair from the public parameters
    public, private = parameters.generate_keypair()

    # Share the public half of it with our other party.
    _network_.write(public[pkcs11.Attribute.EC_POINT])
    # And get their shared value
    other_value = _network_.read()

    # Derive a shared session key
    session_key = private.derive_key(
        pkcs11.KeyType.AES, 128,
        mechanism_param=(pkcs11.KDF.NULL, None, other_value))

Tested Compatibility

Functionality

SoftHSMv2

Thales nCipher

Opencryptoki

OpenSC (Nitrokey)

Get Slots/Tokens

Works

Works

Works

Works

Get Mechanisms

Works

Works

Works

Works

Initialize token

Not implemented

Slot events

Not implemented

Alternative authentication path

Not implemented

Always authenticate keys

Not implemented

Create/Copy

Keys

Works

Works

Errors

Create

Certificates

Caveats [1]

Caveats [1]

Caveats [1]

?

Domain Params

Caveats [1]

Caveats [1]

?

N/A

Destroy Object

Works

N/A

Works

Works

Generate Random

Works

Works

Works

Works

Seed Random

Works

N/A

N/A

N/A

Digest (Data & Keys)

Works

Caveats [2]

Works

Works

AES

Generate key

Works

Works

Works

N/A

Encrypt/Decrypt

Works

Works

Works

Wrap/Unwrap

? [3]

Works

Errors

Sign/Verify

Works

Works [4]

N/A

DES2/ DES3

Generate key

Works

Works

Works

N/A

Encrypt/Decrypt

Works

Works

Works

Wrap/Unwrap

?

?

?

Sign/Verify

?

?

?

RSA

Generate key pair

Works

Works

Works

Works [4] [8]

Encrypt/Decrypt

Works

Works

Works

Decrypt only [9]

Wrap/Unwrap

Works

Works

Works

N/A

Sign/Verify

Works

Works

Works

Works

DSA

Generate parameters

Works

Error

N/A

N/A

Generate key pair

Works

Caveats [5]

Sign/Verify

Works

Works [4]

DH

Generate parameters

Works

N/A

N/A

N/A

Generate key pair

Works

Caveats [6]

Derive Key

Works

Caveats [7]

EC

Generate key pair

Caveats [6]

? [3]

Works

Works

Sign/Verify (ECDSA)

Works [4]

? [3]

Works

Sign only [9]

Derive key (ECDH)

Works

? [3]

Works

?

ML-DSA

Generate key pair

Works

? [3]

Works

N/A

Sign/Verify

Works

? [3]

Works

Proprietary extensions

N/A

Not implemented

N/A

N/A

Python version:

  • >= 3.10

PKCS#11 versions:

  • 2.11

  • 2.20

  • 2.40

  • 3.1

  • 3.2

Feel free to send pull requests for any functionality that’s not exposed. The code is designed to be readable and expose the PKCS #11 spec in a straight-forward way.

If you want your device supported, get in touch!

More info on PKCS #11

The latest version of the PKCS #11 spec is available from OASIS:

http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/pkcs11-base-v2.40.html

You should also consult the documentation for your PKCS #11 implementation. Many implementations expose additional vendor options configurable in your environment, including alternative features, modes and debugging information.

License

MIT License

Copyright (c) 2017 Danielle Madeley and contributors

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Download files

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

Source Distribution

python_pkcs11-0.10.0.tar.gz (207.6 kB view details)

Uploaded Source

Built Distributions

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

python_pkcs11-0.10.0-cp314-cp314-win_amd64.whl (291.9 kB view details)

Uploaded CPython 3.14Windows x86-64

python_pkcs11-0.10.0-cp314-cp314-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

python_pkcs11-0.10.0-cp314-cp314-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

python_pkcs11-0.10.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

python_pkcs11-0.10.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

python_pkcs11-0.10.0-cp314-cp314-macosx_10_15_universal2.whl (571.5 kB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

python_pkcs11-0.10.0-cp313-cp313-win_amd64.whl (285.2 kB view details)

Uploaded CPython 3.13Windows x86-64

python_pkcs11-0.10.0-cp313-cp313-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

python_pkcs11-0.10.0-cp313-cp313-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

python_pkcs11-0.10.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

python_pkcs11-0.10.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

python_pkcs11-0.10.0-cp313-cp313-macosx_10_13_universal2.whl (568.5 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

python_pkcs11-0.10.0-cp312-cp312-win_amd64.whl (285.7 kB view details)

Uploaded CPython 3.12Windows x86-64

python_pkcs11-0.10.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

python_pkcs11-0.10.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

python_pkcs11-0.10.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

python_pkcs11-0.10.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

python_pkcs11-0.10.0-cp312-cp312-macosx_10_13_universal2.whl (570.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

python_pkcs11-0.10.0-cp311-cp311-win_amd64.whl (300.6 kB view details)

Uploaded CPython 3.11Windows x86-64

python_pkcs11-0.10.0-cp311-cp311-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

python_pkcs11-0.10.0-cp311-cp311-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

python_pkcs11-0.10.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

python_pkcs11-0.10.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

python_pkcs11-0.10.0-cp311-cp311-macosx_10_9_universal2.whl (597.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

python_pkcs11-0.10.0-cp310-cp310-win_amd64.whl (298.9 kB view details)

Uploaded CPython 3.10Windows x86-64

python_pkcs11-0.10.0-cp310-cp310-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

python_pkcs11-0.10.0-cp310-cp310-musllinux_1_2_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

python_pkcs11-0.10.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

python_pkcs11-0.10.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

python_pkcs11-0.10.0-cp310-cp310-macosx_10_9_universal2.whl (600.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file python_pkcs11-0.10.0.tar.gz.

File metadata

  • Download URL: python_pkcs11-0.10.0.tar.gz
  • Upload date:
  • Size: 207.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for python_pkcs11-0.10.0.tar.gz
Algorithm Hash digest
SHA256 8f49bcb072bca3d74837547dd77145e065ed333e5e8642e539f8b1aca7ce1725
MD5 aca705666dbb502d2ddadeb728803d13
BLAKE2b-256 dd71c653815f2d6d4b2eca14b90ffbc93cd2a9a2cc4f6353e48b4d84f22a8c24

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0.tar.gz:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 7d20bab730317ab075ad1c5e7f36b3484bf458dcedd6f8b7e9627fe4eaf2f47c
MD5 15e40504dba312210488811be1214de1
BLAKE2b-256 ec1e20a74c8b3ace17fb8ee96376ace384b61fc5077aa57f87452d61c5bbc77a

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp314-cp314-win_amd64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 94568214f4c8f55f9d4592f86a6b169b68d95b5a29f564800796a57d4105bad7
MD5 a38bdb2981a8054d49a2abfa5fafe350
BLAKE2b-256 421d4ae0bde16460744ca72c185085ea0f8750874cf9e2bdee678d39ebfb139d

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4e03b69da0f41192a6aeb4955d206ac6f7dd95c9ad923207073f831d896a0d76
MD5 5a7b93fa517cbf3dadc7e8ffb9d8c90b
BLAKE2b-256 eba52e595443d6071f95e7fcaa25efdc181fe180c3bedf6f96b56d361b5d418f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3285f86003caf89e75efebeaf41f6293b0510f1958fac9a0b5c46b29f9dbf6c6
MD5 510d4730c865862d12e0d210531fbe48
BLAKE2b-256 677dc6fb5d1a6f968e3963c01cb647a1b08a780eda693b3474539a18ab16856f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6d4b34f3346d4b8af2af9378fd2549ba2ff7d9abea1a22978924b81017b9742a
MD5 853e5b29146a80f0d08606cbcb07c296
BLAKE2b-256 2bf4e7bdc952f9514874d15bdeeb08315e818763f417664a72b180223a81b546

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 c8172e0468c7ca38e71bda34e996c7f4b706ebee642b7cdb813a47781a3a0534
MD5 e497c0fadcb607b422b93e1d744d9e96
BLAKE2b-256 e7002e1cc84087d93fad9ab376b8c5d9ff10fc5e91f065a1bf5d6a696187327d

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp314-cp314-macosx_10_15_universal2.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 38049b5d6a5ea8feb089758e0e1a8b0a95c4c271c5ac45c0c611c21f5c17c33b
MD5 6ae3ef1fe36f131b846371fd05befb81
BLAKE2b-256 189643ad2f177064152e07fdbf188d95f0299c3c7df1abe8b0732dd3bf6bbf13

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 872e3a75a34f609e05bc16368e0167c0d8781214ead0d2e505106c9fdcdc68c7
MD5 98cb836af013fa2eb837fcaaad5a6804
BLAKE2b-256 b1d69fc3f52291c61ca5709a3f15788c830d70d55b11eb0485b0cedc11a7ecd4

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 321dfdd4e610a4ee37095b79c1bff263b75be71ada39014a4b0129dabe3b9411
MD5 9ca8a5e0927391ffb9dc3d3f6f7c2e1e
BLAKE2b-256 e2724606eedbdd5c31772937632d4532cec9433cb980db5e825475a912de91d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bc2abd451385410ba95fbb79c5d508647357b8fd7dfb0890edc864c9c341fb84
MD5 74af4d974893ec2a864edabe0b023183
BLAKE2b-256 cea071f4dd00c1323f53e3d62f7c0055fdf0f40dff41b3d841324ea4d8a9e64d

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2ab68b33fffaa5c2ebd7752db811e26da450f80ecde2b2348ca8b669e1edc935
MD5 8ad4c7d28fd5510a310cc5149a746418
BLAKE2b-256 226e430183d1a4bc2a2fcde1fb3280bb774a6ff25ed7f1507788e597494be9ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 fe3079117648d3fcd8e980321444ca43ca9c443f61615a82b5de4372f84762dc
MD5 34ebf957a381d39ed4393d621567f5d0
BLAKE2b-256 c6e17edf45c639258c2ad218d1eef04eda7382000282d76dca100b4ce06a215b

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp313-cp313-macosx_10_13_universal2.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1db22eccbac1106c5f50f87f169d5e2d5e0af54ba4d70f1a2d34246b3557ea62
MD5 db6a3a9ad03d61977d93b898feb8de58
BLAKE2b-256 26ea69d1be7a99d2681c93cc20dc7c4d64d8acfc1299a246f8021cc14016e238

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3179c7d6830c241d415dce08e417588aa596aa5101d3ecf917cbbab81051bdfe
MD5 26ff49f0264e854ccce37c021d3c6a8d
BLAKE2b-256 5df2b101686acb783f2eb96fe75158b18a67fde25f1bf07f5a5e703ae2aebf66

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 421f8822515cc82b586acd31cf46539d5e65470ea9a03df2345a922b51326d79
MD5 ec0caaf239d9ec740783c15b1ebfd55a
BLAKE2b-256 e91d0ce5cd7928d6ee187d6122af4cb4f1857f336e15b1939db8773c09ccd970

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c741453966ed6db462c443d30ed7ef048e33ba95f5eb68ee1e93f565ff32105b
MD5 0989b61e460a47979a39a3846bc2dc40
BLAKE2b-256 e79b526ababb217fe70f5647bf66b9bc569fdf1ac158f4ed8d3136de15bdd811

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 296d6214bfe1403a1d1f627b6dd750cef422b04aa1c6f68359266c207f214da2
MD5 f5ec0c2289694f845001665e1b0117b6
BLAKE2b-256 35888b9fc13571159c001675ffd9c2bb9a260bfbd06b05dd353bd79a0c6ffbdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 a45a0dd665759a88dab92bd1368f9453fef41da4221445f913b6ad548db4eed9
MD5 9666a2b61d30bf20bc061183f622358c
BLAKE2b-256 386d0bb9800973cd0f132d3fb29b431fc67ab51362b55557eee8be8486d27426

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp312-cp312-macosx_10_13_universal2.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c771397095acd6228d6a15b17bae7444d5364f8981c3ef1d35dcfc884722604e
MD5 a72fe2e515199b0e4dac0aabc08be311
BLAKE2b-256 a7cbb4a6f07a3b9db42165b6357ab103ece112936d74a6e5d92e2549949a6333

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0b672cbd649d7dfdb6bfc0df5b221185e81f53aafd547c65418fe97452710af6
MD5 4f214e3ea60c01c5730cb1d4c4d33c99
BLAKE2b-256 fabc6f88fd03a983a696fe041356fbd6ebc4d6987fafa7603c8b1b55c94792fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4f1fe1fcfa803a79743e611bf71651985d857120946b9861c58e0562130a4659
MD5 4efceaafa7075fb1a2e642452cb54dae
BLAKE2b-256 6faee9764088ca33069ebb13bb4a02e331dc1bb43b192b43493c8f9605d55c8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f4ac0e51fbf4cc9461728da8418f17729235b1506f8bfa80d69f625165ebd583
MD5 94444e6e41dde79dce000f95edc1f72b
BLAKE2b-256 10fda847e8b7b0558b820d1e6ebf6ac90966c650a033ef82ae3f999a59d15027

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 05a5e45850736bfcfbecc905a046872a7651578069a5a4235661d3bacc1f74bc
MD5 158931b620e94a4e364fe7e2cc1462eb
BLAKE2b-256 5e2c11f641a67b11b1a7cceccf7d0a61b5c0c2dca2e9cd1de7815f0fe5c4154f

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 321d1844e4ea4a905459e0f7d9d6f2d60711a11ee8277359c1be8d4736206fe1
MD5 2087ab9424426425d796f1f95f96690b
BLAKE2b-256 34db0da5379ae8c9b61cae3a10809e4dc93c9b202245edb18c24784e0639ff56

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp311-cp311-macosx_10_9_universal2.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d5cb74921f39841ffb22c5e118cdd3d8a469c6b409c5f66793b581a076aa7fcd
MD5 970d824ca4776200720961ca10490bbd
BLAKE2b-256 7e7b9a18e4a1b5e26d95c036928906e2e6bd73d5ba01aaa92b46d954a37fcbab

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c78ba8212f572db87bfc650786789636b211a7f6f7aba5f724ef13d34b7fd049
MD5 1e0af7b3f980a7e6283b3bcad6b5a824
BLAKE2b-256 4aa13595b6ee7e91aae704873210f0a2885d39acacb47b87c724de70c5d93e27

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fed7b9aa70e9d3c50c8b412e6bbad997ffcbadd381fb5f109b8fb076c384a81e
MD5 c727fd668fc10ab629074942d5048bcb
BLAKE2b-256 9dc6d3c4140e8b854455d14c88de715bab69425465a0e03329783b37b18edb57

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eff9fa6ebabe5c6cfa9163b88c29b1920b0895be779c3db51b13a66f663249e5
MD5 71b064424ccfa20cb3f1f0dfab4dc4b9
BLAKE2b-256 109f3f42dceb6c3d75d58c24ddc2de95c7b33d665fa580676b4bdd1103c0d074

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 574b49cb22e6692523e16a14eb23a88e08399a6af4dd3f986d9319c7bc0b50e7
MD5 664f3a931a39edb19488a338931f09e8
BLAKE2b-256 532db28e5f6d213c81165cdfbe2af4e6448faa1657a8c7e5b9f68fb89c1f1890

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file python_pkcs11-0.10.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for python_pkcs11-0.10.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 65305a1ea821fd79bd128bf4ce5260410de6482748a102830cdfad8eca19f1e7
MD5 bf908a4491643b6f33d8c423707a2cb0
BLAKE2b-256 282a0f103cbe44d74259cd9bfcf54722c97d9379a8769b672abb826ff3dee973

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_pkcs11-0.10.0-cp310-cp310-macosx_10_9_universal2.whl:

Publisher: release.yml on pyauth/python-pkcs11

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.10.0 This release

31 files

0.9.5

31 files

0.9.4

37 files

0.9.3

37 files

0.9.2

37 files

0.9.1

31 files

0.9.0

31 files

0.8.1

31 files

0.8.0

31 files

0.7.0

1 file

0.6.0

1 file

0.5.0

1 file

0.4.0

1 file

0.3.0.1

1 file

0.2.2

1 file

0.2.1

1 file

0.2.0

1 file

0.1.3

1 file

0.1.2

1 file

0.1.1

1 file

0.1.0

1 file

0.0.9

1 file

0.0.8

1 file

0.0.7

1 file

0.0.6.1

1 file

0.0.6

1 file

0.0.5

1 file

0.0.4

1 file

0.0.3.2

1 file

0.0.2

1 file

0.0.1

1 file

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