Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.dependabot Add dependabot config Jun 6, 2019
package-lock.json Bump typescript from 3.1.6 to 3.5.1 Jun 7, 2019

Build Status codecov npm (scoped)


A library for signing URLs using ECDSA P-521 keys and SHA-512 encryption.


$ npm i @manifoldco/mamba


The 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 ts and sig, respectively. You can use a PEM or a DER key.

With a PEM key

import { sign } from "@manifoldco/mamba";

const signedUrl = sign(


With a DER key

Use formatPrivateDERKey, which accepts either a string or a buffer.

import { sign, formatPrivateDERKey, KeyType } from "@manifoldco/mamba";

const signedUrl = sign(


Follow the instructions below to contribute.


Clone the repo:

$ git clone

Then change into the directory and install dependencies:

$ cd mamba
$ npm i

Making Changes

All code files and tests are located in the src/ folder. After making changes, run the build command:

$ npm run build

This compiles the TypeScript to JavaScript and places it in the dist/ folder.


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.

You can’t perform that action at this time.