SignSecure is an open-source React app built with TypeScript that allows users to securely upload, hash, and sign documents using a crypto wallet using Cardano's CIP 8 - Message Signing and CIP 30 - Cardano dApp-Wallet Web Bridge . It provides a user-friendly interface for document verification, ensuring data integrity and authenticity.
Before running SignSecure, please make sure you have the following prerequisites:
- A crypto wallet extension installed in your browser for document signing. (e.g., Flint, Nami, Eternl).
- For running the app it's necessary to have npm or docker installed on your computer.
- Upload documents and calculate their hash using the
sha2-256
algorithm. - Sign documents using a private key from a cardano crypto wallet.
- Verify document signatures by providing the corresponding signature and key and optionaly the orignal file to calculate again the original hash.
- React: A JavaScript library for building user interfaces.
- TypeScript: A typed superset of JavaScript that compiles to plain JavaScript.
- Material-UI (Mui): A popular React UI library for creating beautiful and responsive UI components.
- Cardano connect with Wallet: cardano-wallet-js is a javascript/typescript SDK for Cardano with several functionalities. It's library provides the functionality to connect a Cardano wallet and sign a documment using a key pair.
- Cardano Verify Datasignature: A lightweight typescript library to verify a CIP 30 datasignature.
- CIP 8 - Message Signing
- CIP 30 - Cardano dApp-Wallet Web Bridge
To run SignSecure locally, you have two options: using the Dockerfile or running it directly on your machine.
-
Clone the repository:
git clone https://github.com/jorgenavben/SignSecure.git
-
Navigate to the project directory:
cd SignSecure
-
Build the Docker image:
docker build -t signsecure .
-
Run the Docker container:
docker run -p 3000:3000 signsecure
-
Open your browser and visit http://localhost:3000 to see the application in action.
-
Clone the repository:
git clone https://github.com/jorgenavben/SignSecure.git
-
Navigate to the project directory:
cd SignSecure
-
Install the dependencies:
npm install
-
Start the development server:
npm start
-
Open your browser and visit http://localhost:3000 to see the application in action.
SignSecure is released under the MIT License. Feel free to use, modify, and distribute the code for personal and commercial purposes.