Not a Propaganda Machine

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

    1.3.7 • 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);
    

    Install

    npm i rsasign

    DownloadsWeekly Downloads

    34

    Version

    1.3.7

    License

    MIT

    Unpacked Size

    988 kB

    Total Files

    10

    Last publish

    Collaborators

    • cyphinc