0

アプリに iOS プッシュ通知を実装する必要があります。私はこれをしばらく試していて、必要な iOS 側のコード変更を行いました。APNS からデバイス トークンを取得できます。しかし、私はプロバイダー側​​の実装にこだわっています。

私は Java プロバイダーを使用しており、JAVAPNS ライブラリを使用してプロバイダー側​​のロジックを実装しています。私を困惑させているのは、証明書のインストールとプロバイダーで必要なものです。

私のプロバイダーは unix/windows マシンで実行されていますが、ここで SSL 証明書のインストールを続行する方法がわかりません。

Apple Developer サイトからプッシュ通知用の SSL 証明書を取得しました。しかし、p12 ファイルをどのように処理すればよいでしょうか?

プッシュ通知の iOS 側の実装に関する多くの議論とチュートリアルがありますが、ネット上でこれに関する多くの説明を見つけることはできません。

4

2 に答える 2

0

JavaPNSを使用している場合は、次のように簡単です。

 import javapns.Push;

 public class PushTest {


      public static void main(String[] args) {

                Push.alert("Hello World!", "keystore.p12", "keystore_password", false, "Your token");


      }
 }
于 2013-02-27T12:39:47.730 に答える
0

SSL証明書は、サーバー側のコードからgateway.push.apple.comへのソケット接続を確立するために使用されます。例として、Rubyコードをいくつか示します。

  APN_SSL_KEY_FILE = 'lib/SSLCert_Private_Key.pem'
  APN_SSL_HOST     = 'gateway.push.apple.com'
  APN_SSL_PORT     = 2195
  APN_SSL_PASSWORD = '<password>'

  def configure_apn_cert
    @@apn_cert         = File.read(File.join(RAILS_ROOT, APN_SSL_KEY_FILE))
    @@apn_context      = OpenSSL::SSL::SSLContext.new
    @@apn_context.key  = OpenSSL::PKey::RSA.new(@@apn_cert, APN_SSL_PASSWORD)
    @@apn_context.cert = OpenSSL::X509::Certificate.new(@@apn_cert)
  end

  def create_and_configure_apn_server
    configure_apn_cert if not @@apn_cert
    puts "APN Service: Configuring APN SOCKET and SSL connection"
    @apn_socket       = TCPSocket.new(APN_SSL_HOST, APN_SSL_PORT)
    @apn_ssl          = OpenSSL::SSL::SSLSocket.new(@apn_socket, @@apn_context)
    @apn_ssl.sync     = true
    @apn_ssl.connect
    @apn_is_active = false;    # reopen the TCP/SSL sockets for now
  end

次の.pemファイルを取得します。

$ openssl pkcs12 -in myfile.p12 -out myfile.pem
于 2013-02-27T04:12:22.467 に答える