interface Management {
    getShadow(pin: string, path?: string): Promise<GetShadowResponse>;
    setNsAuthState(
        aclMask: ACL_MASK,
        state: NSAUTH_STATE,
        share: string[],
    ): Promise<boolean>;
    generateSVMK(
        m: number,
        n: number,
        secret: null | string,
        version?: SVMK_VERSION,
    ): Promise<genSVMKResponse>;
    recoverSVMK(parts: string[]): Promise<string>;
    getScInfo(path?: string): Promise<ScInfo | ErrorResponseNH>;
    getScLabel(pin: string, path?: string): Promise<ErrorResponseNH | ScLabel>;
    setScLabel(
        pin: string,
        label: string,
        path?: string,
    ): Promise<ErrorResponseNH | SucessResponseNH>;
    changeScPin(
        oldPin: string,
        newPin: string,
        path?: string,
    ): Promise<ErrorResponseNH | SucessResponseNH>;
    writeScSVMK(
        pin: string,
        shadow: string,
        overwrite: boolean,
        path?: string,
    ): Promise<ErrorResponseNH | SucessResponseNH>;
    eraseSmartCard(
        pin: string,
        path?: string,
    ): Promise<ErrorResponseNH | SucessResponseNH>;
    listObjs(): Promise<string[] | null[]>;
    setTlsBundle(key?: string, cert?: string): Promise<SucessResponse>;
    setUserParam(user: string, der: Buffer): Promise<SucessResponse>;
    deleteAuthSA(user: string, tfaType: TFA_TYPE): Promise<SucessResponse>;
    getUserAcl(user: string): Promise<AclList>;
    setUserAcl(user: string, acl: ACL_MASK[]): Promise<SucessResponse>;
    listBlobs(): Promise<string[]>;
    getObjectInfo(objId: string): Promise<ObjectInfo>;
    getObjectInfoModprobe(objId: string): Promise<ObjectInfo>;
}

Methods

  • Lê a shadow de um cartão Smart-card M de N Dinamo.

    Parameters

    • pin: string

      PIN do cartão. Deve ser uma string numérica ASCII com tamanho máximo de 8.

    • Optionalpath: string

      Atributo opcional com o path para o utilitário dinamonh.exe.

    Returns Promise<GetShadowResponse>

    • Dados da shadow lida.

    exceptions.HsmError Caso ocorra algum erro na operação.

    OBS: Para realizar esta operação, é necessário instalar o HSM Client na opção Completa no dispositivo. Você pode fazer o download do HSM Client através do link. Além disso, é necessário utilizar uma leitora de smartcards certificada pela Dinamo Networks.

    OBS:Embora seja possível indicar o path do Dinamo Native Host manualmente por meio do atributo path, a Dinamo Networks recomenda seu uso apenas em casos de restrição severa ao registro do Windows ou alterações no método default de instalação do cliente Dinamo

    Código de exemplo: Recuperando a shadow de um smartcard

  • Gera um Segredo e o divide em partes usando o esquema de compartilhamento secreto de Shamir.

    Parameters

    • m: number

      Número mínimo de partes necessárias para reconstruir o segredo. Deve ser maior ou igual a 2 e menor ou igual a n.

    • n: number

      Número total de partes geradas. Deve ser maior ou igual a m e menor ou igual a 255.

    • secret: null | string

      Segredo a ser dividido. Se nulo ou não fornecido, um segredo aleatório será gerado. Se fornecido, deve ser uma string ASCII com tamanho fixo dependendo da versão do SVMK.

    • Optionalversion: SVMK_VERSION

      Versão do SVMK que determina o tamanho do segredo. (Opcional. Valor padrão é 2)

    Returns Promise<genSVMKResponse>

    • Um objeto contendo o segredo original (se fornecido ou gerado), a entropia usada (se o segredo foi gerado), os parâmetros m e n, e as partes geradas pelo esquema de Shamir.

    exceptions.HsmError Se ocorrer um erro durante a operação, como parâmetros inválidos ou erro de comunicação com o HSM.

    O esquema de Shamir permite dividir um segredo em n partes, de forma que pelo menos m partes sejam necessárias para reconstruir o segredo original. Nenhuma combinação de m-1 partes revela qualquer informação sobre o segredo.

    A versão do SVMK define o tamanho do segredo e o formato das partes. A versão 2 introduz melhorias de segurança em relação à versão 1.

    Se secret for nulo, um novo segredo aleatório com o tamanho apropriado (determinado pela versão) será gerado. A entropia usada para gerar o segredo será incluída na resposta.

    Se secret for fornecido, ele será usado como o segredo a ser dividido. Certifique-se de que o segredo tenha o tamanho correto para a versão especificada.

  • Recupera o SVMK (SVMK - Server Master Key) a partir de um conjunto de partes geradas pelo esquema de compartilhamento secreto de Shamir.

    Parameters

    • parts: string[]

      Array de strings hexadecimais representando as partes do SVMK. Deve conter pelo menos m partes válidas, onde m é o número mínimo de partes definido durante a geração do SVMK.

    Returns Promise<string>

    • O segredo original reconstruído, como uma string hexadecimal.

    exceptions.HsmError Se ocorrer um erro durante a operação, como partes inválidas, número insuficiente de partes ou erro de comunicação com o HSM.

    Este método recupera o SVMK original a partir das partes fornecidas. As partes devem ter sido geradas previamente pelo método generateSVMK. O número de partes fornecidas deve ser igual ou superior ao valor de m definido na geração. A ordem das partes não importa.

    Se as partes fornecidas forem inválidas (formato incorreto, tamanhos diferentes, etc.) ou se o número de partes for insuficiente, um erro será lançado.

  • Obtém informações sobre o smart card.

    Este método se obtem informações detalhadas sobre o smart card inserido na leitora.

    Parameters

    • Optionalpath: string

      Atributo opcional com o path para o utilitário dinamonh.exe.

    Returns Promise<ScInfo | ErrorResponseNH>

    Uma Promise que resolve com um objeto ScInfo contendo as informações do smart card em caso de sucesso, ou rejeita com um objeto ErrorResponseNH em caso de erro.

    Se ocorrer um erro durante a comunicação com o Native Host, como:

    • Executável do Native Host não encontrado.
    • Erro ao iniciar o processo do Native Host.
    • Erro ao analisar a resposta JSON do Native Host.
    • Timeout na operação.
    • Native Host encerrado com código de erro.

    OBS: Para realizar esta operação, é necessário instalar o HSM Client na opção Completa no dispositivo. Você pode fazer o download do HSM Client através do link. Além disso, é necessário utilizar uma leitora de smartcards certificada pela Dinamo Networks.

    OBS:Embora seja possível indicar o path do Dinamo Native Host manualmente por meio do atributo path, a Dinamo Networks recomenda seu uso apenas em casos de restrição severa ao registro do Windows ou alterações no método default de instalação do cliente Dinamo

    As informações do smart card são retornadas em um objeto ScInfo, que contém detalhes como ATR, CSN, versão do chip, etc. Em caso de erro, um objeto ErrorResponseNH é retornado, contendo o status e o código de erro.

  • Obtém o label do smart card.

    Parameters

    • pin: string

      O PIN do smart card.

    • Optionalpath: string

      Atributo opcional com o path para o utilitário dinamonh.exe.

    Returns Promise<ErrorResponseNH | ScLabel>

    Uma Promise que resolve com um objeto ScLabel contendo o label do smart card em caso de sucesso, ou rejeita com um objeto ErrorResponseNH em caso de erro.

    Se ocorrer um erro.

    O label do smart card é retornado em um objeto ScLabel. Em caso de erro, um objeto ErrorResponseNH é retornado, contendo o status e o código de erro.

    OBS: Para realizar esta operação, é necessário instalar o HSM Client na opção Completa no dispositivo. Você pode fazer o download do HSM Client através do link. Além disso, é necessário utilizar uma leitora de smartcards certificada pela Dinamo Networks.

    OBS:Embora seja possível indicar o path do Dinamo Native Host manualmente por meio do atributo path, a Dinamo Networks recomenda seu uso apenas em casos de restrição severa ao registro do Windows ou alterações no método default de instalação do cliente Dinamo

    Código de exemplo: Recuperando o label de um smartcard

  • Define o label do smart card.

    Parameters

    • pin: string

      O PIN do smart card.

    • label: string

      O novo label a ser definido.

    • Optionalpath: string

      Atributo opcional com o path para o utilitário dinamonh.exe.

    Returns Promise<ErrorResponseNH | SucessResponseNH>

    Uma Promise que resolve com um objeto SucessResponseNH em caso de sucesso, ou rejeita com um objeto ErrorResponseNH em caso de erro.

    Se ocorrer um erro.

    OBS: Para realizar esta operação, é necessário instalar o HSM Client na opção Completa no dispositivo. Você pode fazer o download do HSM Client através do link. Além disso, é necessário utilizar uma leitora de smartcards certificada pela Dinamo Networks.

    OBS:Embora seja possível indicar o path do Dinamo Native Host manualmente por meio do atributo path, a Dinamo Networks recomenda seu uso apenas em casos de restrição severa ao registro do Windows ou alterações no método default de instalação do cliente Dinamo

  • Altera o PIN do smart card.

    Parameters

    • oldPin: string

      O PIN atual do smart card.

    • newPin: string

      O novo PIN a ser definido.

    • Optionalpath: string

      Atributo opcional com o path para o utilitário dinamonh.exe.

    Returns Promise<ErrorResponseNH | SucessResponseNH>

    Uma Promise que resolve com um objeto SucessResponseNH em caso de sucesso, ou rejeita com um objeto ErrorResponseNH em caso de erro.

    Se ocorrer um erro.

    OBS: Para realizar esta operação, é necessário instalar o HSM Client na opção Completa no dispositivo. Você pode fazer o download do HSM Client através do link. Além disso, é necessário utilizar uma leitora de smartcards certificada pela Dinamo Networks.

    OBS:Embora seja possível indicar o path do Dinamo Native Host manualmente por meio do atributo path, a Dinamo Networks recomenda seu uso apenas em casos de restrição severa ao registro do Windows ou alterações no método default de instalação do cliente Dinamo

  • Grava o SVMK (Server Master Key) no smart card.

    Parameters

    • pin: string

      O PIN do smart card. Deve ser uma string numérica com exatamente 8 dígitos.

    • shadow: string

      O shadow a ser gravado, em formato hexadecimal. Deve ter o tamanho correto de acordo com a versão do SVMK.

    • overwrite: boolean

      Indica se deve sobrescrever um shadow existente. Se false e já existir um shadow, a operação falhará.

    • Optionalpath: string

      Atributo opcional com o path para o utilitário dinamonh.exe.

    Returns Promise<ErrorResponseNH | SucessResponseNH>

    Uma Promise que resolve com um objeto SucessResponseNH em caso de sucesso, ou rejeita com um objeto ErrorResponseNH em caso de erro.

    Se ocorrer um erro, como:

    • PIN inválido.
    • Shadow inválido (formato incorreto, tamanho incorreto).
    • Tentativa de sobrescrever um shadow existente quando overwrite é false.

    OBS: Para realizar esta operação, é necessário instalar o HSM Client na opção Completa no dispositivo. Você pode fazer o download do HSM Client através do link. Além disso, é necessário utilizar uma leitora de smartcards certificada pela Dinamo Networks.

    OBS:Embora seja possível indicar o path do Dinamo Native Host manualmente por meio do atributo path, a Dinamo Networks recomenda seu uso apenas em casos de restrição severa ao registro do Windows ou alterações no método default de instalação do cliente Dinamo

    O shadow fornecido será gravado no smart card, permitindo que ele seja usado para autenticação e outras operações. Certifique-se de que o shadow seja válido e tenha o tamanho correto de acordo com a versão do SVMK.

  • Apaga o conteúdo de um smart card.

    Parameters

    • pin: string

      O PIN do smart card. Deve ser uma string numérica com exatamente 8 dígitos.

    • Optionalpath: string

      Atributo opcional com o path para o utilitário dinamonh.exe.

    Returns Promise<ErrorResponseNH | SucessResponseNH>

    Uma Promise que resolve com um objeto SucessResponseNH em caso de sucesso, ou rejeita com um objeto ErrorResponseNH em caso de erro.

    Se ocorrer um erro, como:

    • PIN inválido.
    • Erro de comunicação com o HSM.
    • Smart card não encontrado ou não acessível.

    OBS: Para realizar esta operação, é necessário instalar o HSM Client na opção Completa no dispositivo. Você pode fazer o download do HSM Client através do link. Além disso, é necessário utilizar uma leitora de smartcards certificada pela Dinamo Networks.

    OBS:Embora seja possível indicar o path do Dinamo Native Host manualmente por meio do atributo path, a Dinamo Networks recomenda seu uso apenas em casos de restrição severa ao registro do Windows ou alterações no método default de instalação do cliente Dinamo

    Atenção: Esta operação é irreversível e apagará todos os dados do smart card. Certifique-se de que deseja apagar o smart card antes de chamar este método.

  • Lista os objetos armazenados no HSM.

    Returns Promise<string[] | null[]>

    Uma Promise que resolve para um array de strings, contendo lista dos objetos contidos na partição do HSM.

    Se ocorrer um erro durante a comunicação com o HSM, como problemas de conexão ou erros na resposta do HSM.

  • Habilita o TLS Bundle no HSM

    Parameters

    • Optionalkey: string

      Id da chave privada em string.

    • Optionalcert: string

      Id do certificado em string.

    Returns Promise<SucessResponse>

    Uma promessa que resolve com um objeto SuccessResponse em caso de sucesso, ou rejeita com um erro em caso de falha.

    Se key e cert forem omitidos, o TLS Bundle será resetado para o estado padrão OEM.

    HsmError Se ocorrer um erro durante a comunicação com o HSM.

  • Habilita segundo fator de autenticação (TFA) para um usuário

    Parameters

    • user: string

      Identificador do usuário

    • der: Buffer

      Certificado utilizado para habilitar x509.

    Returns Promise<SucessResponse>

    Uma promessa que resolve com um objeto SuccessResponse em caso de sucesso, ou rejeita com um erro em caso de falha.

    HsmError Se ocorrer um erro durante a comunicação com o HSM.

  • Remove Segunda Fator de Autenticação (TFA) atribuído a um usuário

    Parameters

    • user: string

      Identificador do usuário

    • tfaType: TFA_TYPE

      Identificador do TFA a ser removido.

    Returns Promise<SucessResponse>

    Uma promessa que resolve com um objeto SuccessResponse em caso de sucesso, ou rejeita com um erro em caso de falha.

    HsmError Se ocorrer um erro durante a comunicação com o HSM.

  • Recupera o ACL de um usuário.

    Parameters

    • user: string

      Identificador do usuário

    Returns Promise<AclList>

    Uma promessa que resolve com um objeto com lista de acls em caso de sucesso, ou rejeita com um erro em caso de falha.

    HsmError Se ocorrer um erro durante a comunicação com o HSM.

  • Lista Blobs armazenados na partição do HSM.

    Returns Promise<string[]>

    • Promessa resolvida com um array de strings contendo uma lista de blobs armazenada na partição do HSM.

    exceptions.HsmError - Retornado caso um erro seja encontrado.

  • Retorna informações sobre um objeto armazenado no HSM, evitando possíveis ruídos no log ao tentar consultar objetos não existentes na partição.

    Parameters

    • objId: string

      O identificador do objeto na partição do HSM.

    Returns Promise<ObjectInfo>

    • Promessa resolvida com um objeto ObjectInfo contendo informações sobre o objeto.

    exceptions.HsmError - Retornado caso um erro seja encontrado.