A pure JavaScript cryptography library for RSA/ECDSA/DSA signing, PKI operations, and JSON Web Tokens.
jsrsasign is a pure JavaScript cryptography library that provides comprehensive support for digital signatures, PKI operations, and JSON Web standards. It enables developers to perform RSA/ECDSA/DSA signing and validation, handle X.509 certificates and keys, and work with JSON Web Tokens without relying on external native libraries.
JavaScript developers building secure applications that require cryptographic operations, digital signatures, certificate management, or JWT handling in Node.js or browser environments.
Developers choose jsrsasign for its all-in-one approach, zero dependencies on native crypto libraries, cross-platform compatibility, and extensive feature set covering both traditional PKI and modern web standards.
The 'jsrsasign' (RSA-Sign JavaScript Library) is an opensource free cryptography library supporting RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, OCSP, CMS SignedData, TimeStamp, CAdES and JSON Web Signature/Token in pure JavaScript.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports digital signatures (RSA/ECDSA/DSA), PKI operations (X.509, CRL, OCSP), and JSON Web standards (JWS, JWT, JWK) in a single package, as highlighted in the README's 'Swiss Army Knife' approach.
Runs on both Node.js and browsers without dependencies on Web Crypto API or OpenSSL, ensuring versatility for diverse environments, as stated in the README's installation options.
Maintained since 2010 with backward compatibility, providing reliability for legacy projects, evidenced by its history and commitment to updates in the README.
Offers extensive tutorials, API references, and sample scripts in the GitHub Wiki, making it accessible for developers to implement complex cryptographic tasks.
Has faced multiple CVEs (e.g., Marvin attack leading to feature removal), requiring frequent updates and reducing trust for critical security applications, as listed in the RECENT SECURITY ADVISORY section.
Transition to version 11.0.0 involves dropping Internet Explorer support and updating to modern JavaScript, which may introduce breaking changes and require code migration, as noted in the NOTICE section.
Pure JavaScript implementation can be slower than native cryptographic libraries, impacting high-throughput scenarios where speed is essential, despite the no-dependency advantage.