Hierarchy

  • Cryptography

Methods

  • Description

    Envelopa dados utilizando uma chave pública RSA.

    Returns

    Retorna o dado envelopado.

    Throws

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

    Parameters

    • 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.

    Returns Promise<Buffer>

  • Description

    Desenvelopa dados utilizando uma chave RSA.

    Returns

    Retorna o dado desenvelopado.

    Throws

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

    Parameters

    • 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.

    Returns Promise<Buffer>

  • Description

    Assina um dado utilizando uma chave privada ECC.

    Returns

    Retorna um buffer com a assinatura do dado.

    Throws

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

    Parameters

    • keyName: string

      Nome da chave.

    • hashAlgorithm: HASH_ALGORITHMS

      Algoritmo utilizado para gerar a hash do dado.

    • hash: Buffer

      Hash do dado que será assinado.

    Returns Promise<Buffer>

  • Description

    Verifica uma assinatura de um dado utilizando uma chave ECC.

    Returns

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

    Throws

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

    Parameters

    • 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.

    Returns Promise<boolean>

  • Description

    Assina um dado utilizando uma chave privada EdDSA.

    Returns

    Retorna um buffer com a assinatura do dado.

    Throws

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

    Parameters

    • keyName: string

      Nome da chave.

    • hash: Buffer

      Hash do dado que será assinado.

    Returns Promise<Buffer>

  • Description

    Verifica uma assinatura de um dado utilizando uma chave EdDSA.

    Returns

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

    Throws

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

    Parameters

    • keyName: string

      Nome da chave.

    • hash: Buffer

      Hash do dado que será verificado.

    • signature: Buffer

      Assinatura do dado que será verificado.

    Returns Promise<boolean>

  • Description

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

    Returns

    Retorna um buffer com o segredo reconstruído.

    Throws

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

    Parameters

    • parts: Buffer[]

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

    Returns Promise<Buffer>

  • Description

    Faz a divisão M de N de um segredo. Conforme o padrão de compartilhamento de segredos de Shamir.

    Returns

    Retorna um buffer com o segredo dividido.

    Throws

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

    Parameters

    • m: number

      Quantidade mínima de partes necessárias para reconstrução do segredo. Mínimo de M_OF_N_SECRET_MIN_N e o máximo deve ser menor ou igual a n.

    • n: number

      Quantidade total de partes geradas. Mínimo de M_OF_N_SECRET_MIN_N e máximo de M_OF_N_SECRET_MAX_N.

    • Optional secret: null | string

      Segredo que será compartilhado em várias partes. Deve ter tamanho de M_OF_N_SECRET_LEN caracteres. Pode ser passado NULL para que um segredo seja gerado randomicamente pelo HSM, neste caso o valor será retornado em MofNSplit.

    Returns Promise<MofNSplit>

  • Description

    Assina um dado utilizando uma chave privada RSA.

    Returns

    Retorna um buffer com a assinatura do dado.

    Throws

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

    Parameters

    • 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.

    Returns Promise<Buffer>

  • Description

    Verifica uma assinatura de um dado utilizando uma chave RSA.

    Returns

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

    Throws

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

    Parameters

    • 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.

    Returns Promise<boolean>