Instalação e implantação do SDK
1. Introdução
Este documento inclui a descrição dos componentes fornecidos no produto FacePhi SelphID SDK.
Este produto incorpora várias bibliotecas cuja API permite incorporar em suas soluções de autenticação e identificação biométrica funcionalidades que utilizam imagens e/ou templates faciais, diagnóstico de vida passivo, validação de dados e extração de informações de documentos de identidade.
A seguir, são detalhados os componentes fornecidos e os passos necessários para instalar o SDK nos sistemas operacionais Windows e Linux.
2. Conteúdo do SelphID SDK
O Kit de Desenvolvimento de Software, FacePhi SelphID SDK, contém um conjunto de bibliotecas disponíveis para as linguagens de programação Java, .NET e C++ que permitem ao desenvolvedor integrar as principais funcionalidades oferecidas por este produto:
Leitura e validação de informações de documentos de identidade digitais (OCR).
Autenticação (1:1) e Identificação (1:N) de usuários por meio de reconhecimento facial, utilizando imagens ou templates.
Diagnóstico de vida passivo do usuário por meio de imagens (sem necessidade de colaboração do usuário).
O conteúdo de SelphID SDK é o seguinte:
Bibliotecas nas linguagens de programação C++, Java e .Net (.Net apenas na versão do Windows).
Documentação da API de Java e da API de .Net, ambas em formato html, com informações sobre todos os métodos suportados em cada uma das classes.
Arquivo de configuração para a licença do produto e arquivos de uso e de log.
Arquivos de exemplo de programação de serviços web em .Net/Java.
Arquivos de cabeçalho (header) de C++.
São fornecidos diferentes produtos para os sistemas operacionais Windows e Linux.
Produtos disponíveis para Windows.
fphi-selphid-sdk-win64_x.x.x.x (Windows 64 bits).
Produtos disponíveis para Linux.
fphi-selphid-sdk-linux64_x.x.x.x (distribuições baseadas em Linux Ubuntu).
x.x.x.x pode variar e corresponde à versão do produto fornecida por FacePhi.

3. Instalação do SDK
Neste capítulo são descritos os passos para instalar o SelphID SDK.
3.1 Instalação do Kit de Desenvolvimento de Software
A instalação do SelphID SDK é realizada descompactando o conteúdo fornecido em um diretório do seu sistema. Os diretórios recomendados são os seguintes:
Diretórios de instalação recomendados no Windows: C:\Program Files\FacePhi\Sdk\SelphId\x.x.x.x
Para descompactar o SDK do Windows, basta descompactar o zip no caminho indicado.
Diretórios de instalação recomendados no Linux: /opt/facephi/sdk/selphid/x.x.x.x
Para descompactar o SDK do Linux, é imprescindível fazê-lo no mesmo servidor Linux onde são criados os links simbólicos. Para isso, use o seguinte comando:
Sendo "x.x.x.x" a versão do produto fornecida pela FacePhi.
Após a instalação, as seguintes pastas devem aparecer no diretório selecionado:
Api: Contém a descrição da API de programação.
Bin: Contém os arquivos binários.
Windows: Bibliotecas de execução e aplicativos.
Linux: Aplicativos.
Config: Contém os arquivos de configuração.
Data: Contém os arquivos de dados necessários para o funcionamento correto em tempo de execução.
Doc: Contém a documentação da eula e o arquivo de versão do sdk.
Examples: Contém exemplos de programação.
Lib: Contém os arquivos e bibliotecas necessários para os processos de compilação.
3.2 Configuração do SDK
Para que as bibliotecas incluídas no SDK estejam disponíveis no sistema, é necessário realizar as ações descritas a seguir:
Criar a variável de ambiente FACEPHI_SELPHID_INSTALL_PATH
O valor desta variável de ambiente deve conter o diretório de instalação selecionado no ponto anterior 3.1.
Adicionar o diretório de bibliotecas à variável de ambiente PATH
Uma vez criada a variável de ambiente anterior, inclua o diretório "bin" (para Windows) ou "lib/lib" (para Linux) do SDK na variável de ambiente
PATH(Windows) ouLD_LIBRARY_PATH(Linux) do sistema:
3.3 Variáveis de ambiente
Podem ser definidas diferentes variáveis de ambiente para configurar o funcionamento do SDK:
FACEPHI_SELPHID_FACIAL_LICPATH_KEY(obrigatória). Caminho para o arquivolicense.lic. Ex./opt/facephi/sdk/selphid/x.x.x.x/config/license.lic.FACEPHI_SELPHID_DEBUGPATH_KEY(obrigatória). Caminho para o arquivo onde o log será gravado. Ex./opt/facephi/sdk/selphid/x.x.x.x/config/selphidDebug.log.FACEPHI_SELPHID_USAGEPATH_KEY(obrigatória). Caminho onde o arquivo de dados de uso será armazenado. Ex./opt/facephi/sdk/selphid/x.x.x.x/config/selphidUsage.db.FACEPHI_SELPHID_FACIALLIVENESS_PATH_KEY(obrigatória). Caminho para a pasta/datano seu sistema de arquivos local. Ex./opt/facephi/sdk/selphid/x.x.x.x/data.FACEPHI_SELPHID_FACIALAUTHENTICATION_THRESHOLD(opcional). Valor de similaridade 0-100 para determinar se uma autenticação é positiva ou negativa. Por padrão65.FACEPHI_SELPHID_FACIALLIVENESS_THRESHOLD(opcional). Limiar 0-100 para determinar se uma operação de vida é positiva (Live) ou negativa (NoLive). Por padrão50.FACEPHI_SELPHID_FACIALEXTRACTOR_NUM_THREADS(opcional) 1-8 Número de threads (núcleos) atribuídos para as operações de extração e autenticação. Por padrão4.FACEPHI_SELPHID_FACIALLIVENESS_NUM_THREADS(opcional) 1-8 Número de threads (núcleos) atribuídos para as operações de vida. Por padrão4.FACEPHI_SELPHID_FACIALLIVENESS_IAD(opcional) (enableoudisable) Ativa os filtros deDetecção de Ataque de Injeçãopara as operações de vida. Por padrãoenable.FACEPHI_SELPHID_FACIALLIVENESS_DEPTH(opcional) (partialoufull) Especifica a profundidade dos testes de vida:partial(FPAD Detecção de Ataque de Apresentação),full(FPAD + FMAD Detecção de Ataque de Manipulação). Por padrãopartial.FACEPHI_SELPHID_GALLERY_REMOVE_METHOD(opcional) (eraseounoerase) Especifica se os elementos da galeria serão totalmente removidos por meio deSelphIDIdentifier::RemoveWithGalleryIndex()ou serão marcados como inválidos sem serem removidos. Por padrãoerase.FACEPHI_SELPHID_FUTURE_TIME_ALLOWED(opcional) 0-N Especifica o tempo em segundos durante o qual será válido um token com uma data futura. Trata-se de um valor global que pode ser sobrescrito por operação por meio deSelphIDVerifierOptions::SetFutureTimeAllowed(). Por padrão 0, o que significa que todos os tokens com data futura serão rejeitados.
4. Licenciamento do SDK
Para licenciar o produto SelphID SDK, é necessário realizar as ações descritas a seguir:
4.1 Geração de identificadores de máquina
Os identificadores de máquina podem ser obtidos usando um terminal e executando o seguinte comando no diretório onde a utilidade se encontra: FACEPHI_SELPHID_INSTALL_PATH\bin (tanto no Windows quanto no Linux)
A partir da versão 6.20.0, selphid-license-activator é executado como um aplicativo independente, sem necessidade de configurar variáveis de ambiente e sem depender de SelphID-SDK.
SN é o número de série da licença que será ativada e que é fornecido pelo seu provedor de licenças.
O formato do número de série "SN" é XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX.
Exemplo com o número de série anterior:
A partir da versão 6.15.0, é habilitado o licenciamento baseado nos endereços MAC das interfaces de rede. Nesses casos, os endereços MAC das interfaces envolvidas no licenciamento devem ser declarados por meio do parâmetro -addr.
Uma vez obtidos os identificadores de máquina, o arquivo hostid.txt deve ser enviado ao seu provedor de licenças, para que sua licença possa ser gerada (arquivo com extensão .lic).
A partir da versão 6.2.0, existe a possibilidade de ativação online da licença. Nesse caso, o provedor de licenças fornecerá um arquivo .lic sem necessidade de gerar identificadores de máquina (não é necessário executar selphid-license-activator).
4.2 Instalação da licença
A seguir são descritos os passos necessários para a instalação da licença:
Copiar a licença para o diretório config
Para instalar a licença, basta copiar o arquivo
license.licque receberá do seu distribuidor no diretórioconfiglocalizado no caminho de instalação do SDK:FACEPHI_SELPHID_INSTALL_PATH\configConfigurar a licença no arquivo selphid.cfg
Uma vez copiado o arquivo de licença, defina o valor da variável contida no arquivo selphid.cfg com o valor do caminho onde a licença se encontra:
O diretório config é o diretório padrão para instalar a licença, embora seja possível instalar a licença em outro diretório do servidor. Basta, então, indicar esse diretório no arquivo de configuração.
É imprescindível verificar se os valores das seguintes variáveis estão corretamente configurados com caminhos existentes no sistema operacional:
FACEPHI_SELPHID_FACIAL_LICPATH_KEY: Caminho para o arquivo
license.lic.FACEPHI_SELPHID_FACIALLIVENESS_PATH_KEY: Caminho para a pasta
/datada instalação do SelphID. Necessária para o diagnóstico de vida passivo.FACEPHI_SELPHID_USAGEPATH_KEY: Caminho para o arquivo onde as estatísticas de uso são armazenadas.
FACEPHI_SELPHID_DEBUGPATH_KEY: Caminho para o arquivo onde as informações de depuração são armazenadas. Se omitido, não será gerada informação de depuração.
Além disso, é necessário verificar a data de expiração da licença (encontra-se dentro do arquivo de licença, no campo "dateEnd") para garantir que a licença seja válida e não tenha expirado.
4.3 Instalação do serviço de licenças
O servidor de licenças do SelphID SDK é um aplicativo de terminal que é executado no Windows ou Linux.
Este aplicativo permite fornecer licenças do SelphID a nós cliente sem hostID estático. No entanto, esse servidor deve ser executado em uma máquina que disponha tanto de hostID quanto de uma porta de serviço TCP/UDP estáticas.
Requisitos:
Hardware:
HostID estático
Porta estática
Software:
SelphID SDK
Execução do serviço de licenças em um terminal Linux
Passos para executar o serviço de licenças em um terminal de usuário no Linux:
Descompacte o SelphID SDK. Exemplo:
Copie a licença do servidor para o diretório do servidor com permissões
rw. Exemplo:Exporte o caminho da biblioteca do SelphID SDK para
LD_LIBRARY_PATH. Exemplo:Execute o aplicativo do serviço de licenças indicando a porta (-port), o caminho para o arquivo de licença do servidor (-lic) e, opcionalmente, o caminho do log do serviço de licenças (-log).
O servidor de licenças deve ser iniciado no modo administrador.
Exemplo gravando o log em disco e no console:
O parâmetro
-logfará referência a um diretório e não a um arquivo. Isso se deve à implementação da rotação de logs.Exemplo com log no console:
O servidor de licenças pode ter sido configurado para ativação online ou offline. O modo de licenciamento estará incorporado no arquivo
.lic. No caso da ativação offline, o servidor fornecerá uma chave de ativação na primeira vez que iniciar.
Essa chave de ativação deve ser enviada ao seu provedor de licenças, para que sua licença
.licpossa ser atualizada.A atualização da licença incluirá o código de ativação para o servidor, que já poderá ser iniciado sem necessidade de conexão à Internet.
No caso da ativação online, o servidor será iniciado pela primeira vez sem que o arquivo
.licrequeira atualizações.Execução do serviço de licenças como serviço do sistema Linux
Passos para executar o serviço de licenças como um serviço do sistema no Linux:
Siga os passos 1 e 2 das instruções anteriores.
Execute o aplicativo como um aplicativo de inicialização do sistema editando o crontab:
$crontab -e:
Configuração de variáveis de ambiente
Executar o servidor de licenças do SelphID ao reiniciar o sistema
Reinicie o sistema. Exemplo:
$sudo shutdown -r nowVerifique no arquivo de log que as licenças estão sendo fornecidas corretamente. Exemplo:
Atualizado