A library for signing URLs using ECDSA P-521 keys and SHA-512 encryption.
$ npm i @manifoldco/mamba
sign function accepts a URL and a private ECDSA P-521 encryption key. It returns the same URL with a timestamp and signature in the query denoted by
sig, respectively. You can use a PEM or a DER key.
With a PEM key
;const signedUrl =;//
With a DER key
formatPrivateDERKey, which accepts either a string or a buffer.
;const signedUrl =;
Follow the instructions below to contribute.
Clone the repo:
$ git clone email@example.com:manifoldco/mamba.git
Then change into the directory and install dependencies:
$ cd mamba $ npm i
All code files and tests are located in the
src/ folder. After making changes, run the build command:
$ npm run build
Please add tests for any new code you write. Run tests with
$ npm test
Note: you will need node 10.12.0 or higher in order to run the tests, which generate public and private keys for testing using functionality not available in previous releases.