AWS Pinpoint-如何更新APNs频道?如何将p12证书转换为String?

时间:2018-08-23 13:20:54

标签: certificate apple-push-notifications channel aws-pinpoint

我想更新一个AWS精确应用程序的APNs通道。为此,我必须使用SSL证书和证书密码创建一个APNSChannelRequest。这两个元素的类型都必须是字符串。

如何将.p12文件转换为字符串,或者如何从.p12文件中导出右键?(此步骤可以手动完成,不需要在运行时完成。)

这是适用于Java的AWS开发工具包的开发人员指南的示例(略有扩展):

APNSChannelRequest request = new APNSChannelRequest()
    .withEnabled(enabled);

UpdateApnsChannelRequest updateRequest = new UpdateApnsChannelRequest()
    .withCertificate("here comes the ssl-certificate string")
    .withPrivateKey("pw123")
    .withAPNSChannelRequest(request)
    .withApplicationId("placeholder-for-the-appId");
UpdateApnsChannelResult result = client.updateApnsChannel(updateRequest);        

我在文档中找不到任何内容。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这将需要将p12文件的内容转换为PEM格式。这可以通过使用openssl的命令行来实现,如下所示:

openssl pkcs12 -in certificate.p12 -nodes -clcerts 

这将导致以base64格式发出CERTIFICATE和PRIVATE KEY值。在"-----BEGIN CERTIFICATE-----"中提供以"-----END CERTIFICATE-----"开头并以UpdateApnsChannelRequest结尾的字符串作为证书值。在"-----BEGIN PRIVATE KEY-----"中提供以"-----END PRIVATE KEY-----"开始并以PrivateKey结尾的字符串作为UpdateApnsChannelRequest的值。