第5章证的使用761 下载 方的身份。每个证书都包含持有者的公共密钥,因此,可以用它加密数据发送给证书的持有 者。证书还包含CA的数字签名,这就确保没有人修改过证书,它所存储的信息准确无误。 数字签名是文档建立者用私有密钥制作的。因此,为了确认证书是由特定的CA签发的, 就需要CA的公共密钥。在25.5节中会看到,多数CA的公共密钥通常与浏览器、电子邮件程序 以及其他软件包一起分发。这样用户就可以确认某一证书的可靠性。 3.证书的类型 Internet上常用的数字证书有四种,每一种都有其特定的作用范围: ·服务器证书( Server Certificate):即 Server id。这些证书允许确认使用安全通信协议 (如SSL)的服务器的身份。用户可以在发送秘密信息前确认服务器或Web站点的身份 个人证书( Personal certificate):用于确认个人。服务器可以用他们来鉴别用户,或安 全发送电子邮件。 ·软件发布者证书( Software publisher Certificate):用来给在 Internet上发布的软件签名 它们解决了目前软件产业面临的一个重大问题,即用户怎样才能相信 Internet上发布的 代码。软件包用商标和密封包装使用户相信他们的完整性,商标代表着信用和声誉,密 封包装则保证封装后就没人动过它。但在 Internet上发布的代码没有这些安全保证。为 了提供这种保证,软件发行商就需要一个数字的安全保证,代码签名就是 Internet上的 商标和密封包装。然而软件发布者证书不能确保签名的代码可以安全运行或没有错误。 ·CA证书( Certificate Authority Certificate),用于确认CA。这种类型的证书需要做出 些解释。CA可以分为两大类:根CA和中介CA。它们的区别在于,根CA可以发布任 何形式的证书,并由本身确认。而中介CA除了不能发布其本身的证书外,可以发布其 他任何形式的证书。根CA证书是唯一一种发布者和持有者是同一人的证书。根CA可 以给中介CA发布证书,而且中介CA可以给其他中介CA发布证书。CA发布给其他CA 的证书就是CA证书,这就有了证书的层次结构,每一层都向他的发布者寻求信誉担保 直到根CA。这个层次结构就是CA链。这种CA的层次结构来自于它的组织形式,如地 理位置、发给的证书类型、管理的方便性等。 图25-4显示了基于地理位置和发给的证书类型的CA链的示例 根CA 美国CA 中介C 欧洲CA 个人证书CA (服务器证书C 个人证书CA 服务器证书CA 图25-4CA链的示例 这种层次结构主要优点是只要信任相应的根CA,就可以信任证书。也就是说只要相信 CA链的根CA,就可以相信每个中介CA
方的身份。每个证书都包含持有者的公共密钥,因此,可以用它加密数据发送给证书的持有 者。证书还包含C A的数字签名,这就确保没有人修改过证书,它所存储的信息准确无误。 数字签名是文档建立者用私有密钥制作的。因此,为了确认证书是由特定的 C A签发的, 就需要C A的公共密钥。在2 5 . 5节中会看到,多数C A的公共密钥通常与浏览器、电子邮件程序 以及其他软件包一起分发。这样用户就可以确认某一证书的可靠性。 3. 证书的类型 I n t e r n e t上常用的数字证书有四种,每一种都有其特定的作用范围: • 服务器证书( Server Certificate):即Server ID。这些证书允许确认使用安全通信协议 (如S S L)的服务器的身份。用户可以在发送秘密信息前确认服务器或 We b站点的身份。 • 个人证书(Personal Certificate):用于确认个人。服务器可以用他们来鉴别用户,或安 全发送电子邮件。 • 软件发布者证书(Software Publisher Certificate):用来给在I n t e r n e t上发布的软件签名。 它们解决了目前软件产业面临的一个重大问题,即用户怎样才能相信 I n t e r n e t上发布的 代码。软件包用商标和密封包装使用户相信他们的完整性,商标代表着信用和声誉,密 封包装则保证封装后就没人动过它。但在 I n t e r n e t上发布的代码没有这些安全保证。为 了提供这种保证,软件发行商就需要一个数字的安全保证,代码签名就是 I n t e r n e t上的 商标和密封包装。然而软件发布者证书不能确保签名的代码可以安全运行或没有错误。 • C A证书(Certificate Authority Certificate),用于确认C A。这种类型的证书需要做出一 些解释。C A可以分为两大类:根 C A和中介 C A。它们的区别在于,根 C A可以发布任 何形式的证书,并由本身确认。而中介 C A除了不能发布其本身的证书外,可以发布其 他任何形式的证书。根 CA 证书是唯一一种发布者和持有者是同一人的证书。根 CA 可 以给中介 C A发布证书,而且中介 C A可以给其他中介 C A发布证书。C A发布给其他C A 的证书就是C A证书,这就有了证书的层次结构,每一层都向他的发布者寻求信誉担保, 直到根 C A。这个层次结构就是 C A链。这种C A的层次结构来自于它的组织形式,如地 理位置、发给的证书类型、管理的方便性等。 图2 5 - 4显示了基于地理位置和发给的证书类型的 C A链的示例。 图25-4 CA 链的示例 这种层次结构主要优点是只要信任相应的根 C A,就可以信任证书。也就是说只要相信 C A链的根C A,就可以相信每个中介C A。 第25章 证书的使用计计761 下载 根CA 美国CA 中介CA 欧洲CA 个人证书CA 服务器证书CA 个人证书CA 服务器证书CA
762 SP3高级编程 下载 25.3从证书机构获取证书 要得到一个证书,必需与证书机构(CA)打交道。获取证书的过程称为注册( enrollment, 获取不同类型的证书的过程又有些不同。 在注册前,应该认真考虑选择CA。这儿有几个需考虑的问题 A是否值得依赖,它的证书业务是否既可满足我们的需要又能在我们的区域内有效? 作为一个知名的值得依赖的组织,客户和其他CA应该能立刻识别他。如果选择了不著名 的CA,其他用户很可能们拒绝我们的证书 CA是否熟悉我们组织的商业利益?从技术、法律和商业角度选择相应的CA。 ·CA为了确认身份,会要求我们提供哪些类型的信息?大多数CA要求提供详细的信息 如我们的身份、我们组织的身份及管理web服务器的正式权力。根据所需身份识别担保 的级别,CA可能需要更多的信息,如专业关系或财政收入,以及公证人对这些信息 认可 CA是否有一个接收在线证书请求的系统,如那些由密钥管理服务器产生的请求?一个 在线系统能够加快处理证书请求的速度。多数CA都有该系统 每个CA都有其相应的证书操作说明( Certification Practices Statement,CPS),公开陈述 执行的操作过程,通常发布在CA的网站上。因此在申请证书前可以阅读它。 图25-5显示了 Thawte CA的主页,注意到CPS及证书注册窗体的连接 THAWTE C tD Thawte Digital Certificate Services 如试,Bsc dude wh ao of the Irternet's SSL Web terver make w L Crm for 5125 Secure Montle Server art 2000 m已 图25-5 Thawte Ca的主页 1.获取服务器证书 为了在Web上安全通信,服务器证书用于标识使用SSL协议的服务器。当浏览器通过 HTPS协议(HTTP协议的变体与已证明的web服务器进行通信时,它同时收到服务器的证书 和公共密钥。这样浏览器就能安全地标识服务器的拥有者,并用它的公共密钥加密数据 为了使web服务器能使用SSL和证书,必须执行一个特定的过程,这个过程取决于所用的 Web服务器和CA。然而,执行过程的每一步都与所有服务器及多数CA相适应。如下所述
762计计ASP 3 高级编程 下载 25.3 从证书机构获取证书 要得到一个证书,必需与证书机构(C A)打交道。获取证书的过程称为注册( e n r o l l m e n t ), 获取不同类型的证书的过程又有些不同。 在注册前,应该认真考虑选择 C A。这儿有几个需考虑的问题: • C A是否值得依赖,它的证书业务是否既可满足我们的需要又能在我们的区域内有效? 作为一个知名的值得依赖的组织,客户和其他 C A应该能立刻识别他。如果选择了不著名 的C A,其他用户很可能们拒绝我们的证书。 • CA是否熟悉我们组织的商业利益?从技术、法律和商业角度选择相应的 C A。 • C A为了确认身份,会要求我们提供哪些类型的信息?大多数 C A要求提供详细的信息, 如我们的身份、我们组织的身份及管理 We b服务器的正式权力。根据所需身份识别担保 的级别,C A可能需要更多的信息,如专业关系或财政收入,以及公证人对这些信息的 认可。 • C A是否有一个接收在线证书请求的系统,如那些由密钥管理服务器产生的请求?一个 在线系统能够加快处理证书请求的速度。多数 C A都有该系统。 每个C A都有其相应的证书操作说明( Certification Practices Statement,C P S ),公开陈述 执行的操作过程,通常发布在 C A的网站上。因此在申请证书前可以阅读它。 图2 5 - 5显示了Thawte CA的主页,注意到C P S及证书注册窗体的连接: 图25-5 Thawte CA的主页 1. 获取服务器证书 为了在 We b上安全通信,服务器证书用于标识使用 S S L协议的服务器。当浏览器通过 H T T P S协议( H T T P协议的变体)与已证明的We b服务器进行通信时,它同时收到服务器的证书 和公共密钥。这样浏览器就能安全地标识服务器的拥有者,并用它的公共密钥加密数据。 为了使We b服务器能使用S S L和证书,必须执行一个特定的过程,这个过程取决于所用的 We b服务器和C A。然而,执行过程的每一步都与所有服务器及多数 C A相适应。如下所述:
ha°pdeN 第5章证书的程763 下载 ·服务器证书要被捆绑到在一个已注册的 Internet域,因此确保为web站点正确地注册一个 域。如果没有的话,必需在申请证书前为Web站点注册一个域 用服务器软件附带的工具生成一对密钥和一个证书签名请求( Certificate Signing Request,CSR)。密钥生成阶段生成了服务器的私有密钥和公共密钥,因为生成的CSR 含有服务器的公共密钥,因此这一步很重要。在CSR生成阶段,必需提供其他一些信息 如web站点的URL、公司或组织的名称和地址。该步骤的结果是一个ASCI文件,包含 标准格式(即PKCS#10)的证书请求 ·此时,可以向CA发送CSR。这可用多种方式完成,可以通过发送电子邮件或使用CA网站 的在线注册窗体。在后一种情况中,必须执行从CSR文件到Web窗体的剪切与粘贴操作 CSR文件的内容应该如下 BEGIN NEW CERTIFICATE REQUEST- MilBJTCBOAIBADBtMQSWCQTDVQQQEWJVUZEQMA4GAlUEChs4IBMHQXJpemguY TENAIUEBXMETWVzYTEfMBOGAlUEChMWTWVs3Xbnz Y SBDb2Itdw5pdHkgQ29sbGVnZ TEAlUEAXMTd3d3LmljLmlhcmljb3 BhLm VkdTBaMAGCSq Gsib3DQEBAQUAAOkAMEYC QQDRNU6XSIWjG41163gAsj/P108sFmjkjzMuUUFYbmtZX4RFxf/U7cZZdMagz4IMmYOF9cdp DLTAutULTSZKDcLAgEDoAAwDQYJKoZlhVcNAQEEBQADQQAjIFpTLgfmB Vhc9SqaipSSF NXtzAmhY zv Jkt5JJ4X2r7VJYG3JOvauJ5VjkXz9aevJ8dzx 37ir3P4Xpz+NFXKIR= -END NEW CERTIFICATE REQUEST- 在同一窗体上,也可能会询问其他管理信息(如联系人姓名、费用等)和技术信息(如 服务器软件,询问短语( challenge phrase)等)。多数CA要求询问短语,我们能用它来取消 和更新证书。 ·在向CA发送CSR后,必须等待CA的确认。CA会确认提供的信息,并询问其他一些信息。 用来确认我们的身份的信息叫权利证明( proof of rights),可以是传统的文档,如 Business license、 Articles of Incorporation或 Tax ID号码。确认过程所用的规则由CA决 定,并取决于所需的身份级别 当确认过程完成时,CA会创建一个证书,并用私有密钥签署它。该证书包括相应的信息, 如公共密钥、终止日期及其他数据。然后CA将它发送给我们,或发布到网站上以供下载。我 们收到的证书是一个ASCI文件,包括PKCS#7标准格式的数据。内容如下 ----BEGIN CERTIFICATE. CBHem9lcCBDQSSjcmwwRqBEoEKGQGZpbGU6Ly 9cXENFUIRTUIZcQ2 VydFNydlxDZ XJORWSyb2xsXEITIENIcnRTcnY gVGVzdCBHem9lcCBDQSSjcmwwCQYDVROTBAIwADBi BggrBgEFDQcBAQRWMFQwUgYIKwYBBQUHMAKGRmhodHA6Ly9DRVJUUIJWLONIcnR TenYvQ2VydEVucm9sbC9DRVJUUlJWXOITTENIcnRTcnYgVGVzCBHcm9lcCBDQS5jcnQwD QYJKoZIhVcNAQEEBQADQQAhq7ORlseOulPstU+lwdjeNj5p ----END CERTIFICATE---- ·最后可以按相应文档的提示在web服务器上安装服务器证书。记住要为收到的文件制作 拷贝。注意CA从不占有你的私有密钥。如果丢失服务器证书,必须申请一个新的CSR 上面所讲的是从CA获取服务器证书的最一般的步骤,适用于多数服务器软件和CA,下面 是证书的请求与安装的一个示例。将使用IS50作为web服务器, Verisign Inc为CA
第25章 证书的使用计计763 下载 • 服务器证书要被捆绑到在一个已注册的 I n t e r n e t域,因此确保为We b站点正确地注册一个 域。如果没有的话,必需在申请证书前为 We b站点注册一个域。 • 用服务器软件附带的工具生成一对密钥和一个证书签名请求( Certificate Signing R e q u e s t,C S R)。密钥生成阶段生成了服务器的私有密钥和公共密钥,因为生成的 C S R 含有服务器的公共密钥,因此这一步很重要。在 C S R生成阶段,必需提供其他一些信息, 如We b站点的U R L、公司或组织的名称和地址。该步骤的结果是一个 A S C I I文件,包含 标准格式(即P K C S#1 0)的证书请求。 • 此时,可以向C A发送C S R。这可用多种方式完成 ,可以通过发送电子邮件或使用 C A网站 的在线注册窗体。在后一种情况中,必须执行从 C S R文件到We b窗体的剪切与粘贴操作。 C S R文件的内容应该如下: ----BEGIN NEW CERT I F I C ATE REQUEST- - - - M I I B J T C B 0 A I B A D B t M Q s w C Q T D V Q Q Q E w J V U z E Q M A 4 G A 1 U E C h s 4 1 B M H Q X J p e m 9 u Y T E N A 1 U E B x M E T W V z Y T E f M B 0 G A 1 U E C h M W T W V s 3 X b n z Y S B D b 2 1 t d W 5 p d H k g Q 2 9 s b G V n Z T E A 1 U E A x M T d 3 d 3 L m 1 j L m 1 h c m l j b 3 B h L m V k d T B a M A 0 G C S q G S I b 3 D Q E B A Q U A A 0 k A M E Y C Q Q D R N U 6 x s l W j G 4 11 6 3 g A s j / P 1 0 8 s F m j k j z M u U U F Y b m t Z X 4 R F x f / U 7 c Z Z d M a g z 4 IMm Y 0 F 9 c d p D LTA u t U LTs Z K D c L A g E D o A Aw D Q Y J K o Z I h v c N A Q E E B Q A D Q Q A j I F pT Lg f m B V h c 9 S q a i p 5 S F N X t z A m h Y z v J k t 5 J J 4 X 2 r 7 V J Y G 3 J 0 v a u J 5 V j k X z 9 a e v J 8 d z x 3 7 i r 3 P 4 X p z + N F x K 1 R = ----END NEW CERT I F I C ATE REQUEST- - - - 在同一窗体上,也可能会询问其他管理信息(如联系人姓名、费用等)和技术信息(如 服务器软件,询问短语( challenge phrase)等)。多数C A要求询问短语,我们能用它来取消 和更新证书。 • 在向C A发送C S R后,必须等待C A的确认。C A会确认提供的信息,并询问其他一些信息。 用来确认我们的身份的信息叫权利证明( proof of rights ),可以是传统的文档,如 Business License、Articles of Incorporation或Tax ID号码。确认过程所用的规则由 C A决 定,并取决于所需的身份级别。 当确认过程完成时,C A会创建一个证书,并用私有密钥签署它。该证书包括相应的信息, 如公共密钥、终止日期及其他数据。然后 C A将它发送给我们,或发布到网站上以供下载。我 们收到的证书是一个A S C I I文件,包括P K C S#7标准格式的数据。内容如下: ----BEGIN CERT I F I C AT E - - - - C B H c m 9 1 c C B D Q S 5 j c m w w R q B E o E K G Q G Z p b G U 6 Ly 9 c X E N F U I RT U I Z c Q 2 Vy d F N y d l x D Z X J 0 RW 5 y b 2 x s X E 1 T I E N l c n RTc n Y g V G V z d C B H c m 9 1 c C B D Q S 5 j c m w w C Q Y D V R 0 T B A I w A D B i B g g r B g E F D Q c B A Q RW M F Q w U g Y I K w Y B B Q U H M A K G R m h 0 d H A 6 Ly 9 D RV J U U 1 J W L 0 N l c n R Tc n Yv Q 2 Vy d E Vu c m 9 s b C 9 D RV J U U 1 J W X 0 1 T I E N l c n RTc n Y g V G V z C B H c m 9 1 c C B D QS5 j c n Q w D Q Y J K o Z I h v c N A Q E E B Q A D Q Q A h q 7 0 R l s e 0 u l P s t U + I w d j e N j 5 p ----END CERT I F I C AT E - - - - • 最后可以按相应文档的提示在 We b服务器上安装服务器证书。记住要为收到的文件制作 拷贝。注意C A从不占有你的私有密钥。如果丢失服务器证书,必须申请一个新的 C S R。 上面所讲的是从C A获取服务器证书的最一般的步骤,适用于多数服务器软件和 C A,下面 是证书的请求与安装的一个示例。将使用 IIS 5.0作为We b服务器,Ve r i s i g n . I n c为C A
764sp3高级程 (1)生成密钥对和CSR 第一步,必须先生成密钥对和CSR,这可 以用 Internet Service Manager来完成。右击要 为其申请证书的Web站点并选择 Properties,接 着单击 Directory Security选项卡,会看到这个 如图25-6所示的窗口。 可以看到 Secure communications框中的 Edit按钮是无效的,因为还没有安装任何服务 器证书。单击 Server Certificate按运Wb= Serrer Certificate wizard来搜集用于生成CSR 的信息 点击“Next”,在出现的窗口中,选择Crea a New Certificate。在下一界面中,选择单选按 钮“ Prepare the request now, but send it later” 图25-6站点的 Diretory Serurity选项卡 再点击“Next”,你将被要求为CSR提供详细信息。接下来会要求输入公司和web站点的信息。 这种信息就是服务器的区别名称( Distinguished Name)。向导将询问以下详细信息 Organization:该项填写拥有此域名的组织或公司。组织名称(公司、大学、政府机制) 必须是在国家、省、市级权力机关注册的。必须提供组织注册的法定名称。 Organizational Unit::可以用此项来区别同属一个组织的部门 Common name:这个普通名是完全限定的域名,DNS用它来查找服务器(如 www.wroxcom)。浏览器通过该信息标识我们的Web站点,如果改变我们的主机名,则 需要再申请一份证书。连接到主机的客户浏览器将检测证书的普通名是否与URL匹配 在这个字段中,不能使用通配符(*、?等)、IP地址或端口号,也不能包括http://或 https://. Country/ Region:在该项中,需输入两个字符的ISO格式代码,如美国为US,意大利为 T,英国为GB State/ Province:必须输入组织所在的州或省。 City/ Locality:填写组织所在的城市 输入所有必需的信息后,还要输入存储CSR的文本文件名。然后会有一个界面显示已输 入的所有信息,接着向导会生成密钥对,创建CSR并存储到刚指定的文件中。点击 Finish按钮 便完成了该过程。 (2)申请证书 现在可以连接到VerisignWeb站点进行注册。地址是http://www.verisign.com在主页中 按照链接找到在线注册窗体并输入所需信息。要输入CSR,须先用 Notepad之类的文本编辑器 打开CSR文件并复制CSR,包括 BEGIN NEW CERTIFICATE REQUEST和 END NEW CERTIFICATE REQUEST两行,再粘贴到窗体中,如图25-7所示。 输入我们的组织的联系人和酬金。 (3)等待确认 在提出申请后,要等待证实通知。会收到一封证实注册的电子邮件,该邮件包括个人识
(1) 生成密钥对和C S R 第一步,必须先生成密钥对和 C S R,这可 以用Internet Service Manager来完成。右击要 为其申请证书的We b站点并选择P r o p e r t i e s,接 着单击Directory Security选项卡,会看到这个 如图2 5 - 6所示的窗口。 可以看到 Secure communications框中的 E d i t按钮是无效的,因为还没有安装任何服务 器证书。单击Server Certificate按钮,运行We b Serrer Certificate Wi z a r d来搜集用于生成 C S R 的信息。 点击“N e x t”,在出现的窗口中,选择C r e a t e a New Certificate。在下一界面中,选择单选按 钮“Prepare the request now, but send it later”。 再点击“N e x t”,你将被要求为C S R提供详细信息。接下来会要求输入公司和 We b站点的信息。 这种信息就是服务器的区别名称( Distinguished Name)。向导将询问以下详细信息: • O rg a n i z a t i o n:该项填写拥有此域名的组织或公司。组织名称(公司、大学、政府机制) 必须是在国家、省、市级权力机关注册的。必须提供组织注册的法定名称。 • Organizational Unit:可以用此项来区别同属一个组织的部门。 • Common Name :这个普通名是完全限定的域名, D N S用它来查找服务器(如 w w w. w r o x . c o m)。浏览器通过该信息标识我们的 We b站点,如果改变我们的主机名,则 需要再申请一份证书。连接到主机的客户浏览器将检测证书的普通名是否与 U R L匹配。 在这个字段中,不能使用通配符( *、?等)、I P地址或端口号,也不能包括 h t t p : / /或 h t t p s : / /。 • C o u n t r y / R e g i o n:在该项中,需输入两个字符的 I S O格式代码,如美国为 U S,意大利为 I T,英国为G B。 • State/Province:必须输入组织所在的州或省。 • City/Lo c a l i t y:填写组织所在的城市。 输入所有必需的信息后,还要输入存储 C S R的文本文件名。然后会有一个界面显示已输 入的所有信息,接着向导会生成密钥对,创建 C S R并存储到刚指定的文件中。点击 F i n i s h按钮 便完成了该过程。 (2) 申请证书 现在可以连接到Verisign We b站点进行注册。地址是 h t t p : / / w w w. v e r i s i g n . c o m。在主页中, 按照链接找到在线注册窗体并输入所需信息。要输入 C S R,须先用N o t e p a d之类的文本编辑器 打开 C S R文件并复制 C S R,包括 BEGIN NEW CERT I F I C ATE REQUEST 和 END NEW C E RT I F I C ATE REQUEST两行,再粘贴到窗体中,如图 2 5 - 7所示。 输入我们的组织的联系人和酬金。 (3) 等待确认 在提出申请后,要等待证实通知。会收到一封证实注册的电子邮件,该邮件包括个人识 764计计ASP 3 高级编程 下载 图25-6 站点的Diretory Serurity 选项卡