将 p12 APNS 证书转换为 base64 字符串

Posted

技术标签:

【中文标题】将 p12 APNS 证书转换为 base64 字符串【英文标题】:Convert p12 APNS certificate to base64 string 【发布时间】:2016-09-20 06:39:03 【问题描述】:

我想将 APNS 证书的 .p12 文件发送到 One Signal API,但我需要先将 .p12 文件转换为 base64 字符串。我怎么做? API 文档如下: https://documentation.onesignal.com/reference#create-an-app

【问题讨论】:

我正在构建的脚本在 Node 中。 我试过但没用的脚本:new Buffer(fs.readFileSync(__dirname + "/ios_push_certificate.p12", 'binary')).toString('base64') 【参考方案1】:

如果您使用的是 Mac,则可以使用 Mac 附带的 base64 实用程序。

base64 -i certificate.p12 -o outputfile

【讨论】:

这个过程可以逆转吗? 我的意思是base64到p12【参考方案2】:

这取决于您使用的编程语言。

例如,下面是如何在 Ruby 中执行此操作:

base64_encoded_p12 = Base64.encode64(File.read('/path/to/your/file.p12'))

【讨论】:

【参考方案3】:
new Buffer(fs.readFileSync(__dirname + "/ios_push_certificate.p12")).toString('base64')

毕竟这是正确的脚本。

【讨论】:

【参考方案4】:

你可以在 Linux 上使用它

base64 file.p12

要将base64输出写入任何文件,可以使用这个

base64 file.p12 > output.base64

注意:这适用于任何文件,不仅是.p12

【讨论】:

以上是关于将 p12 APNS 证书转换为 base64 字符串的主要内容,如果未能解决你的问题,请参考以下文章

X.509 DER 格式证书到 PEM 格式

将证书导出为 BASE-64 编码的 .cer

如何在不使用 OpenSSL 的情况下使用私钥导出 base64 编码的 x.509 证书

同一证书文件中的多个 APNS 证书

Base 64 原理

用于 APSN 的 PHP 推送服务器(Apple)