如何使用终端将 .p12 文件转换为 .pem 文件?

Posted

技术标签:

【中文标题】如何使用终端将 .p12 文件转换为 .pem 文件?【英文标题】:How to convert .p12 file to .pem file using Terminal? 【发布时间】:2012-05-11 15:25:00 【问题描述】:

我已经有一个development certificate in apple developer portal。我正在开发一个 iPhone 应用程序,我想在这个应用程序中集成 Apple 推送通知。我使用现有证书和enabled the Push Notification in this app id 创建了一个new App ID。我创建了一个 new Provisioning Profile 使用新创建的应用程序 ID。在这些步骤之前,我已经创建并下载了.cer file from keychain access。完成这些步骤后,我在我的 Mac 钥匙串访问中下载了新的created SSL (Apple Push Notification Service SSL certificate) file and installed。一旦我安装了这个文件,验证(绿色勾号)和got the .p12 file from this ssl file

我关注了苹果文档RemoteNotificationsPG.pdf,在保存.p12文件后他们提到的这个文档中打开终端应用程序并输入以下推荐,

openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes

我在我的终端应用程序中使用过这个,但出现了错误消息,即,

Error opening input file Certificates.p12
Certificates.p12: No such file or directory

您能否建议或指导我在这些步骤中做错了什么或遗漏了什么?请帮我。提前致谢。

编辑:

我将 Certificates.p12 文件存储在我的桌面上。文件夹路径为Desktop->1/5/2012_Certificate->2/5/12->Certificates.p12

我在终端中使用了'ls' command,它没有列出我的 Certificates.p12 文件。

我输入了cd *path* 这返回了No such file or directory

请帮助我。提前致谢。

【问题讨论】:

您确定从正确的位置调用命令,即从包含 Certificates.p12 文件的文件夹吗? (在执行 'openssl ...' 之前在终端中尝试 'ls' - 你应该得到当前文件夹中包含的文件列表)。 谢谢Manicaesar先生。我试过这样是 openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes。响应是 -bash: Is: command not found。我将 Certificates.p12 保存在名为 2/5/12 的桌面文件夹中。请帮我。提前致谢。 ulu5 已经回答了您在对我的评论的评论中提出的问题;) 【参考方案1】:

您在正确的目录中吗?使用 ls 命令,它会列出 Certificates.p12 吗?

编辑:在终端类型中:

ls

这将列出您所在的当前目录的所有文件。如果没有列出 Certificates.p12,则说明您不在终端中的正确目录中。

要获得正确的目录类型:

cd *path*

其中 path 是包含 Certificates.p12 的文件夹。您可以在键入 cd 后将该文件夹拖放到终端中。击回。然后运行 ​​openssl 命令。

【讨论】:

感谢 ulu5 的现场响应。能否请您清楚地告诉我对不起我无法理解目录,是命令和列表 Certificates.p12。请澄清一下。提前致谢。 确保你输入的是 ls 而不是 is。 是的 ulu5.我用过 ls 它列出了许多文件但没有显示 Certificates.p12。一些文件是桌面、文档、下载、Dropbox、图书馆、电影、音乐、图片、公共、站点、软件、AppStoreSubmissionSteps.doc 在终端中列出,但 Certificates.p12 没有列出我需要做什么?请帮我。谢谢。 阅读我所做的编辑。您需要 cd 进入正确的目录。如果找不到,请使用 Spotlight 工具进行搜索。 你好 ulu5。谢谢。我已经在 finder 窗口中打开 Certificates.p12 并在终端中拖动文件夹(/Users/company/Desktop/1:5:2012_Certificate -bash: /Users/company/Desktop/1:5:2012_Certificate: No such file or directory ) 我不明白什么是 cd?我将 .p12 文件保存在我的 Mac 中的什么位置?如果我打扰你,请原谅我。请帮帮我。【参考方案2】:

打开终端点击ls列出当前目录下的项目,

如果您不在 .p12 移动到正确目录的文件夹中

cd directory path

例如,

cd Downloads

然后列出使用的文件并确保 .p12 文件存在于目录中。

然后使用以下命令将 .p12 文件转换为 .pem 文件。

openssl pkcs12 -in filename.p12 -out filename.pem -nodes

您创建的 .pem 文件将保存在包含 .p12 文件的目录中。

【讨论】:

以上是关于如何使用终端将 .p12 文件转换为 .pem 文件?的主要内容,如果未能解决你的问题,请参考以下文章

百度推送证书在终端如何合成?一行代码将.p12证书合成.pem证书

使用或不使用 OpenSSL 将 SSL .pem 转换为 .p12

Python p12 到 pem

无法使用 openSSL 将 .p12 转换为 .pem

将 PKCS#12 证书转换为 PEM 时输入 PEM 密码

将PKCS#12证书转换为PEM时输入PEM密码短语