API JavaScript HSM Dinamo
    theme_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>>;
    }
    theme_index

    kind_plural_method

    • Reconstrói o segredo M de N a partir das partes dos custodiantes. Conforme o padrão de compartilhamento de segredos de Shamir.

      kind_plural_parameter

      • parts: Buffer<ArrayBufferLike>[]

        Array de buffers com as partes do segredo geradas pela função Cryptography.mOfnSplit.

      theme_returns Promise<Buffer<ArrayBufferLike>>

      Retorna um buffer com o segredo reconstruído.

      exceptions.HsmError Caso não seja possível reconstruir o segredo ou ocorra algum erro na operação.

      Código de exemplo: Reconstruindo um segredo em M de N

    • Assina um dado utilizando uma chave privada RSA.

      kind_plural_parameter

      • keyName: string

        Nome da chave.

      • hashAlgorithm: HASH_ALGORITHMS

        Algoritmo utilizado para gerar a hash do dado.

      • hash: Buffer

        Hash do dado que será assinado.

      • pad: PAD_TYPE

        Tipo de padding que será utilizado na assinatura.

      theme_returns Promise<Buffer<ArrayBufferLike>>

      Retorna um buffer com a assinatura do dado.

      exceptions.HsmError Caso não seja possível assinar o dado ou ocorra algum erro na operação.

      Código de exemplo: Assinando hash com RSA

    • Verifica uma assinatura de um dado utilizando uma chave RSA.

      kind_plural_parameter

      • keyName: string

        Nome da chave.

      • hashAlgorithm: HASH_ALGORITHMS

        Algoritmo utilizado para gerar a hash do dado.

      • pad: PAD_TYPE

        Tipo de padding que será utilizado na assinatura.

      • hash: Buffer

        Hash do dado que será verificado.

      • signature: Buffer

        Assinatura do dado que será verificado.

      theme_returns Promise<boolean>

      Retorna true caso a assinatura seja válida e false caso contrário.

      exceptions.HsmError Caso não seja possível verificar a assinatura ou ocorra algum erro na operação.

    • Assina um dado utilizando uma chave privada ECC.

      kind_plural_parameter

      • keyName: string

        Nome da chave.

      • hashAlgorithm: HASH_ALGORITHMS

        Algoritmo utilizado para gerar a hash do dado.

      • hash: Buffer

        Hash do dado que será assinado.

      theme_returns Promise<Buffer<ArrayBufferLike>>

      Retorna um buffer com a assinatura do dado.

      exceptions.HsmError Caso não seja possível assinar o dado ou ocorra algum erro na operação.

      Código de exemplo: Assinando hash com ECC

    • Verifica uma assinatura de um dado utilizando uma chave ECC.

      kind_plural_parameter

      • keyName: string

        Nome da chave.

      • hashAlgorithm: HASH_ALGORITHMS

        Algoritmo utilizado para gerar a hash do dado.

      • hash: Buffer

        Hash do dado que será verificado.

      • signature: Buffer

        Assinatura do dado que será verificado.

      theme_returns Promise<boolean>

      Retorna true caso a assinatura seja válida e false caso contrário.

      exceptions.HsmError Caso não seja possível verificar a assinatura ou ocorra algum erro na operação.

    • Assina um dado utilizando uma chave privada EdDSA.

      kind_plural_parameter

      • keyName: string

        Nome da chave.

      • hash: Buffer

        Hash do dado que será assinado.

      theme_returns Promise<Buffer<ArrayBufferLike>>

      Retorna um buffer com a assinatura do dado.

      exceptions.HsmError Caso não seja possível assinar o dado ou ocorra algum erro na operação.

      Código de exemplo: Assinando hash com EdDSA

    • Verifica uma assinatura de um dado utilizando uma chave EdDSA.

      kind_plural_parameter

      • keyName: string

        Nome da chave.

      • hash: Buffer

        Hash do dado que será verificado.

      • signature: Buffer

        Assinatura do dado que será verificado.

      theme_returns Promise<boolean>

      Retorna true caso a assinatura seja válida e false caso contrário.

      exceptions.HsmError Caso não seja possível verificar a assinatura ou ocorra algum erro na operação.

    • Desenvelopa dados utilizando uma chave RSA.

      kind_plural_parameter

      • keyName: string

        Nome da chave privada RSA.

      • data: Buffer

        Dado que será desenvelopado.

      • paddingOption: ENC_DEC_PADDING

        Opção de preenchimento usada na criptografia dos dados.

      theme_returns Promise<Buffer<ArrayBufferLike>>

      Retorna o dado desenvelopado.

      exceptions.HsmError Caso não seja possível desenvelopar o dado ou ocorra algum erro na operação.

    • Envelopa dados utilizando uma chave pública RSA.

      kind_plural_parameter

      • pubKey: Buffer

        Chave pública RSA que será utilizada para envelopar o dado.

      • keyLength: RSA_LENGTH_KEYS
      • data: Buffer

        Dado que será envelopado.

      • paddingOption: ENC_DEC_PADDING

        Opção de preenchimento usada na criptografia dos dados.

      theme_returns Promise<Buffer<ArrayBufferLike>>

      Retorna o dado envelopado.

      exceptions.HsmError Caso não seja possível envelopar o dado ou ocorra algum erro na operação.

    • Retorna um conjunto de bytes pseudo-aleatorios de tamanho len para uso em criptografia.

      kind_plural_parameter

      • len: number

        Número de bytes a serem gerados. O valor deverá estar entre 0 e 4294967295

      theme_returns Promise<Buffer<ArrayBufferLike>>

      Retorna um buffer contendo um conjunto de bytes pseudo-aleatórios de tamanho len.

      exceptions.HsmError Caso não seja possível recuperar os bytes ou ocorra algum erro na operação.