Não foi possível exportar o certificado SSL push de produção da Apple no formato .p12

172

Estou usando o dirigível urbano no meu aplicativo para notificação por push. Portanto, preciso fazer o download do certificado SSL push do portal de desenvolvedores da Apple. Após o download, adicionei isso no acesso às chaves. Mas nenhuma chave privada foi criada para o certificado. Quando tentei clicar com o botão direito do mouse e exportar o certificado, não pude exportá-lo como arquivo .p12, pois a extensão do arquivo .p12 foi desativada durante o salvamento. Não consigo anexar as capturas de tela aqui devido à menor reputação.

Alguém por favor me diga onde está o problema aqui. Como devo fazer isso?

Rashmi Ranjan mallick
fonte

Respostas:

575

Tudo o que você precisa fazer é selecionar "Meus certificados" no painel esquerdo e ativar a opção .p12.

Matt Privman
fonte
32
parece que, como não há chave privada disponível, o certificado não está listado em 'meus certificados'. somente sob 'certificados'.
commonpike 21/10
3
Às vezes, você precisa reiniciar o aplicativo de chaves no seu certificado para aparecer.
Borzh #
1
Mesmo problema que o @commonpike, não está na lista. A resposta de jdev112388 está correta. Parece que a Apple mudou as coisas novamente
Joel
6
Outra coisa: você precisa gerar se da mesma máquina. Na verdade, você precisa gerar a solicitação de assinatura de certificado a partir do mesmo KEYCHAIN!
Greg
2
se isso não é um bug, esse é o recurso mais estranho que eu já ouvi falar ...
quemeful
96

No meu caso, criei o arquivo .cer na opção "sistema" e não na opção "login". então movo o arquivo .cer da opção "system" para "login", pressione "My Certificates" e depois exporto .p12 está ok.

sincero
fonte
8
Estranho, mas é verdade #
ED-209
1
WTF! Absolutamente louco, mas funcionou para mim também. Também faz aparecer a seta suspensa e a chave privada. Muito obrigado!
AlbertoC
Realmente preocupado com o que está acontecendo a partir de 2 horas !!. Você me salvou. Muito obrigado.
kalpa
Fiz o mesmo e consegui exportar .p12. obrigado. Eu estava pensando em revogá-lo e fazê-lo de outras máquinas, mas funciona.
Manish Nahar
Não funcionou para mim. Ainda não consigo ver nenhum certificado na seção "Meus certificados". Criei um arquivo de assinatura de certificado completamente novo. Carregou isso no portal do desenvolvedor da apple para baixar o certificado APNS. Cliquei duas vezes nele, mas ele só aparece na seção 'Certificados'. Alguma ideia?
Nazar Medeiros
29

A Apple não armazena a chave privada usada para criar seus certificados. Você já deve ter uma cópia na sua máquina.

Parece que talvez alguém solicitou o certificado push que você está tentando baixar ou o solicitou em outra máquina. Se você não conseguir encontrar a chave privada, precisará criar uma nova solicitação de certificado e enviá-la através do portal do desenvolvedor.

lxt
fonte
Mas uma coisa ... Se eu conseguir a chave privada de qualquer maneira, como posso integrá-la ao certificado push existente?
Rashmi Ranjan mallick 27/03
1
Você deve perguntar a quem tiver a chave privada para exportá-la e enviá-la para você. Em seguida, você pode adicioná-lo ao seu chaveiro, que com seu certificado de envio permitirá criar o arquivo p12.
Lll 27/03
O certificado ainda não aparece em 'Meus certificados' quando faço completamente a solicitação no mesmo macbook desde o início.
Nazar Medeiros
16

Para exportar como p12, você precisa gerar o certificado a partir da sua máquina ou ter a chave usada para gerá-la na sua máquina.

Para garantir que isso funcione:

  1. Faça login no Centro de Desenvolvimento da Apple

  2. Acesse o Portal de aprovisionamento ou Certificados, identificadores e perfis

  3. Vá para Certificados e crie um serviço Apple Push Notification SSL A partir daqui, você será guiado pelo processo de geração de certificados.

  4. Depois de baixar o certificado gerado, instale-o em seu chaveiro (clique duas vezes no arquivo cert ou arraste e solte na janela do chaveiro.

  5. Em seguida, selecione "Certificados" no painel esquerdo. Clique com o botão direito do mouse no certificado que deseja exportar e a opção p12 estará lá.

Nota: ele não estará lá, a menos que você tenha gerado o certificado a partir da sua máquina

jcity
fonte
1
A chave aqui é que você o gera a partir de sua máquina. Na verdade, você precisa gerar a solicitação de assinatura de certificado a partir do mesmo KEYCHAIN!
Greg
E o assistente de certificado sempre usa o conjunto de chaves definido como padrão quando o CSR foi criado. Se você deseja que as chaves sejam geradas em um conjunto de chaves específico, defina-o como padrão antes de iniciar o processo de RSE. Depois que o CSR for criado, você poderá restaurá-lo. Ao importar o certificado baixado da Apple, importe-o para o chaveiro que possui o par de chaves.
quellish 23/08/18
10

Para mim, em vez de clicar com o botão direito do mouse na linha principal do certificado em Acesso às Chaves e selecionar Export, tive que clicar na seta suspensa ao lado do certificado que estava tentando exportar e, em seguida, clicar com o botão direito do mouse na entrada abaixo e selecionar Export. Na verdade, você está selecionando a parte da chave privada em vez da parte da chave pública.

hvaughan3
fonte
1
Para a seta para ser visível, eu precisava ter a "Categoria" definido como "Certificados" em vez de "Todos os Itens"
Dakusan
exatamente. clique com o botão direito do mouse no próprio certificado não produz a opção "Exportar" no menu de contexto
Konstantin Salavatov 08/02
9

Além de verificar se o certificado foi emitido a partir da solicitação de certificado do Keychain Access -> Certificate Assistant no mesmo computador, verifique se o arquivo .cer recebido está instalado no keychain correto.

A melhor maneira de fazer isso é selecionar o chaveiro apropriado sob o chaveiro esquerdo, provavelmente 'login', garantir que 'Meus certificados' esteja selecionado em Categoria e, em seguida, arraste e solte o arquivo .cer na área principal da lista de arquivos.

Gavin
fonte
Obrigado @Gavin por mencionar "selecione o chaveiro apropriado", apenas cliquei duas vezes no arquivo cer e ele sempre estava no chaveiro System.
alta tensão
Não funcionou para mim. Ainda não consigo ver nenhum certificado na seção "Meus certificados". Criei um arquivo de assinatura de certificado completamente novo. Carregou isso no portal do desenvolvedor da apple para baixar o certificado APNS. Cliquei duas vezes nele, mas ele só aparece na seção 'Certificados'. Alguma ideia?
Nazar Medeiros
4

Verifique se você está selecionando uma chave privada e não pública porque provavelmente possui os dois tipos na lista.

user2387149
fonte
0

Você pode usar a ferramenta de provisionador Onesignal para criar um certificado SSL push. É grátis e faz toda a parte confusa para você.

Ele revogará o atual à medida que você o gera, por isso é importante ser rápido ao enviá-lo para o local relevante, se você estiver ao vivo.

Isso funcionou comigo para as notificações por push do OneSignal, mas não vejo razão para que não funcione para outras notificações por push.

trees_are_great
fonte