# digitalbazaar/forge

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/digitalbazaar-forge).**

5,311 stars · 840 forks · JavaScript · NOASSERTION

## Links

- GitHub: https://github.com/digitalbazaar/forge
- Homepage: https://digitalbazaar.com/
- awesome-repositories: https://awesome-repositories.com/repository/digitalbazaar-forge.md

## Description

Forge is a JavaScript cryptography library providing a comprehensive set of tools for symmetric and asymmetric encryption, hashing, and digital signatures. It includes a full Transport Layer Security implementation for establishing secure network connections and managing encrypted traffic.

The project implements a wide array of public key infrastructure tools, including X.509 certificate management, the generation of certificate signing requests, and the validation of certificate chains. It provides a PKCS cryptographic toolkit for handling secure archives and signed messages, alongside support for SSH key management and the conversion of keys between PEM, OpenSSH, and PKCS#12 formats.

The library covers a broad range of security primitives, such as block cipher encryption, HMAC computation, and password-based key derivation. It also includes utilities for binary data serialization using ASN.1 DER encoding, as well as data transformation tools for Base58, Base64, and hexadecimal formats.

Additional capabilities include low-level network communication utilities for HTTP client request handling and asynchronous task orchestration for queuing background operations.

## Tags

### Security & Cryptography

- [Symmetric and Asymmetric Ciphers](https://awesome-repositories.com/f/security-cryptography/asymmetric-encryption/symmetric-and-asymmetric-ciphers.md) — Provides a comprehensive suite of symmetric and asymmetric ciphers for encryption and decryption.
- [SSL/TLS Connection Security](https://awesome-repositories.com/f/security-cryptography/ssl-tls-connection-security.md) — Provides a full JavaScript implementation of the TLS protocol for secure transport layer connections. ([source](https://github.com/digitalbazaar/forge/blob/main/README.md))
- [Cryptographic Random Number Generators](https://awesome-repositories.com/f/security-cryptography/cryptographic-random-number-generators.md) — Provides a Fortuna-based cryptographically secure pseudo-random number generator. ([source](https://github.com/digitalbazaar/forge/blob/main/README.md))
- [X.509 Certificate Parsing and Validation](https://awesome-repositories.com/f/security-cryptography/identity-access-management/identity-management/server-authenticity-verification/certificate-based-authentication/x-509-certificate-parsing-and-validation.md) — Provides comprehensive tools for parsing, validating, and managing X.509 certificates. ([source](https://github.com/digitalbazaar/forge/blob/main/package.json))
- [X.509 Management Utilities](https://awesome-repositories.com/f/security-cryptography/identity-access-management/identity-management/server-authenticity-verification/certificate-based-authentication/x-509-certificate-parsing-and-validation/x-509-management-utilities.md) — Includes utilities for X.509 certificate management and the generation of certificate signing requests.
- [General ASN.1 DER Parsers](https://awesome-repositories.com/f/security-cryptography/identity-access-management/session-management/session-identifiers/session-lists/session-metadata-viewers/kerberos-ticket-decoders-and-decryptors/asn-1-der-message-builders/general-asn-1-der-parsers.md) — Provides utilities for serializing and deserializing data structures using the ASN.1 DER binary format. ([source](https://github.com/digitalbazaar/forge/blob/main/README.md))
- [JavaScript Cryptography Libraries](https://awesome-repositories.com/f/security-cryptography/javascript-cryptography-libraries.md) — Provides a comprehensive set of cryptographic primitives and standards implemented in JavaScript.
- [General Purpose RSA Key Generation](https://awesome-repositories.com/f/security-cryptography/private-key-import-formats/ssh-private-key-authentications/rsa-key-generators/general-purpose-rsa-key-generation.md) — Enables the creation of public and private RSA key pairs using native APIs or software fallbacks. ([source](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md))
- [Public Key Infrastructure](https://awesome-repositories.com/f/security-cryptography/public-key-infrastructure.md) — Implements lifecycle management for X.509 certificates, including CSR generation and chain validation.
- [Secure Network Communication](https://awesome-repositories.com/f/security-cryptography/secure-network-communication.md) — Implements encrypted data transmission channels to secure network communication. ([source](https://github.com/digitalbazaar/forge/blob/main/package.json))
- [General TLS Connection Establishment](https://awesome-repositories.com/f/security-cryptography/ssl-tls-connection-security/mqtt-tls-encryption/smtp-tls-encryption/general-tls-connection-establishment.md) — Implements a full TLS stack for establishing secure encrypted network connections in JavaScript.
- [Certificate Signing Request Generation](https://awesome-repositories.com/f/security-cryptography/certificate-signing-request-generation.md) — Supports the generation and signing of PKCS#10 certification requests for submission to CAs. ([source](https://github.com/digitalbazaar/forge/blob/main/README.md))
- [Cryptographic Hash Generation](https://awesome-repositories.com/f/security-cryptography/cryptographic-hash-generation.md) — Generates cryptographic message digests using various standard hashing algorithms. ([source](https://github.com/digitalbazaar/forge/blob/main/package.json))
- [Key Format Converters](https://awesome-repositories.com/f/security-cryptography/cryptographic-key-management/cryptographic-key-generation/key-format-converters.md) — Provides utilities to convert cryptographic keys between PEM, OpenSSH, and PKCS#12 formats.
- [Ed25519 Verifiers](https://awesome-repositories.com/f/security-cryptography/cryptographic-signature-verification/ed25519-verifiers.md) — Provides creation and validation of digital signatures using the Ed25519 curve. ([source](https://github.com/digitalbazaar/forge/blob/main/README.md))
- [PKCS12 Archive Support](https://awesome-repositories.com/f/security-cryptography/cryptography/ssl-tls-certificate-management/pkcs12-archive-support.md) — Provides support for importing and exporting certificates and private keys using PKCS#12 archives. ([source](https://github.com/digitalbazaar/forge/tree/0.6.x))
- [HMAC Generation](https://awesome-repositories.com/f/security-cryptography/hmac-generation.md) — Implements HMAC computation for verifying data authenticity and integrity. ([source](https://github.com/digitalbazaar/forge/tree/0.6.x))
- [Key Encapsulation Interfaces](https://awesome-repositories.com/f/security-cryptography/key-encapsulation-interfaces.md) — Implements key encapsulation mechanisms to establish shared secret keys between parties. ([source](https://github.com/digitalbazaar/forge/blob/main/README.md))
- [Key Derivation Functions](https://awesome-repositories.com/f/security-cryptography/password-management/key-derivation-functions.md) — Implements PBKDF2 to derive cryptographic keys from user passwords. ([source](https://github.com/digitalbazaar/forge))
- [PKCS Toolkits](https://awesome-repositories.com/f/security-cryptography/pkcs-toolkits.md) — Provides a toolkit for handling PKCS-standard secure archives and signed messages.
- [Private Key Import Formats](https://awesome-repositories.com/f/security-cryptography/private-key-import-formats.md) — Supports conversion of private keys between PEM and ASN.1 formats, including encrypted variants. ([source](https://github.com/digitalbazaar/forge/blob/main/README.md))
- [Certificate Chain Validation](https://awesome-repositories.com/f/security-cryptography/security/utilities/certificate-trust-managers/trust-anchor-management/external-trust-bootstrapping/certificate-chain-validation.md) — Validates certificate sequences by checking signatures and validity periods against a trusted store. ([source](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md))
- [SSH Key Management](https://awesome-repositories.com/f/security-cryptography/ssh-key-management.md) — Handles the encoding, decryption, and fingerprinting of RSA keys in OpenSSH and PuTTY formats. ([source](https://github.com/digitalbazaar/forge/blob/main/README.md))

### Data & Databases

- [Binary Serialization Formats](https://awesome-repositories.com/f/data-databases/binary-serialization-formats.md) — Implements encoding and decoding of structured data into compact binary formats including ASN.1 DER.

### Networking & Communication

- [PKCS and CMS Message Processors](https://awesome-repositories.com/f/networking-communication/message-encoders-and-decoders/pkcs-and-cms-message-processors.md) — Implements PKCS#7 standards for creating, signing, and decrypting protected messages. ([source](https://github.com/digitalbazaar/forge/blob/main/README.md))

### Scientific & Mathematical Computing

- [Cryptographic Prime Generation](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/arithmetic-number-types/multiplication-algorithms/number-theory-algorithms/prime-generation-algorithms/cryptographic-prime-generation.md) — Provides generation of large, random probable primes required for asymmetric cryptographic operations. ([source](https://github.com/digitalbazaar/forge/tree/0.6.x))

### Part of an Awesome List

- [JavaScript Cryptography](https://awesome-repositories.com/f/awesome-lists/devtools/javascript-cryptography.md) — Native TLS implementation and network-heavy application tools.
