Maneira correta de renovar o certificado de distribuição para iOS

303

Meu certificado de distribuição expira em 7 de junho, junto com todos os meus arquivos de provisionamento. Como faço para renová-lo adequadamente? Devo revogá-lo agora e solicitar um novo? Se eu fizer isso, todos os meus aplicativos ao vivo serão removidos?

user1413558
fonte
7
Por qualquer motivo, depois de não usar essa conta há anos, recebi uma notificação sobre esta resposta. Ainda não estou morto. Gostaria também de agradecer a todos no StackOverflow ao longo dos anos por me ajudarem. Eu escrevi essa pergunta aos 14 anos (agora com 21 anos). Desde então, continuo criando aplicativos para iOS e em breve vou iniciar um cargo em tempo integral na Apple (meu sonho desde que me lembro). Mais uma vez obrigado a todos que ajudaram ao longo do caminho!
user1413558 22/01
boa história! Sim, os anos passam! você nem imagina como a programação foi feita antes do controle de qualidade on-line. aplausos
Fattie
@Attie Por que o aviso? Pequenas alterações na interface do usuário nas páginas da Apple, a resposta aceita ainda está correta. Nem tudo automaticamente se torna errado só porque é antigo.
Theo
oi @ Theo, acho que houve uma longa discussão (agora excluída), então meu comentário (acabei de excluí-lo!) não faz sentido específico, obrigado por apontar. Observe que, neste caso específico, a resposta antiga marcada com 5 anos contém informações incorretas, como por exemplo, o SLBarth explica.
Fattie 17/04

Respostas:

357

Seus aplicativos ao vivo não serão removidos. Nada vai acontecer com nada que esteja ativo na loja de aplicativos.

Depois que eles expirarem formalmente, a única coisa que será afetada é sua capacidade de assinar código (e, assim, fazer novas construções e fornecer atualizações).

Em relação ao seu certificado de distribuição, uma vez expirado, ele simplesmente desaparece da seção 'Certificados, identificador e perfis' da Central de Membros. Se você deseja renová-lo antes que ele expire, revogue o certificado atual e você receberá um botão para solicitar um novo.

Em relação ao perfil de provisionamento, não se preocupe com ele antes do vencimento, apenas continue usando-o. É fácil o suficiente apenas renová-lo quando expirar.

A tranqüilidade é que nada acontecerá com seu aplicativo ao vivo na loja.

Andy Obusek
fonte
7
Obrigado, eles expiraram hoje. Renovei-os sem problemas.
precisa saber é o seguinte
30
Apenas um fyi para outras pessoas. Revoguei um certificado usado para distribuição corporativa e NÃO tive a opção de renovar o certificado. Acabou de sair. O aplicativo foi desativado (não instalável) até que eu o reconstruísse com o novo certificado.
foldinglettuce
34
Ei, não revogue seu certificado interno !! Seus aplicativos internos não funcionarão após uma reinicialização / três dias, a menos que você possa atualizar todos os seus aplicativos nesse período. A Apple permite que você crie dois aplicativos internos para que possam se sobrepor e, em seguida, atualize seus novos aplicativos. Não revogue. A única coisa que você pode revogar é o certificado da App-Store sem interromper os aplicativos existentes.
21313 mskw
13
Estritamente falando, não é possível renovar certificados, você tem que gerar novos - ver developer.apple.com/library/ios/#documentation/IDEs/Conceptual/...
mklement0
2
Link atualizado para os documentos da apple sobre isso: developer.apple.com/library/ios/documentation/IDEs/Conceptual/…
qix 15/02/16
348

Quando o seu certificado expira, ele simplesmente desaparece da seção 'Certificados, identificador e perfis' da Central de Membros. Não existe um botão 'Renovar' que permita renovar seu certificado. Você pode revogar um certificado e gerar um novo antes que ele expire . Ou você pode esperar que ele expire e desapareça e gere um novo certificado. No Guia de distribuição de aplicativos da Apple :

Substituindo certificados expirados

Quando o seu certificado de desenvolvimento ou distribuição expirar, remova-o e solicite um novo certificado no Xcode.

Quando seu certificado expira ou é revogado, qualquer perfil de provisionamento que fez uso do certificado expirado / revogado será refletido como 'Inválido'. Você não pode criar e assinar nenhum aplicativo usando esses perfis de provisionamento inválidos. Como você pode imaginar, prefiro revogar e gerar um certificado antes que ele expire.

P: Se eu fizer isso, todos os meus aplicativos ao vivo serão removidos?

Os aplicativos que já estão na App Store continuam funcionando bem. Novamente, no App Distribution Guide da Apple :

Importante: A recriação de seus certificados de desenvolvimento ou distribuição não afeta os aplicativos que você enviou à loja nem sua capacidade de atualizá-los.

Assim…

P: Como renová-lo adequadamente?

Como mencionado acima, não há renovação de certificados. Siga as etapas abaixo para revogar e gerar novamente um novo certificado, juntamente com os perfis de fornecimento afetados. As instruções foram atualizadas para o Xcode 8.3 e o Xcode 9.

Etapa 1: revogar o certificado expirando

Entre na Central de Membros > Certificados, Identificadores e Perfis, selecione o certificado expirando. Anote a data de validade do certificado e clique no botão 'Revogar'.

Selecione o certificado expirando e clique no botão Revogar

Etapa 2: (Opcional) Remova o certificado revogado do seu Keychain

Opcionalmente, se você não deseja que o certificado revogado esteja no seu sistema, é possível excluí-lo do sistema. Infelizmente, a função 'Excluir certificado' em Xcode> Preferências> Contas> [Apple ID]> Gerenciar certificados ... parece estar sempre desativada, portanto, precisamos excluí-los manualmente usando o Keychain Access.app (/ Aplicativos / Utilitários / Acesso ao Keychain. aplicativo).

Opcionalmente, remova o certificado revogado usando o Keychain Access.app

Filtre por Chaveiros 'login' e Categoria 'Certificados'. Localize o certificado que você acabou de revogar na Etapa 1.

Dependendo do certificado que você acabou de revogar, pesquise 'Mac' ou 'iPhone'. Os certificados de distribuição da Mac App Store começam com "Desenvolvedor Mac de terceiros" e os certificados de distribuição da iOS App Store começam com "Distribuição do iPhone".

Você pode localizar o certificado revogado com base no nome da equipe, no tipo de certificado (Mac ou iOS) e na data de validade do certificado que você anotou na Etapa 1.

Etapa 3: solicitar um novo certificado usando o Xcode

Em Xcode> Preferências> Contas> [Apple ID]> Gerenciar certificados ..., clique no botão '+' no canto inferior esquerdo e selecione o mesmo tipo de certificado que você acabou de revogar para permitir que o Xcode solicite um novo para você .

Deixe o Xcode solicitar um novo certificado para você em Xcode> Preferências> Contas> Apple ID> Gerenciar certificados…

Etapa 4: atualize seus perfis de provisionamento para usar o novo certificado

Depois disso, volte para Centro de membros > Certificados, identificadores e perfis> Perfis de provisionamento> Todos. Você notará que qualquer perfil de provisionamento que fez uso do certificado revogado agora é refletido como 'Inválido'.

Observe que qualquer perfil de provisionamento que fez uso do certificado revogado agora é refletido como 'Inválido'

Clique em qualquer perfil que agora seja 'Inválido', clique em 'Editar', escolha o certificado recém-criado e clique em 'Gerar'. Repita isso até que todos os perfis de provisionamento sejam regenerados com o novo certificado.

Escolha o certificado recém-criado e clique em Gerar

Etapa 5: use o Xcode para baixar os novos perfis de provisionamento

Dica : Antes de baixar os novos perfis usando o Xcode, limpe todos os perfis de provisionamento existentes e possivelmente inválidos do seu Mac. Você pode fazer isso removendo todos os perfis de~/Library/MobileDevice/Provisioning Profiles

De volta ao Xcode> Preferências> Contas> [ID da Apple], clique no botão 'Baixar todos os perfis' para solicitar ao Xcode que baixe todos os perfis de provisionamento da sua conta de desenvolvedor.

Clique em Download All Profiles for Xcode para baixar todos os perfis recém-gerados

junjie
fonte
1
Oi Junjie, obrigado! Estou enfrentando esse problema com o Xcode 7. O que acontece com os aplicativos lançados com o perfil de provisionamento de distribuição AdHoc, se eu revogar o certificado de distribuição? Eles ainda estão vivos? Obrigado
Frade
3
@Frade de acordo com a Apple: certificado de distribuição iOS (aplicativos internos de uso interno), os usuários não poderão mais executar aplicativos que foram assinados com este certificado. Você deve distribuir uma nova versão do seu aplicativo que seja assinada com um novo certificado. Consulte developer.apple.com/support/certificates
junjie
Eu estava perguntando sobre o AdHoc, mas provavelmente é a mesma situação. Obrigado
Frade
3
@junjie O que acontece no caso de o aplicativo publicado na loja ter direitos de notificações por push? Ainda será possível enviar notificações por push depois que o certificado expirar?
Otávio
4
@ Otávio seus certificados de distribuição de aplicativos (com o que estamos lidando nesta pergunta) são separados do seu certificado APNS. o certificado APNS não faz parte do aplicativo binário. você pode revogar / renovar seu certificado APNS sem atualizar o aplicativo binário. é o seu servidor push que requer o certificado APNS.
Jun-
21

Em janeiro de 2020 e Xcode 11.3.1 -

  • Abrir Xcode
  • Abra Preferências do Xcode (Xcode-> Preferences ou Cmd-,)
  • Clique em Contas
  • À esquerda, clique no seu ID de desenvolvedor
  • No canto inferior direito, clique em Gerenciar certificados ...
  • No canto inferior esquerdo, clique na seta à direita do sinal de adição (mais)
  • Selecione Apple Distribution no menu

O Xcode criará automaticamente um certificado de distribuição da Apple, instalará no Keychain Access e atualizará as informações de assinatura do Xcode

(Nota: o único certificado de distribuição da Apple agora é fornecido em vez do certificado de distribuição do iOS anterior e equivalentes.)

leanne
fonte
curioso: recebi meu e-mail da apple para renovar o certificado de distribuição do iOS. nenhuma informação que eu deva criar um certificado de distribuição da Apple.
ekkescorner
O email não menciona, @ekkescorner. Está nos documentos online.
leanne
2
esse novo fluxo de trabalho para recriar certificados parece muito fácil ;-) thx novamente
ekkescorner
Obrigado @leanne pela resposta. Deve haver uma opção de expiração para respostas irrelevantes antigas acima no SO.
RobMac 22/03
11

Muito simples foi renovar seu certificado. Vá para o centro de membros do desenvolvedor e vá para o perfil de provisionamento, veja o que é o certificado Ativo e Inativo e selecione Certificado inativo e pressione o botão Editar e, em seguida, pressione o botão gerar. Agora, sua renovação com êxito do certificado por mais 1 ano. obrigado

Shanmugasundharam
fonte
@ Shanmugasundharam, vamos enviar uma nova versão na loja de aplicativos depois de criar um perfil de provisionamento.
Niraj Paul
Isso ainda requer um arquivo .csr gerado pelo xcode, pelo menos, pelo que eu encontrei. Em developer.apple.com/account, vou para "Certificados, IDs e perfis" -> "Perfis". Eu vejo um ReleaseProfile e um TestingProfile. Ambos mostram "Inválido" na coluna "Expiração". Clico em ReleaseProfile, depois em "Edit". Em "Certificados", diz "Nenhum certificado está disponível" com o botão "Criar certificado". Eu clico nele. Depois, seleciono "Distribuição iOS" e "Continuar". Agora, para criá-lo, preciso "Escolher arquivo", o que significa fazer upload de um arquivo CSR, que suponho que só pode ser gerado a partir do xcode.
Brent212 21/08/19
Descobri que posso gerar um CSR simplesmente executando, no Linux: **** openssl req -nodes -newkey rsa: 2048 -keyout private_key.key -out cer_sign_request.csr **** Não acredito que haja tantas respostas para "como gerar o certificado csr" que exigem o xcode, sem mencionar esta solução simples que não exige espanar o meu velho mac e disparar um IDE volumoso.
Brent212
@NirajPaul Seu aplicativo ainda funcionará para os usuários que o baixaram da loja e até funcionará para você se você baixá-lo da loja. Isso afeta apenas os usuários que colocam o aplicativo no dispositivo usando um perfil de provisionamento (ou seja, você o criou e instalou no dispositivo a partir do xCode). Usuários passados, presentes e futuros não perceberão nada de diferente. stackoverflow.com/a/7128502/3493877 Fonte a partir daqui
Shanmugasundharam
0

Este foi realmente um tópico útil, eu segui os mesmos passos que o @junjie mencionou, mas para mim algo estranho aconteceu, a seguir estão os passos que eu fiz.

  1. Foi ao portal do desenvolvedor e revogou o certificado que estava prestes a expirar.
  2. Fui para o XCode6.4 e nas configurações da conta, o certificado ainda mostrou válido, fiquei louco.
  3. Então eu abri o XCode7, lá o certificado foi mostrado com o botão "Reset" em vez de create e apertei o botão reset e mais tarde no portal eu pude ver um certificado estendido presente. É o que a Apple diz sobre o botão Redefinir

Se o Xcode detectar um problema com uma identidade de assinatura, ele exibirá uma ação apropriada nas preferências de Contas. Se o Xcode exibir um botão Criar, a identidade de assinatura não existe na Central de Membros ou no seu Mac. Se o Xcode exibir um botão Redefinir, a identidade de assinatura não poderá ser usada no seu Mac - por exemplo, está faltando a chave privada. Se você clicar no botão Redefinir, o Xcode revogará e solicitará o certificado correspondente.

  1. Tentei criar um ipa da Appstore com isso, apenas para testar e funcionou bem, por isso estou salva, mas ainda não tenho certeza do que aconteceu. Pode ser que eu tenha várias contas configuradas no meu Mac, não sei.
anoop4real
fonte