为了实现iOS应用程序的推送服务,我们需要将Keychain访问的推送证书导出为Certificates.p12文件并将其上传到APN服务器。导出时会要求输入密码。使用密码导出的Certificate.p12文件与空密码之间有什么区别?像parse.com这样支持推送消息的云服务不接受使用密码导出的.p12文件。当我们编写自己的APN服务器时,我们是否应该使用密码或无密码导出的.p12文件?对我来说,如果导出的p12文件没有密码,我会得到" UnrecoverableKeyException:Get Key failed"错误。
提前感谢您的帮助。
答案 0 :(得分:4)
答案很简单,请举例解释。
将您的p12文件视为ATM卡(借记卡/信用卡)并考虑如果您没有密码,如果有人拿到您的卡会怎样?
同样,如果您不知道密码保护p12,那么拥有该p12文件的任何人都可以使用该p12文件向您的应用发送推送通知(恶意)。
答案 1 :(得分:2)
p12文件是X.509推送通知证书及其相应私钥的加密容器。由于没有人能够将您的证书/私钥用于恶意目的,因此强烈建议您使用密码保护您的p12文件。另外,任何获得p12文件的人都可以使用您的开发者身份(由证书定义)与Apple的推送服务器进行通信。