1

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

如何将 .p12 文件转换为字符串,或者如何从 .p12 文件中导出正确的密钥?(此步骤可以手动完成,不必在运行时完成。)

以下是 AWS SDK for Java 开发人员指南的(略微扩展的)示例:

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);        

我在文档中找不到任何东西。

谢谢你的帮助。

4

1 回答 1

0

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

openssl pkcs12 -in certificate.p12 -nodes -clcerts 

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

于 2018-12-26T18:23:32.080 回答