Tentei e tentei gerar um arquivo .pem, sempre gerando certificados da conta do cliente e depois gerando o arquivo .pem usando o terminal, mas não adianta. Alguém pode dar um procedimento passo a passo?
Tentei e tentei gerar um arquivo .pem, sempre gerando certificados da conta do cliente e depois gerando o arquivo .pem usando o terminal, mas não adianta. Alguém pode dar um procedimento passo a passo?
Respostas:
Para ativar o Push Notification para o seu aplicativo iOS, você precisará criar e fazer upload do Certificado de Notificação por Push da Apple (arquivo .pem) para nós, para que possamos conectar-se ao Apple Push Server em seu nome.
( Versão atualizada com capturas de tela atualizadas aqui )
Etapa 1: faça login no iOS Provisioning Portal, clique em "Certificados" na barra de navegação esquerda. Depois, clique no botão "+".
Etapa 2: selecione a opção SSL (Production) do serviço Apple Push Notification na seção Distribution e clique no botão "Continue".
Etapa 3: selecione o ID do aplicativo que você deseja usar para o seu aplicativo BYO (Como criar um ID do aplicativo) e clique em "Continuar" para ir para a próxima etapa.
Etapa 4: Siga as etapas "Sobre como criar uma solicitação de assinatura de certificado (CSR)" para criar uma solicitação de assinatura de certificado.
Para complementar as instruções fornecidas pela Apple. Aqui estão algumas capturas de tela adicionais para ajudá-lo a concluir as etapas necessárias:
Etapa 4 Captura de tela complementar 1: Navegue até o Assistente de certificado de acesso ao chaveiro no seu Mac.
Etapa 4 Captura de tela suplementar 2: Preencha as informações do certificado. Clique em Continue.
Etapa 5: faça o upload do arquivo ".certSigningRequest" gerado na etapa 4 e clique no botão "Gerar".
Etapa 6: clique em "Concluído" para concluir o registro, a página do portal de provisionamento do iOS será atualizada com a seguinte tela:
Em seguida, clique no botão "Download" para baixar o certificado (arquivo .cer) que você criou agora. - Clique duas vezes no arquivo baixado para instalar o certificado no Keychain Access no seu Mac.
Etapa 7: no seu Mac, vá para "Porta-chaves", procure o certificado que você acabou de instalar. Se não tiver certeza de qual certificado é o correto, ele deve começar com "Apple Production IOS Push Services:" seguido pelo ID do pacote do seu aplicativo.
Etapa 8: expanda o certificado, você verá a chave privada com o seu nome ou o nome da sua empresa. Selecione os dois itens usando a tecla "Selecionar" no teclado, clique com o botão direito do mouse (ou clique com o botão direito do mouse se você usar um único botão), escolha "Exportar 2 itens", como abaixo:
Em seguida, salve o arquivo p12 com o nome "pushcert.p12" na área de trabalho - agora você será solicitado a digitar uma senha para protegê-la. Clique em Enter para pular a senha ou digite a senha desejada.
Etapa 9: Agora a parte mais difícil - abra "Terminal" no seu Mac e execute os seguintes comandos:
cd
cd Desktop
openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts
Etapa 10: Remova o pushcert.p12 da área de trabalho para evitar carregamentos incorretos na área Build Your Own. Abra "Terminal" no seu Mac e execute os seguintes comandos:
cd
cd Desktop
rm pushcert.p12
Etapa 11 - NOVA ATUALIZAÇÃO DA AWS: crie uma nova pushcert.p12
para enviar ao AWS SNS. Clique duas vezes no novo pushcert.pem
e exporte apenas o que estiver em destaque no verde.
Crédito: nova atualização da AWS
Agora você criou com êxito um Certificado de notificação por push da Apple (arquivo .p12)! Você precisará fazer o upload desse arquivo para a nossa área Build Your Own mais tarde. :)
Hoje há uma solução muito mais simples - pem . Essa ferramenta facilita muito a vida.
Por exemplo, para gerar ou renovar seu certificado de notificação por push, digite:
fastlane pem
e é feito em menos de um minuto. Caso você precise de um certificado sandbox, digite:
fastlane pem --development
E isso é bonito.
$ cd Desktop
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
A Apple alterou o nome do certificado emitido. Agora você pode usar o mesmo certificado para desenvolvimento e produção. Enquanto você ainda pode solicitar um certificado somente de desenvolvimento, não é mais possível solicitar um certificado somente de produção.
é muito simples depois de exportar o Cert.p12 e o key.p12. Encontre o comando abaixo para o arquivo .pem 'apns' de geração.
https://www.sslshopper.com/ssl-converter.html
command to create apns-dev.pem from Cert.pem and Key.pem
openssl rsa -in Key.pem -out apns-dev-key-noenc.pem
cat Cert.pem apns-dev-key-noenc.pem > apns-dev.pem
O comando acima é útil para Sandbox e Production.
De acordo com a solução de problemas de certificado push
O certificado SSL disponível na sua conta do Apple Developer Program contém uma chave pública, mas não uma chave privada. A chave privada existe apenas no Mac que criou a Solicitação de assinatura de certificado carregada na Apple. As chaves pública e privada são necessárias para exportar o arquivo PEM (Privacy Enhanced Mail).
Provavelmente, o motivo pelo qual você não pode exportar um PEM ativo do certificado fornecido pelo cliente é que você não possui a chave privada. O certificado contém a chave pública, enquanto a chave privada provavelmente só existe no Mac que criou o CSR original.
Você também pode:
ou
Obrigado! para todas as respostas acima. Espero que você tenha um arquivo .p12. Agora, abra a gravação do terminal seguindo o comando. Defina o terminal como o caminho em que você colocou o arquivo .12.
$ openssl pkcs12 -in yourCertifcate.p12 -out pemAPNSCert.pem -nodes
Enter Import Password: <Just enter your certificate password>
MAC verified OK
Agora seu arquivo .pem é gerado.
Verificar arquivo .pem Primeiro, abra o .pem em um editor de texto para visualizar seu conteúdo. O conteúdo do certificado deve estar no formato conforme mostrado abaixo. Verifique se o arquivo pem contém o conteúdo do certificado (de BEGIN CERTIFICATE para END CERTIFICATE) e também a chave privada de certificado (de BEGIN PRIVATE KEY to END PRIVATE KEY):
> Bag Attributes
> friendlyName: Apple Push Services:<Bundle ID>
> localKeyID: <> subject=<>
> -----BEGIN CERTIFICATE-----
>
> <Certificate Content>
>
> -----END CERTIFICATE----- Bag Attributes
> friendlyName: <>
> localKeyID: <> Key Attributes: <No Attributes>
> -----BEGIN PRIVATE KEY-----
>
> <Certificate Private Key>
>
> -----END PRIVATE KEY-----
Além disso, você verifica a validade do certificado acessando o Decodificador de Certificados SSLShopper e cola o Conteúdo do Certificado (de BEGIN CERTIFICATE a END CERTIFICATE) para obter todas as informações sobre o certificado, como mostrado abaixo: