Skip to content

User-friendly web app for the use of OpenSSL based on WebAssembly

License

Notifications You must be signed in to change notification settings

janeumnn/openssl-webapp

Repository files navigation

OpenSSL WebApp

User-friendly web app for the use of OpenSSL based on WebAssembly

View · Report Bug · Request Feature

About The Project

This web app makes use of cryptographic methods with the help of the OpenSSL command line program. For this purpose, the web app implements the functions from the command line program in two different ways: in a GUI and as a command line interface.

It brings the OpenSSL toolkit into the browser as WebAssembly bytecode. The new web standard WebAssembly serves as a compilation target for languages like C/C++ and allows client-side execution in the browser. Compared to an interpreted language such as JavaScript, WebAssembly bytecode benefits from, among other things, near-native execution speed.

Built With

Getting Started

Prerequisites

  • Emscripten SDK (if using locally installed emsdk)
    # Activate PATH and other environment variables in the current terminal
    source /path/to/emsdk_env.sh

Installation

  1. Clone the repository
    git clone https://github.com/janeumnn/openssl-webapp.git
  2. Install NPM packages
    npm install

Usage

  • Run the app in development mode

    npm start
  • Build the app to the build folder. It bundles the app with an individual webpack config, so that it outputs only single files for the use in CrypTool Online.

    npm run build:cto-app
  • Run build script in order to compile OpenSSL with Emscripten

    • With locally installed emsdk

      npm run build:openssl
    • With emscripten/emsdk docker image

      npm run build:openssl:docker

Contributing

Any contributions are greatly appreciated. If you have a suggestion that would make this better, please open an issue or fork the repository and create a pull request.

License

Distributed under the MIT License. See LICENSE for more information.