PyJKS is the pure-Python library for Java KeyStore (JKS) parsing, decryption, and manipulation. PyJKS supports vanilla JKS, JCEKS, BKS, and UBER (BouncyCastle) keystore formats.

In the past, Python projects relied on external tools (keytool), intermediate formats (PKCS12 and PEM), and the JVM to work with encrypted material locked within JKS files. Now, PyJKS changes that.


See the Examples page for usage examples of PyJKS.


You can install pyjks with pip:

$ pip install pyjks

If you receive an error like:

error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools":

on Windows you will need to download the Visual C++ build tools by visiting

Save the file, then run it. Choose “Workloads” tab, then select the “C++ build tools”. Under the “Optional” installed items, be certain to select all of MSVC vxxx - VS 2019 C++ build tools, Windows 10 SDK (latest version), and C++/CLI support for build tools. Reboot, then run the pip command again.

Indices and tables