Skip to content

nibyou/pki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nibyou Logo

Nibyou Public Key Infrastructure

This is a NodeJS/Cloudflare Worker implementation of an RSA-Public Key Service.

Keys have to be sent along with a JSON Web Token authenticating the user.

Getting keys just requires a users UUID, no authentication is needed.

API Documentation

GET /getKey/:uuid

Returns the public key of the user with the given UUID.
Returns a 404 if the user does not exist.

POST /setKey

Parameters (body):

  • token: JSON Web Token authenticating the user
  • key: public key of the user

Returns the payload if the key was successfully set.
Returns a 403 if the user already has a key.

Explanation of the parameter acquisition:

  • token: acquired from the nibyou/auth API
  • key: public part of a generated RSA-PSS keypair (in SPKI format):
const {publicKey, privateKey} = await crypto.subtle.generateKey({
    name: 'RSA-PSS',
    modulusLength: 2048,
    publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
    hash:'SHA-256',
},true,["verify","sign"])

const exportPuK = btoa(await crypto.subtle.exportKey("spki",publicKey))

Releases

No releases published

Packages

No packages published