我可以使用apnagent仅使用PEM和密码发送推送通知吗?

时间:2016-08-08 18:30:52

标签: node.js apple-push-notifications apnagent

你能用一个.pem和密码来连接apnagent吗?或者我也需要一个单独的密钥.pem?

我对不同的证书文件及其用途有点不了解,所以我不确定我的错误是试图只使用.pem文件和密码短语,还是我犯了其他错误。

当我运行以下代码时,我没有收到任何错误或响应成功。只有我的“等待事件......”

'use strict'
const apnagent = require('apnagent')
const join = require('path').join
const certFile = join(__dirname,'/../certs/mint-APN-dev.pem')
const deviceToken = '<token>'
const passphrase = '<passphrase>'

let agent = module.exports = new apnagent.Agent()
agent
    .set('cert file',certFile)
    .set('passphrase',passphrase)
    .enable('sandbox')

agent.connect(function (err) {

    if (err && err.name === 'GatewayAuthorizationError') {
        console.log('Authentication Error: %s', err.message)
        process.exit(1)
    }


    else if (err) {
        throw err
    }


    var env = agent.enabled('sandbox')
        ? 'sandbox'
        : 'production'

    console.log('apnagent [%s] gateway connected', env)
})

// keep it running for a bit to give it time to succeed or fail
let id = setInterval(function() {
    console.log('Waiting for events...')
    count++
    if (count > 18) clearInterval(id)
}, 5000)

1 个答案:

答案 0 :(得分:0)

没关系。经过更多测试,我回答了自己的问题。使用.pem文件,您必须同时拥有密钥和证书。但是使用.p12文件,您只能拥有一个文件