JavaScript HSM API Dinamo
    Preparing search index...
    interface Cryptography {
        mOfnSplit(
            m: number,
            n: number,
            secret?: null | string,
        ): Promise<hsm.interfaces.cryptography.MofNSplit>;
        mOfNRecover(
            parts: Buffer<ArrayBufferLike>[],
        ): Promise<Buffer<ArrayBufferLike>>;
        rsaSign(
            keyName: string,
            hashAlgorithm: HASH_ALGORITHMS,
            hash: Buffer,
            pad: PAD_TYPE,
        ): Promise<Buffer<ArrayBufferLike>>;
        rsaVerify(
            keyName: string,
            hashAlgorithm: HASH_ALGORITHMS,
            pad: PAD_TYPE,
            hash: Buffer,
            signature: Buffer,
        ): Promise<boolean>;
        eccSign(
            keyName: string,
            hashAlgorithm: HASH_ALGORITHMS,
            hash: Buffer,
        ): Promise<Buffer<ArrayBufferLike>>;
        eccVerify(
            keyName: string,
            hashAlgorithm: HASH_ALGORITHMS,
            hash: Buffer,
            signature: Buffer,
        ): Promise<boolean>;
        eddsaSign(keyName: string, hash: Buffer): Promise<Buffer<ArrayBufferLike>>;
        eddsaVerify(
            keyName: string,
            hash: Buffer,
            signature: Buffer,
        ): Promise<boolean>;
        dataUnenvelop(
            keyName: string,
            data: Buffer,
            paddingOption: ENC_DEC_PADDING,
        ): Promise<Buffer<ArrayBufferLike>>;
        dataEnvelop(
            pubKey: Buffer,
            keyLength: RSA_LENGTH_KEYS,
            data: Buffer,
            paddingOption: ENC_DEC_PADDING,
        ): Promise<Buffer<ArrayBufferLike>>;
        genRand(len: number): Promise<Buffer<ArrayBufferLike>>;
    }
    Index

    Methods

    • Reconstructs the secret M of N from the parts of the custodians. According to Shamir's secret-sharing pattern.

      Parameters

      • parts: Buffer<ArrayBufferLike>[]

        Array of buffers with the parts of the secret generated by the Cryptography.mOfnSplit function.

      Returns Promise<Buffer<ArrayBufferLike>>

      Returns a buffer with the reconstructed secret.

      exceptions.HsmError If the secret cannot be reconstructed or an error occurs in the operation.

    • Signs data using an RSA private key.

      Parameters

      • keyName: string

        Key name.

      • hashAlgorithm: HASH_ALGORITHMS

        Algorithm used to generate the hash of the data.

      • hash: Buffer

        Hash of the data to be signed.

      • pad: PAD_TYPE

        Type of padding to be used in the signature.

      Returns Promise<Buffer<ArrayBufferLike>>

      Returns a buffer with the data signature.

      exceptions.HsmError If it is not possible to sign the data or there is an error in the operation.

      Example code: Signing hash with RSA

    • Verifies a data signature using an RSA key.

      Parameters

      • keyName: string

        Key name.

      • hashAlgorithm: HASH_ALGORITHMS

        Algorithm used to generate the hash of the data.

      • pad: PAD_TYPE

        Type of padding to be used in the signature.

      • hash: Buffer

        Hash of the data to be verified.

      • signature: Buffer

        Signature of the data to be verified.

      Returns Promise<boolean>

      Returns true if the signature is valid and false otherwise.

      exceptions.HsmError If it is not possible to verify the signature or an error occurs in the operation.

    • Signs data using an ECC private key.

      Parameters

      • keyName: string

        Key name.

      • hashAlgorithm: HASH_ALGORITHMS

        Algorithm used to generate the hash of the data.

      • hash: Buffer

        Hash of the data to be signed.

      Returns Promise<Buffer<ArrayBufferLike>>

      Returns a buffer with the data signature.

      exceptions.HsmError If it is not possible to sign the data or there is an error in the operation.

      Example code: Signing hash with ECC

    • Verifies a data signature using an ECC key.

      Parameters

      • keyName: string

        Key name.

      • hashAlgorithm: HASH_ALGORITHMS

        Algorithm used to generate the hash of the data.

      • hash: Buffer

        Hash of the data to be verified.

      • signature: Buffer

        Signature of the data to be verified.

      Returns Promise<boolean>

      Returns true if the signature is valid and false otherwise.

      exceptions.HsmError If it is not possible to verify the signature or an error occurs in the operation.

    • Signs data using an EdDSA private key.

      Parameters

      • keyName: string

        Key name.

      • hash: Buffer

        Hash of the data to be signed.

      Returns Promise<Buffer<ArrayBufferLike>>

      Returns a buffer with the data signature.

      exceptions.HsmError If it is not possible to sign the data or there is an error in the operation.

      Example code: Signing hash with EdDSA

    • Verifies a data signature using an EdDSA key.

      Parameters

      • keyName: string

        Key name.

      • hash: Buffer

        Hash of the data to be verified.

      • signature: Buffer

        Signature of the data to be verified.

      Returns Promise<boolean>

      Returns true if the signature is valid and false otherwise.

      exceptions.HsmError If it is not possible to verify the signature or an error occurs in the operation.

    • Unwrap data using an RSA key.

      Parameters

      • keyName: string

        Name of the RSA private key.

      • date: Buffer

        Given that it will be de-enveloped.

      • paddingOption: ENC_DEC_PADDING

        Filling option used in data encryption.

      Returns Promise<Buffer<ArrayBufferLike>>

      Returns the de-enveloped data.

      exceptions.HsmError If it is not possible to de-envelope the data or an error occurs in the operation.

    • Envelopes data using an RSA public key.

      Parameters

      • pubKey: Buffer

        RSA public key that will be used to envelop the data.

      • keyLength: RSA_LENGTH_KEYS
      • date: Buffer

        Given that it will be enveloped.

      • paddingOption: ENC_DEC_PADDING

        Filling option used in data encryption.

      Returns Promise<Buffer<ArrayBufferLike>>

      Returns the enveloped data.

      exceptions.HsmError If the data cannot be enveloped or an error occurs in the operation.

    • Returns a set of pseudo-random bytes of size len for use in cryptography.

      Parameters

      • len: number

        Number of bytes to be generated. The value should be between 0 and 4294967295

      Returns Promise<Buffer<ArrayBufferLike>>

      Returns a buffer containing a set of pseudo-random bytes of size len.

      exceptions.HsmError If it is not possible to retrieve the bytes or there is an error in the operation.