Skip to content

jnaulty/sequoia-openpgp-webapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sequoia OpenPGP WebApp Demo

sequoia-openpgp-webapp is a playground project I created to explore pgp on the web, in rust.

My objective was to create a web app written completely in rust that could show off the sequoia-openpgp project. I've had exposure to Javascript web frameworks like Angular, React, and Vue, but wanted to stay completely within the rust ecosystem. I'd like to get more comfortable with the sequoia-openpgp library. Eventually, I'd like to use it on the betrusted.io precursor device.

Here's the Demo. (rendered via gh-pages). It's written entirely in rust 🦀

Underlying Tech

This web app is built with two primary technologies, yew.rs and sequoia-openpgp

Why Yew?

I wanted to work on a project that was using Rust + WebAssembly--Mozilla Developer Docs pointed me to Yew:

There are two main use cases for Rust and WebAssembly:

- Build an entire application — an entire web app based in Rust.
- Build a part of an application — using Rust in an existing JavaScript frontend.

For now, the Rust team is focusing on the latter case, and so that's what we cover here. 
For the former case, check out projects like yew.

Yew

Yew is a modern Rust framework for creating multi-threaded front-end web apps with WebAssembly.

My pet peeve with web development is having to deal with javascript. I'm so happy to see frameworks like Yew developing in the rust ecosystem!

Why Sequoia-Openpgp?

The Sequoia Project (gitlab) is a

cool new OpenPGP implementation. It consists of several crates, providing both a low-level and a high-level API for dealing with OpenPGP data.

Some cool features about this project is that it's a very complete implementation of OpenPGP standard in rust. This project is much more friendly for development than building something on top of the gpg ecosystem.

The RustCrypto Backend also means this utility will be easier to port over into xous-core as an app. xous-core is the OS for a secure information/compute device called the Precursor.

OpenPGP Web App Integration Features

Miscellaneous

Build

  • cargo install trunk
  • trunk serve --open

Deps.Dev

Yew

sequoia-openpgp

Thanks