Todos os produtos
Search
Central de documentação

Mobile Platform as a Service:Gerenciamento de chaves

Última atualização: Jun 28, 2026

O Mobile Push Service (MPS) assina e verifica todas as chamadas de API do lado do servidor para proteger as interações com o seu sistema. Configure as chaves necessárias na página de gerenciamento de chaves.

  • Configuração da API de push

    O MPS fornece APIs REST para envio de mensagens push. Antes de chamar uma API, assine a solicitação com o algoritmo RSA e configure a chave na área Push API configuration da página Key management. O MPS usa essa chave para verificar a identidade do chamador.

  • Configuração da API de callback

    Para receber confirmações de entrega de mensagens, configure o endereço da API REST de callback na área Callback API configuration da página Key management. Obtenha a chave pública para validar as assinaturas dos callbacks e confirme que eles se originaram do MPS.

Configurar a interface da API de push

Pré-requisitos

Antes de configurar a interface da API de push, gere uma chave pública RSA de 2048 bits.

  • Para gerar uma chave pública RSA:

    1. Baixe e instale a ferramenta OpenSSL (versão 1.1.1 ou posterior) no site oficial do OpenSSL.

    2. Abra a ferramenta OpenSSL e execute o comando a seguir para gerar uma chave privada RSA de 2048 bits.

      openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
    3. Gere uma chave pública RSA a partir da chave privada RSA.

      openssl rsa -pubout -in private_key.pem -out public_key.pem
  • As regras do algoritmo de assinatura são:

    • Use o algoritmo de assinatura SHA-256.

    • Converta o resultado da assinatura em uma string base64.

    • Na string base64, substitua + por - e / por _ para obter a assinatura final.

Procedimento

Para configurar a interface de push:

  1. Faça login no console mPaaS, selecione o aplicativo desejado e, no painel de navegação à esquerda, escolha Mobile Push Service > Settings.

  2. Na página exibida, clique em Key management.

  3. No canto superior direito da área Push API configuration, clique em Configure. Os campos de configuração serão exibidos.

    Campo

    Obrigatório

    Descrição

    Status

    Sim

    Define se a interface de push pode ser chamada. Ative a opção para permitir chamadas à API do MPS. Desative-a para bloquear essas chamadas.

    Encryption method

    Não

    Apenas o algoritmo RSA está disponível.

    RSA public key

    Não

    Insira a chave pública de 2048 bits. O MPS usa essa chave para validar os parâmetros assinados da solicitação e autenticar o chamador.

    Importante

    Verifique se inseriu a chave pública corretamente, sem espaços. Caso contrário, as chamadas de API falharão. Para mais informações, consulte Referência da API.

  4. Clique em OK para salvar a configuração.

Configurar a interface de callback de push

  1. Na página Key management, no canto superior direito da área Callback API configuration, clique em Configure. Os campos de configuração serão exibidos.

    Campo

    Obrigatório

    Descrição

    Status

    Sim

    Estado do callback. Ative a opção para que o MPS envie confirmações de entrega ao seu servidor. Desative-a para interromper o envio das confirmações.

    Callback API URL

    Sim

    URL do callback. Deve ser um endereço HTTP acessível publicamente. O MPS assina o corpo da solicitação POST com uma chave privada e envia a assinatura como parâmetro sign no callback.

    Encryption method

    Não

    O MPS usa o algoritmo RSA para assinar o corpo da solicitação POST.

    RSA public key

    Não

    Este campo é preenchido automaticamente e não pode ser modificado. Após o servidor receber o corpo da solicitação POST e o parâmetro sign, use a chave pública para confirmar que a solicitação veio do MPS e que os dados não foram alterados durante a transmissão. Para mais informações, consulte API do lado do servidor.

  2. Clique em OK para salvar a configuração.

    O momento do callback varia conforme o canal de push.

    Nota
    • Canais de terceiros (como FCM, APNs, Xiaomi, Huawei, OPPO e vivo): o callback é acionado quando a chamada ao serviço externo é bem-sucedida.

    • Canal próprio: o callback ocorre assim que a mensagem é enviada com sucesso.

Exemplo de código

/**
 * Alipay.com Inc. Copyright (c) 2004-2020 All Rights Reserved.
 */
package com.callback.demo.callbackdemo;

import com.callback.demo.callbackdemo.util.SignUtil;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

/**
 *
 * @author yqj
 * @version $Id: PushCallbackController.java, v 0.1 March 22, 2020 11:20 AM yqj Exp $
 */
@Controller
public class PushCallbackController {

    /**
     * Copy the RSA public key from the Callback API configuration in the console
     */
    private static final String pubKey = "";

    @RequestMapping(value = "/push/callback" ,method = RequestMethod.POST)
    public void callback(@RequestBody String callbackJson, @RequestParam String sign) {
        System.out.println(sign);
        // Verify the signature
        sign = sign.replace('/', '_').replace('+', '-');
        if(!SignUtil.check(callbackJson,sign,pubKey,"UTF-8")){
            System.out.println("Signature verification failed");
            return;
        }
        System.out.println("Signature verification successful");
        // JSON message body
        System.out.println(callbackJson);

    }

}

callbackJson é o corpo da solicitação de mensagem no formato JSON. Exemplo:

{
    "extInfo":{
        "adToken":"da64bc9d7d448684ebaeecfec473f612c57579008343a88d4dbdd145dad20e84",
        "osType":"ios"
    },
    "msgId":"console_1584853300103",
    "pushSuccess":true,
    "statusCode":"2",
    "statusDesc":"Acked",
    "targetId":"da64bc9d7d448684ebaeecfec473f612c57579008343a88d4dbdd145dad20e84"
}

A tabela a seguir descreve os campos de callbackJson.

Campo

Descrição

msgId

ID da mensagem de negócio.

pushSuccess

Indica se o envio do push foi bem-sucedido.

statusCode

Código de status da mensagem.

statusDesc

Descrição correspondente ao código de status da mensagem.

targetId

ID do destino.