Como autenticar a sua aplicação 4D fundida

Tradução automática de Deepl

Com Catalina (macOS 10.15), é altamente recomendável que faça o reconhecimento notarial das candidaturas distribuídas por uma rede pública. Um número significativo de programadores transfere as suas aplicações utilizando um dispositivo de armazenamento ligado ou através da partilha de ficheiros, a autenticação não é necessária nestes casos em que o utilizador já confia no programador. O objectivo da notoriedade é assegurar aos utilizadores que a aplicação não é maliciosa e só é necessária para aplicações descarregadas de um website.

Se utilizar a nossa funcionalidade de assinatura incorporada ao construir as suas aplicações com 4D v18, a sua aplicação está pronta para ser reconhecida notarialmente. Este processo é conduzido fora do 4D. Implica acrescentar uma assinatura electrónica à sua candidatura e submeter a sua candidatura assinada a um serviço de inspecção automatizado. Aqui está tudo o que precisa de saber:

Pré-requisitos:

Xcode

A notarização requer o código X 10 ou posterior e macOS 10.13.6 ou posterior.

Se tiver mais de uma versão do Xcode instalada no seu Mac, pode usar o utilitário xcode-select para escolher a versão apropriada:

sudo xcode-select -s /path/to/Xcode10.app

Autenticação de dois factores

Precisará também de ter activada a autenticação de dois factores no seu ID da Apple.

Se não tiver a certeza de ter activado a autenticação de dois factores, inicie sessão na página da sua conta Apple ID. Na secção Segurança, procure a opção de autenticação de dois factores e veja se a funcionalidade está ligada ou desligada.

palavra-passe específica da aplicação para altool

O carregamento de uma aplicação para autenticação é feito através da interface de linha de comando para o plug-in do carregador da aplicação chamado altool, que vem com o Xcode.

Antes de autenticar a sua primeira aplicação, terá de gerar uma palavra-passe específica para a aplicação altool.

Inicie sessão na sua página de conta de ID da Apple. Na secção Segurança, clique na opção “Gerar palavra-passe” abaixo da opção “App-Specific Passwords”, introduza uma etiqueta de palavra-passe conforme solicitado e clique no botão “Criar”.

Pode agora armazenar a palavra-passe como um item do porta-chaves, utilizando a sua ID da Apple e a palavra-passe específica da aplicação:

security add-generic-password -a "<apple_id>" -w "<password>" -s "altool"

Assinar a sua aplicação com 4D

Em 4D v18, o guião de assinatura incorporado 4D foi actualizado para satisfazer todos os requisitos da Apple para a autenticação notarial. 4D executa agora uma assinatura recorrente de todo o conteúdo do pacote e um carimbo de data/hora seguro é incluído com a assinatura. O tempo de execução endurecido é activado e é fornecido um ficheiro de direitos. A fim de evitar qualquer restrição de características, todas as capacidades são definidas como “verdadeiras”.

Criação de um arquivo zip ou de uma imagem dmg

Como os pacotes .app não podem ser carregados directamente para o serviço notarial, terá de criar um arquivo comprimido contendo a sua candidatura assinada:

/usr/bin/ditto -c -k --keepParent "<path_to_app>" "<path_to_zip_archive>"

Note que também pode carregar uma imagem .dmg em vez de um arquivo .zip.

Carregar a sua aplicação

Pode agora carregar o seu pedido de autenticação usando o seguinte comando:

xcrun altool --notarize-app --primary-bundle-id "<primary_bundle_identifier>" --username "<apple_id>" --password "@keychain:altool" --file path_to_zip_archive

Nota: pode utilizar qualquer nome como identificador primário do pacote, mas não deve conter espaços, sublinhados ou qualquer outra coisa que não sejam letras, números, hífenes e pontos.

Se o carregamento for bem sucedido, um pedido de UID é devolvido. Guarde isto para utilizar mais tarde ao verificar o estado do seu pedido de registo notarial.

Verificação do estado do registo notarial

O processo de autenticação pode demorar até uma hora. Quando estiver concluído, receberá um e-mail indicando o resultado.

Uma vez que a Apple facilitou os pré-requisitos do registo notarial até Janeiro de 2020, é aconselhável que também solicite um relatório detalhado para verificar se contém quaisquer avisos que possam impedir o registo notarial após Janeiro de 2020.

Um relatório detalhado pode ser solicitado com o seguinte comando, que lhe devolverá um estado e um URL de ficheiro de registo:

xcrun altool --notarization-info <request_uid> -u "<apple_id>" -p "@keychain:altool"

Agrafar o bilhete à sua candidatura

A fim de garantir que o Gatekeeper saiba que a sua candidatura está autenticada (mesmo quando não existe uma ligação de rede disponível no primeiro lançamento da candidatura), recomenda-se que anexe o bilhete produzido pela autenticação à sua candidatura. Este processo é chamado “agrafagem”.

Se utilizou um arquivo .zip para autenticação, note que a ferramenta de agrafagem deve ser executada contra o pacote .app originalmente adicionado ao arquivo .zip porque não pode agrafar um arquivo .zip. Se utilizou uma imagem .dmg, pode agrafar directamente a sua imagem .dmg.

A agrafagem é processada com o seguinte comando:

xcrun stapler staple <your_app_or_dmg_file>

Uma vez tudo dito e feito, pode então criar um novo arquivo .zip contendo a aplicação agrafada para distribuição.

Actualização

As versões recentes do MacOS (BigSur/xcode 12) podem exigir alterações.

A Apple recomenda agora que registe a sua palavra-passe usando:

xcrun altool --store-password-in-keychain-item "altool" -u "<apple_id>" -p "password"

E depois não especificar mais o nome de utilizador (apple_id) usando -u ou — nome de utilizador ao carregar ou verificar a aplicação.

Para as últimas actualizações para xcrun altool, abra o seu Terminal e entre:

xcrun altool --help

Thomas Maul
• VP de Estratégia, Linha de produtos 4D - Quando a filial Alemanha de 4D foi criada em 1988, Thomas entrou para a empresa como Diretor Técnico, ajudando a criar a comunidade de desenvolvedores 4D tanto na Alemanha quanto na Áustria. Depois de muitos anos apoiando aos clientes com problemas técnicos e estando cada vez mais envolvido em questões de vendas e a gestão, foi promovido a Diretor Geral de 4D Alemanha em 1999. Como membro da junta executiva desde 2005, passou a formar parte da estratégia mundial da empresa, o que o levou a seu cargo atual de Vice-presidente de Estratégia, Linha de Produtos 4D, responsável de definir e executar a estratégia global para a linha de Produtos 4D em relação às equipes de Programa, I+D, Vendas e Marketing.