Como funciona o sistema de certificados no iOS?
sobes.tech IA
Resposta da IA
Os certificados são usados para assinatura criptográfica e verificação de aplicações, perfis de preparação e conexões. Componentes principais: Certificado raiz da Apple, Certificados intermédios, Certificados de Desenvolvedor, Certificados de Distribuição e Perfis de Provisionamento.
O Certificado raiz da Apple é o centro de certificação raiz da Apple, e é confiável.
Os Certificados intermédios conectam o certificado raiz aos certificados finais do desenvolvedor/distribuidor.
O Certificado de Desenvolvedor identifica o desenvolvedor para fins de desenvolvimento e depuração em dispositivos registados.
O Certificado de Distribuição é usado para assinar aplicações antes de as distribuir através da App Store, Programas Empresariais ou Ad Hoc.
O Perfil de Provisionamento liga o ID da aplicação, os certificados de desenvolvedor/distribuidor e os dispositivos registados (para Ad Hoc e desenvolvimento). Define quais os serviços da Apple que a aplicação pode usar (por exemplo, Notificações Push, Capacidades).
Processo:
- Cria-se uma solicitação de assinatura de certificado (CSR) na máquina do desenvolvedor.
- A CSR é carregada no portal Apple Developer.
- A Apple emite um certificado de desenvolvedor ou de distribuição.
- O certificado é instalado no armazenamento de chaves (Keychain) na máquina do desenvolvedor.
- Cria-se um Perfil de Provisionamento no portal Apple Developer, que liga o ID da aplicação, o certificado e os dispositivos. O perfil também é carregado e instalado.
- A aplicação é assinada usando o certificado e o Perfil de Provisionamento durante a compilação.
- Ao instalar num dispositivo ou antes de publicar na App Store, a assinatura e o Perfil de Provisionamento são verificados pelo sistema iOS.
Verificação: O sistema iOS verifica a cadeia de confiança do certificado, que vai desde o certificado da aplicação até ao Certificado raiz da Apple, e a validade do Perfil de Provisionamento. Se algo estiver incorreto, a instalação ou execução da aplicação é bloqueada.
Perfil de Provisionamento
.mobileprovision // ficheiro
inclui:
- ID da aplicação
- Certificados (Desenvolvedor/Distribuição)
- UDID dos dispositivos (para Dev/Ad Hoc)
- Entitlements (capacidades)
Certificado
.cer // ficheiro
assinado pela Apple
ligado à chave privada no Keychain