Giter VIP home page Giter VIP logo

forge's Introduction

Forge

A native implementation of TLS in JavaScript and tools to write network based web apps.

Introduction

The Forge software is a fully native implementation of the TLS protocol in JavaScript as well as a set of tools for developing Web Apps that utilize many network resources.

Features

forge.debug

Provides storage of debugging information normally inaccessible in closures for viewing/investigation.

forge.util

Provides utility functions, including byte buffer support, base64, bytes to/from hex, zlib inflate/deflate, etc.

forge.log

Provides logging to a javascript console using various categories and levels of verbosity.

forge.task

Provides queuing and synchronizing tasks in a web application.

forge.aes

Provides basic AES encryption and decryption in CBC mode.

forge.md.md5

Provides MD5 message digests.

forge.md.sha1

Provides SHA-1 message digests.

forge.md.sha256

Provides SHA-256 message digests.

forge.hmac

Provides HMAC w/any supported message digest algorithm.

forge.pkcs5.pbkdf2

Provides the password-based key-derivation function from PKCS#5.

forge.prng

Provides a Fortuna-based cryptographically-secure pseudo-random number generator, to be used with a cryptographic function backend, ie: AES.

forge.random

Provides an interface to getting cryptographically-secure bytes using AES as a backend for forge.prng.

forge.asn

Provides ASN.1 DER encoding and decoding.

forge.pki

Provides X.509 certificate and RSA public and private key encoding, decoding, encryption/decryption, and signing/verifying.

forge.tls

Provides a native javascript client and server-side TLS implementation.

forge.socket

Provides an interface to create and use raw sockets provided via Flash.

forge.http

Provides a native JavaScript mini-implementation of an http client that uses pooled sockets.

forge.xhr

Provides an XmlHttpRequest implementation using forge.http as a backend.

mod_fsp

Provides an Apache module that can serve up a Flash Socket Policy. See mod_fsp/README for more details. This module makes it easy to modify an Apache server to allow cross domain requests to be made to it.

Getting Started

Requirements

Building

To build the whole project, run the following::

$ ./build-setup
$ make

This will create the SWF, symlink all the JavaScript files, and build a Python SSL module for testing. To see configure options, run ./configure --help.

Testing

A test server is provided which can be run in TLS mode and non-TLS mode. Use the --help option to get help for configuring ports. The server will print out the local URL you can vist to run tests.

Some of the simplier tests should be run with just the non-TLS server::

$ ./tests/server.py

More advanced tests need TLS enabled::

$ ./tests/server.py --tls

Library Details

Contact

forge's People

Contributors

dlongley avatar stesie avatar davidlehn avatar msporny avatar

Watchers

Vidyuth Dandu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.