rsasign
TypeScript icon, indicating that this package has built-in type declarations

1.4.2 • Public • Published

rsasign

Overview

RSASSA-PKCS1-v1_5 with key length 2048 and hash function SHA-256 wrapped for usage in JavaScript.

The platform native RSA implementation (via SubtleCrypto or the Node.js Crypto API) is preferred where available. Otherwise, the OpenSSL implementation compiled to pure JavaScript with Emscripten is used as a fallback.

Example Usage

import {rsaSign} from 'rsasign';

const keyPair /*: {privateKey: Uint8Array; publicKey: Uint8Array} */ =
	await rsaSign.keyPair()
;

const message /*: Uint8Array */ =
	new Uint8Array([104, 101, 108, 108, 111, 0]) // "hello"
;

/* Combined signatures */

const signed /*: Uint8Array */ =
	await rsaSign.sign(message, keyPair.privateKey)
;

const verified /*: Uint8Array */ =
	await rsaSign.open(signed, keyPair.publicKey) // same as message
;

/* Detached signatures */

const signature /*: Uint8Array */ =
	await rsaSign.signDetached(message, keyPair.privateKey)
;

const isValid /*: boolean */ =
	await rsaSign.verifyDetached(signature, message, keyPair.publicKey) // true
;

console.log(keyPair);
console.log(message);
console.log(signed);
console.log(verified);
console.log(signature);
console.log(isValid);

Package Sidebar

Install

npm i rsasign

Weekly Downloads

1

Version

1.4.2

License

MIT

Unpacked Size

987 kB

Total Files

10

Last publish

Collaborators

  • cyphinc