编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写。

近年来,随着网络犯罪的上升,使用 SSL 保护网站逐渐成为一项备受追捧的功能,Windows Azure 网站也支持此功能。要使用此功能,您需要将证书上传到 Azure,然后将其分配到您的网站。获取证书可能并不容易,因为此过程涉及多个步骤。在本指南中,我们将介绍获取证书的以下方法:

1. 使用 DigiCert 证书实用程序

2. 使用 CertReq

3. 使用 IIS

背景

生成证书的过程由两部分组成。首先,用户创建一个包含请求详细信息的文本文件,即证书签名请求。用户将此文件提交到所选的证书提供商,以获取一个证书响应文件,然后用户可以将此证书响应文件安装在服务器上以完成此过程并获取完整证书。要将此证书用于 Windows Azure 网站,还需完成第 3 部分,即将证书导出为可以上传至 Azure 帐户的 PFX 文件。

大部分服务器产品都具有某些用于生成 CSR 文件和处理证书响应文件的内置机制。例如,在 IIS 中,这是 Action 窗格上的一个按钮:

如果您是一名经验丰富的 IIS 管理员且具有一台可随意使用的服务器,则此过程极为简单直接。如果不是,本指南将提供其他两种执行此过程的方法。

注意:在以下所有过程中,必须在同一台计算机上执行所有的 3 个部分。这是因为 CSR 请求将生成仅此计算机知道的私有加密/解密密钥。如果您尝试在其他计算机上完成此过程,则证书响应将无法获得相匹配的密钥,因此会失败。

使用 DigiCert 证书实用程序创建 CSR

DigiCert 的证书实用程序是一款第三方工具,旨在通过提供简单的过程图形用户界面来简化生成 CSR 的过程。这是迄今为止执行此过程最简单的方法,但是 DigiCert 证书实用程序并非 Microsoft 工具,不受 Microsoft 支持。您可以从此处下载此工具。此工具可用于任何证书提供商。步骤如下:

·   运行此实用程序,然后单击右上角的 Create CSR

·   键入网站的 URL 及其他详细信息。

·   选择 key length。请注意,Microsoft 建议的密钥长度为 2048 位

·   单击 Generate 并接收 CSR 代码:

·  使用产生的 CSR 代码购买证书。大部分提供商均要求将文本粘贴到其网页上,其他提供商则可能要求您将文本保存到某个文件然后上传到其网站。之后,它们将向您提供一个扩展名为
.CER 的文件。将此文件保存到执行 CSR 请求的计算机上。

· 要完成此过程,请单击 DigiCert 实用程序右上角的
Import
,然后导航到从证书提供商接收的 .CER 文件。 ***

· 完成此过程后,您将在工具中看到新的证书。单击此证书,然后单击证书列表屏幕底部的
Export Certificate

· 选择 Yes, export the private key,然后导出到可用于 Azure 网站的
PFX 文件。设置导出密码,稍后将文件上传到 Azure 时需使用此密码:

*** 某些证书提供商提供的证书格式可能与 DigiCert 实用程序不兼容。如果导入失败,您可以使用下述实用程序完成此过程,即按照下一节中的步骤 5 后执行此过程。

使用命令行工具 CertReq 创建 CSR

CertReq 是构建在任何现代版本的 Windows 操作系统中的工具。它旨在获取具有某些参数的简单文本文件,并生成可以发送到证书提供商的 CSR 文件。提供商返回 CER 文件后,您可以使用 CertReq 完成请求。届时,您可以使用
Windows Certificate Management 控制台将证书导出为 Windows Azure 网站可使用的 PFX 格式。以下是此过程的步骤:

· 为 CertReq 创建一个输入文件。这是包含您证书某些详细信息的简单文本文件。最重要的是,Subject Name 需与要使用证书的网站的 URL 相匹配。以下示例是一个标准请求,如果需要,您可以阅读 CertReq 文档并调整参数以满足您的需求。

将高亮部分替换为您的网站地址。例如,如果您的网站为 https://www.contoso.com,则该行应为:

Subject ="CN=www.contoso.com"

您也可以调整请求的其他属性,但这是高级任务。有关可以为 CertReq 配置的其他选项的详细信息,请访问此页面

·   将该文件另存为文本文件到硬盘上,然后打开 CMD 窗口并导航到保存文件的位置。

·   键入命令 CertReq –new MyRequest.txt MyRequest.csr,其中 MyRequest.txt 是在上一步中保存的文件的名称,MyRequest.csr 是将要创建的目标文件名称:

·  使用产生的 MyRequest.csr 文件购买证书。大部分提供商要求您将文件上传到其服务器。某些提供商可能要求您将文件内容粘贴到其网页中(您可以使用记事本打开此文件)。之后,提供商将向您提供一个扩展名为 .CER 的文件。将此文件复制到执行 CSR 请求的计算机上。

·  在 CMD 窗口中,导航到存储 .CER 文件的位置,然后键入
CertReq –accept –user MyCertificate.cer

·  按 Windows+R 键打开Run,键入
certmgr.msc,然后按 Enter 键以打开证书管理控制台

· 在证书管理器中,导航到 Personal/Certificates。您的新证书应该位于此处:

· 右键单击该证书,然后选择 All Tasks/Export

· 在向导中,选择 YES 导出私钥。在下一页
Personal Information Exchange – PKCS #12上,执行以下操作:

·  在下一页上,启用 password 选项,然后键入一个密码。稍后上传证书时需使用此密码。在下一页上,键入已导出文件的目标路径和名称:

·  这样就可以了,您拥有了可以上传到 Azure 帐户且可用于您的网站的新 PFX 文件。

使用 IIS 创建 CSR

如果您具有一台可随意使用的 IIS 服务器,您可以使用它来生成证书。如果没有,您可以在运行 Windows(服务器或客户端)的任意计算机上轻松安装证书。步骤如下:

· 在要执行此操作的计算机上安装 IIS。

· 打开 IIS 管理控制台

· 单击左侧的计算机名称,然后单击中间的
Server Certificate,再单击右侧 Action 窗格中的 Create Certificate Request

· 在向导中,填写网站的目标 URL(去掉 HTTPS:// 前缀)及其他详细信息。请注意,Microsoft 建议的密钥长度为 2048 位:

·  完成向导并使用产生的 CSR 文件购买证书。大部分提供商要求您将文件上传到其服务器。某些提供商可能要求您将文件内容粘贴到其网页中(您可以使用记事本打开此文件)。之后,提供商将向您提供一个扩展名为 .CER 的文件。将此文件复制到执行 CSR 请求的计算机上。

·   在 IIS 控制台中,单击 Action 窗格中的 Complete Certificate Request。

·        按照上一节中的步骤 6 到 11 将证书导出到可用于 Azure 网站的 PFX 文件。

后续步骤

现在您已具有 PFX 文件形式的证书,您可以将其上传到您的 Azure 帐户,并将其用于网站和其他服务。有关此过程的更多信息,请访问此文章。在某些情况下,您的证书需求可能有所不同。例如,如果您要使用
SAN 证书或自签名证书,获取这些证书的过程将有所不同。可在此处阅读相关说明

本文翻译自:

http://blogs.msdn.com/b/windowsazure/archive/2013/12/05/obtaining-a-certificate-for-use-with-windows-azure-web-sites-waws.aspx

获取证书以用于 Windows Azure 网站 (WAWS)的更多相关文章

  1. 通过 HTTPS 和 SSL 确保 Windows Azure 网站 (WAWS) 安全

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 随着身份盗窃和各种形式的网络犯罪迅速增多,使用安全套接字层 (SSL) 对网站进行保护变得越来越 ...

  2. 最佳实践:Windows Azure 网站 (WAWS)

     编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Sunitha Muthukrishna 撰写. Windows Azure 网站 (WAWS) 允许您在 Windows ...

  3. Windows Azure 网站 (WAWS) 和中间证书

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 在 Windows Azure 网站上使用 SSL 已经司空见惯.虽然向网站上传和分配证书通常简 ...

  4. Windows Azure 网站 (WAWS) 中的服务器端包含 (SSI)

     编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Erez Benari 撰写. Windows Azure 网站客户普遍关心的一个问题是关于我们对服务器端包含(Server ...

  5. 在 Windows Azure 网站 (WAWS) 上对 Orchard CMS 使用 Azure 缓存

    编辑人员注释: 本文章由 Windows Azure 网站团队的项目经理 Sunitha Muthukrishna 撰写. 如果您当前的 OrchardCMS 网站在 Windows Azure 网站 ...

  6. Windows Azure 网站自愈

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Apurva Joshi 撰写. 您有多少次在半夜被叫醒去解决一个仅需重新启动网站即可解决的问题?要是可以自动检测一些状况并自动恢 ...

  7. Windows Azure 网站开发Stacks支持

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Daria Grigoriu 和 Windows Azure 网站开发人员体验合作伙伴共同撰写. Windows Azure 网 ...

  8. 在 Windows Azure 网站中进行纵向扩展和横向扩展

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Byron Tardif 撰写. 当您开始一个新的 Web 项目,或者刚刚开始开发一般的网站和应用程序时,您可能希望从小处着手. ...

  9. 进一步探索:Windows Azure 网站中解锁的配置选项

     编辑人员注释: 本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 在 Windows Azure 网站 (WAWS) 中管理网站时,许多选项可使用 Azu ...

随机推荐

  1. 在后台获取Textarea控件的值

    使用Request.Form方法 1.在前台设置name 属性 <textarea name="Content">hdjfhjdfhdj</textarea> ...

  2. Android滑动事件冲突

    首先,我们假设这样一个场景:一个ViewPager里面嵌套一个ViewPager,内部滑动方向和外部滑动方向一样时,该怎么解决这一冲突呢? 针对滑动冲突这里给出两种解决方案:外部拦截法,内部拦截法. ...

  3. 加特殊符号星号斜杠反斜杠/* \ */ !important等让css实现兼容各个浏览器的技巧的代码

       在编写css样式表的时候常常会碰到一写浏览器兼容的问题,象是不同内核的浏览器显示就不一定相同,不同版本的的浏览器也会产生上下兼容的问题,如何解决这些问题成了我们苦恼的问题,如果你对css hac ...

  4. BZOJ 1019: [SHOI2008]汉诺塔( dp )

    dp(x, y)表示第x根柱子上y个盘子移开后到哪根柱子以及花费步数..然后根据汉诺塔原理去转移... ------------------------------------------------ ...

  5. 创建js对象和js类

    //第一种定义方式 var person=new Object(); //创建了一个对象. person.name="tom"; //使用person对象对调用name属性,它的值 ...

  6. 17.1.1.8?Setting Up Replication with Existing Data设置复制使用存在的数据

    17.1.1.8?Setting Up Replication with Existing Data设置复制使用存在的数据 当设置复制使用存在的数据,你需要确定如何最好的从master 得到数据到sl ...

  7. Mongodb 设置密码

    Mongodb 配置用户密码: 首先创建admin数据库的用户密码 再创建pics的用户名密码 > show databases; admin 0.203125GB local 0.078125 ...

  8. Windows Azure 网站上的 WebSocket 简介

    编辑人员注释:本文章由 Windows Azure 网站团队的首席项目经理 Stefan Schackow 撰写. Windows Azure 网站最近新增了对 WebSocket 协议的支持..NE ...

  9. boost::thread用法

    最近在做一个消息中间件里面涉及到多线程编程,由于跨平台的原因我采用了boost线程库.在创建线程时遇到了几种线程创建方式现总结如下: 首先看看boost::thread的构造函数吧,boost::th ...

  10. redhat6.3安装matlab运行时MCR7.8,初步测试ok

    redhat6.3安装完matlab2008a后在目录$MATLAB_HOME/toolbox/compiler/deploy/glnxa64中有MCRInstaller.bin 使用这个安装MCR即 ...