Cryptographic APIs & Developer Languages
Compare JCA/JCE, OpenSSL, PKCS#11, CNG, and Bouncy Castle across 7 languages — with PQC readiness, provider patterns, library selection, and migration guidance.
Why this matters: The crypto API your language calls determines how hard your PQC migration will be — JCA sends you down a different path than raw OpenSSL EVP, and getting that provider choice wrong early means rewriting integration code twice.
Start here: Open the Provider Pattern Workshop: KeyGen, Sign, Verify, Encrypt and KEM Encapsulate shown side by side across JCA/JCE, OpenSSL, PKCS#11, CNG and Bouncy Castle.
For your role
- Developer / Engineer
- Compare JCA/JCE, OpenSSL EVP, PKCS#11, Windows CNG and Bouncy Castle across seven languages, then work through the provider-pattern examples for KeyGen, Sign, Verify, Encrypt and KEM and the API-by-algorithm support matrix.
- Researcher / Academic
- The eight-library deep dive (liboqs, AWS-LC, Bouncy Castle and others) and the support matrix with status badges and versions are the current state of PQC library support, with the build-versus-buy scoring wizard on top.
- Certification & Validation Engineer
- Compare PKCS#11 with JCA/JCE, OpenSSL EVP and Windows CNG in the API-by-algorithm support matrix, then use the eight-library deep dive for the versions to check against a certificate record.
Cryptographic APIs have grown organically over decades. Each emerged from a specific need: PKCS#11 was created by RSA Laboratories in the mid-1990s to provide a vendor-neutral interface to hardware security modules. JCA/JCE debuted in the late 1990s as Sun Microsystems built cryptography into the Java platform with a pluggable provider model. CNG replaced the legacy CryptoAPI in Windows Vista, separating key storage providers from algorithm providers. OpenSSL's EVP API evolved to abstract over multiple algorithm implementations, with v3.x adding a loadable provider system.
These APIs are not interchangeable — they reflect different design philosophies, security models, and deployment targets. Understanding their relationships helps you choose correctly and design for crypto agility.
Related Resources
Products shown here are a representative selection — not an exhaustive list. For the full vendor landscape with PQC readiness status, visit the Tools & Products tab in this module or browse the Migrate catalog →
Check off all sections and mark this reading done.
Related modules
In the Industry Landscape
Check your understanding
15 questions on Cryptographic APIs & Developer Languages, each with its answer and the reason.
Take the quizNext step
Produce the artifact: KPI Dashboard BuilderThis module belongs to the Foundations phase; KPI Dashboard Builder produces a deliverable of that phase in the Command Center.
Learning module content can be inaccurate. Please double-check its information. Report inaccuracies in PQC Today GitHub Discussions.