WIP self-sovereign-id, an SSI prototype

vaeringjar b0f1ba853c Cleaned up the TextCrypto component a little bit. 5 months ago
public 2d52a58028 Whitespace autoformatted. 5 months ago
src b0f1ba853c Cleaned up the TextCrypto component a little bit. 5 months ago
.browserslistrc c6d1430b37 Started working on a new project. 8 months ago
.eslintrc.js c6d1430b37 Started working on a new project. 8 months ago
.gitignore 74cd1a6a5b Added _sandbox to the .gitignore for personal use while development. 7 months ago
LICENSE_agpl.txt 33cbea3d6e Switched the README to org-mode. 8 months ago
README.org bdcd8f273c Added better instructions for getting the fingerprints. 6 months ago
babel.config.js c6d1430b37 Started working on a new project. 8 months ago
package-lock.json 7485e99ae7 Added better, but still not perfect fingerprints. 7 months ago
package.json 7485e99ae7 Added better, but still not perfect fingerprints. 7 months ago
postcss.config.js c6d1430b37 Started working on a new project. 8 months ago

README.org

About

self-sovereign-id, an SSI frontend prototype. Built with vue1.

-------------------------------------------------------------------------------

License

Copyright 2019 vaeringjar. Code distributed under the AGPLv3+. Media distributed under the CC BY-SA 4.02.

Project goals

  • Multiple identities, such as having multiple business cards.
  • vCard support.
  • PGP for signing and encrypting communications.
  • Use generic fingerprints to ID and join IDs to start, but later distinguish between MD5, SHA256, etc.
  • Communication media agnostic, eg email or SMS
  • Blockchain or DHT agnostic.

Implementation Notes

  • Fingerprints can have but do not require spaces or colons; match a fingerprint with spaces on one without.
  • Key with newline chars must replace them with \n in order for compatibility.
  • Demo key pairs included in the project for development will use weak encryption.

Using

keys

NOTE: Eventually an ssi-backend project will handle some of this.


# Generate a test private key
openssl genpkey -algorithm RSA -out key.pem -pkeyopt \
    rsa_keygen_bits:512 -pkeyopt rsa_keygen_pubexp:3 ;

# Write out the test public key
openssl rsa -in key.pem -pubout > key.pub

# This should print out all the details about the key:
openssl rsa -text -inform pem -in key.pem

# Replace newlines with escaped newlines for the json.
awk -vRS="\n" -vORS="\\\n" '1' key.pem
awk -vRS="\n" -vORS="\\\n" '1' key.pub

# Printing the fingerprint.
# Can also replace sha256 for md5 to get a shorter fingerprint.
openssl rsa -pubout -outform DER -in key.pem | openssl sha256 -c

npm

First install npm. Then:


# Project setup
npm install

# Compiles and hot-reloads for development
npm run serve

# Compiles and minifies for production
npm run build

# Run your tests
npm run test

# Lints and fixes files
npm run lint

Customize configuration

See Configuration Reference3.

See Also

Footnotes

4 5 6


  1. DEFINITION NOT FOUND
  2. DEFINITION NOT FOUND
  3. DEFINITION NOT FOUND
  4. DEFINITION NOT FOUND
  5. DEFINITION NOT FOUND
  6. DEFINITION NOT FOUND