Service Identity Verification for pyOpenSSL & cryptography
Use this package if:
- you want to verify that a PyCA cryptography certificate is valid for a certain hostname or IP address,
- or if you use pyOpenSSL and don’t want to be MITMed,
- or if you want to inspect certificates from either for service IDs.
service-identity aspires to give you all the tools you need for verifying whether a certificate is valid for the intended purposes. In the simplest case, this means host name verification. However, service-identity implements RFC 6125 fully.
Also check out pem that makes loading certificates from all kinds of PEM-encoded files a breeze!
Project Information
service-identity is released under the MIT license, its documentation lives at Read the Docs, the code on GitHub, and the latest release on PyPI.
Credits
service-identity is written and maintained by Hynek Schlawack.
The development is kindly supported by my employer Variomedia AG, service-identity's Tidelift subscribers, and all my amazing GitHub Sponsors.
service-identity for Enterprise
Available as part of the Tidelift Subscription.
The maintainers of service-identity and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open-source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use.
Release Information
Added
Changed
- service-identity now uses cryptography's Rust-based ASN.1 decoder and doesn't depend on pyasn1 and pyasn1-modules anymore. As a result, the oldest supported pyOpenSSL backend combination is now pyOpenSSL 26.1.0 with cryptography 47.0.0. #95
Fixed
- Verifying a single-label hostname (e.g.
localhost) against a wildcard certificate pattern now raisesVerificationErrorcleanly instead of crashing with an opaqueValueError. #92
Release files for service-identity 26.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| service_identity-26.1.0.tar.gz | 42.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| service_identity-26.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 54.3 kB
Release files / service_identity-26.1.0.tar.gz
| Download URL | service_identity-26.1.0.tar.gz |
|---|---|
| Size | 42.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6358c52882c96e66ac4a55eb3a72c7dd4a70763f8cc6fa4e70abde2656f4bf3b
|
|
BLAKE2b-256 checksum How to use checksums |
6187ad52e2c582c0f0e7f0a1b86950494c38d67422dc0f5ed9044a5fb9569a49
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 30, 2026.
Transparency logRelease files / service_identity-26.1.0-py3-none-any.whl
| Download URL | service_identity-26.1.0-py3-none-any.whl |
|---|---|
| Size | 11.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
68c32dadbb69135fb951077677e07cd7f6031020f3a8c8f47a28cda8a0742118
|
|
BLAKE2b-256 checksum How to use checksums |
93eb2433e1af4ff903499144de4846569fb3300b816179ae99a03c2f011b666a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 30, 2026.
Transparency log