将 p7b 转换为 Azure 的 pfx
Posted
技术标签:
【中文标题】将 p7b 转换为 Azure 的 pfx【英文标题】:convert p7b to pfx for Azure 【发布时间】:2011-10-06 04:45:45 【问题描述】:我正在尝试为 Azure 设置端点。
我得到了一个 .p7b 文件,但我需要一个带有 Azure 私钥的 .pfx 文件。
有没有办法将我的 .p7b 转换为 .pfx?
【问题讨论】:
您在之前的问题Azure https with pfx file. 中也提到了同样的问题。答案不会因为您以稍微不同的方式提出问题而改变。 【参考方案1】:更简单的方法是转至https://decoder.link/converter
-
上传您的 ssl 提供商发布的 .crt
上传您从 ssl 提供商处下载的私钥 .txt 文件
上传您的 ssl 提供商发布的 .ca-bundle
设置一个您能记住的密码
点击提交,当您收到“成功转换”消息时,点击下载。
现在您可以将 .pfx 文件上传到 Azure 或您的云托管。
【讨论】:
【参考方案2】:好的,这里是整个 Azure SSL 证书复杂性的概要。我已经通过 GoDaddy 完成了这项工作(并且得到了他们一位知识渊博的技术支持人员的帮助)。另请注意,我在 Windows 8 Pro 上完成了此操作;您的体验可能会略有不同和/或您的里程可能会有所不同;-)
向 CA(证书颁发机构)付款以购买 SSL 证书。
创建 CSR(证书签名请求)
现在您需要创建一个 CSR ,这是您必须向 CA 提供的文本,以便他们创建您的证书。 CSR 包含几条信息:
-
与证书关联的域的名称。
与证书关联的公钥。请注意,您提供给 CA 的 CSR 不包含关联的私钥。
您可以使用 IIS 管理器在 PC 上本地创建 CSR。注意:IIS 包含在 Windows 中,但默认情况下不安装。 [我将把安装 IIS 的细节留给学生练习。也许某个好心人会编辑此答案并填写这些详细信息。]
编辑:您可以将 RDP 导入 Azure 中的云服务(非常容易)并在该计算机上使用 IIS 创建 CSR 并完成签名,而不是在本地计算机上安装 IIS要求。如果您这样做,请务必一次完成整个过程。如果您生成 CSR,然后等待稍后完成请求,则云服务可能不在同一台计算机上,并且您在 IIS 中将没有“导出”选项。
创建 CSR:
-
运行 IIS 管理器
选择(双击)服务器证书
在窗口右侧的“操作”窗格中,单击“创建证书请求”。 Common Name 是与证书关联的域名。其余字段用于标识您的公司。
IIS 管理器将询问加密服务提供程序和位长度。您必须选择至少 2048 的位长度。
IIS 管理器将创建一个公钥/私钥对。公钥包含在 IIS 管理器为您创建的 CSR 文本文件中。私钥隐藏在您 PC 上的某个地方(我假设在个人密钥存储中)。
要创建 CSR - 您也可以参考godaddy site 的详细步骤。很有帮助。
现在,返回您的 CA 网站并找到可让您创建所购买证书的在线工具。它希望您做的第一件事是粘贴(或上传)CSR 文本。在您跳过 CA 的圈套后,您将收到他们返回的一个或多个证书文件。
将证书文件安装到 IIS 中
GoDaddy 为您提供两个文件:一个 p7b 文件和一个 crt 文件。
crt 文件包含您的公共证书。但是您不能(还)将其上传到您的网络托管服务提供商,因为它不包含相关的私钥。网络主机需要私钥和公钥,因为它将代表您进行端到端加密。
p7b 文件 包含构成“证书链”的证书,允许您的证书被验证到您的 CA。换句话说,当有人访问您的网站并获得声称您的网站由 Acme.com 运行的证书时,此证书链可让该人的浏览器验证您的 CA 为您的身份提供担保。我们稍后会回到这个文件......
现在您需要将您的公共证书与您的私钥结合起来,并将结果存储在受密码保护的 pfk 文件中。
回到创建 CSR 的同一台计算机上的 IIS 管理器,导航回“服务器证书”页面,然后单击“完成证书请求”(在屏幕右侧的“操作”窗格中)。
-
告诉向导使用您从 CA 收到的证书文件(在我的例子中,它是一个 crt 文件,但如果您的 CA 使用不同的编码方法,它可能是不同的文件类型)。
Friendly Name 应该是您的域名,但您也可以在其中添加“SSL”以帮助区分它(例如 ContosoSSL)
告诉向导将密钥存储在您的个人存储中
要将证书安装到 IIS 中,godaddy site help 中的这些详细步骤可能会有所帮助。
获取 pfx 文件
您现在应该会在 IIS 管理器的“服务器证书”页面上看到您的新证书。选择该证书并将其导出为 pfx 文件(通过屏幕右侧的“操作”窗格)。
现在您可以前往https://manage.windowsazure.com(Windows Azure 管理门户),选择您的网站或云服务,然后将 pfx 文件上传到 Azure 证书存储。
哇。祝你好运...
编辑
上述说明仅涉及在您的 Azure Web 角色中安装 SSL 证书,但不是中间证书(即“证书链”)。这适用于大多数客户端(浏览器),因为大多数浏览器都内置了主要 CA 的中间证书。换句话说,浏览器知道如何从您的 SSL 证书到颁发它的 CA。但是有些客户要求网站本身不仅要发布 SSL 证书,还要发布所有的中间证书。
有关如何执行此操作的详细信息,请参阅this SO answer。
【讨论】:
希望我以前读过这个。我经历了几乎相同的路径。一些details here 可能会对某人有所帮助。 在 IIS 管理器 7.5 中“3.告诉向导将密钥存储在您的个人存储中”没有按钮或文本字段。在“操作”窗格或上下文菜单中没有“将其导出为 pfx 文件”的按钮。有什么想法吗? 很好的描述。需要提及的一件事是,您必须在与“创建请求”相同的机器上执行“完成请求”。如果您在另一台机器上执行此操作 - 没有导出选项。 我现在可以通过互联网亲吻你。谢谢!谢谢你。很好的解释。 安装 IIS:搜索并打开“打开或关闭 Windows 功能”。选择“Internet 信息服务”并单击“确定”。如果它失败并出现诸如“0x800F0906”之类的错误,您可能需要在安装时暂时禁用您的防病毒软件。以上是关于将 p7b 转换为 Azure 的 pfx的主要内容,如果未能解决你的问题,请参考以下文章
将.crt、.cer、.pfx、.p7b、.der的ssl证书转换成.pem格式