CardSpace使用指南:从添加卡片到创建安全网站
立即解锁
发布时间: 2025-08-24 01:27:27 阅读量: 1 订阅数: 3 

### CardSpace使用指南:从添加卡片到创建安全网站
#### 1. 初次使用CardSpace
首次使用CardSpace时,你可能会看到类似图10 - 2的设置界面。此时你的钱包里没有卡片,但你可以添加一张新的自签名卡片,或者从受管理的提供商处导入一张卡片。
#### 2. 向CardSpace钱包添加新卡片
若要向CardSpace钱包添加新卡片,可按以下步骤操作:
1. 点击“添加卡片”图标(如果你使用的是XP系统,则点击“创建新卡片”)。此时你将进入向导的下一步,在这里你可以选择创建个人卡片或安装受管理的卡片(见图10 - 3)。
2. 选择“创建个人卡片”选项,你将进入“编辑新卡片”屏幕。在这个屏幕中,你可以输入个人详细信息。你可以根据需要选择填写多个或少量信息项。不同的网站可能需要不同的信息集,但提供哪些信息由你自己决定(见图10 - 4)。
3. 完成卡片信息填写后,保存卡片。向导将带你回到CardSpace屏幕,此时你新添加的卡片将显示出来。此后,当你访问需要卡片的网站时,就可以从这里选择并发送卡片。
#### 3. 在网页上使用卡片
当你访问需要使用卡片传递凭证的网站时,CardSpace应用程序会自动启动,并要求你选择要使用的卡片。不同的网站有不同的要求,信息越敏感,所需的卡片安全性就越高。例如,银行和经纪网站的安全需求与简单的社交网络网站不同,它们可能需要由可信机构颁发的受管理卡片。在这个简单的示例中,你在前面步骤中创建的个人卡片就足够了。
下面以一个简单的网站为例,介绍在网页上使用卡片的具体步骤:
1. 访问一个需要使用CardSpace卡片登录的简单网站(见图10 - 5)。
2. 如果你直接点击“立即登录!”按钮尝试访问受保护的内容,会收到错误提示,因为在你点击“使用卡片!”按钮之前,没有关联任何卡片。
3. 点击“使用卡片!”按钮,页面将调用CardSpace管理器,要求你选择一张卡片(见图10 - 6)。屏幕顶部会列出你之前在该网站使用过的卡片,方便你选择。右侧的任务窗格还提供了有用的工具和帮助信息,包括应该发送哪些卡片。
4. 选择卡片后,点击“预览”,你可以查看该卡片的详细信息,包括网站从卡片中请求的信息(见图10 - 7)。如图所示,网站要求提供名字、姓氏、电子邮件地址和卡片ID。如果这些字段未填写,CardSpace将不允许你将卡片发送到服务器(“发送”按钮将被禁用)。
5. 点击“发送”按钮,将卡片发送到网站。然后你可以点击“立即登录!”按钮,将卡片的凭证发送到登录页面(见图10 - 8)。需要注意的是,这只是将你的身份凭证传递给网站。在大多数情况下,网站会将这些凭证映射到其账户存储中,并根据匹配结果识别你(或不识别)。
#### 4. 创建使用CardSpace的网站
前面的示例展示了网站如何在客户端使用CardSpace请求和接收客户端凭证。接下来,我们将详细介绍如何构建一个使用CardSpace的网站,并在IIS上运行它。虽然CardSpace可以在IIS 5、6和7上运行,但本教程将演示如何在IIS 7上安装证书。
##### 4.1 准备CardSpace开发环境
在有效使用CardSpace之前,需要对开发环境进行一些配置:
1. 确保已安装Windows SDK。
2. 在Windows SDK的示例目录中找到WCFSamples.zip文件。在该文件中,你会找到包含CardSpace示例的技术示例文件夹。
3. 查看UsingCardSpacewithIE7示例(注意,CardSpace不支持早期版本的Internet Explorer),并使用记事本打开setup.bat文件进行检查。每个CardSpace示例都使用类似的设置,并且都遵循以下四个步骤。执行setup.bat文件来安装示例,下面将详细介绍它如何在服务器上设置CardSpace。
##### 4.2 具体设置步骤
1. **注册CAPICOM.dll**:批处理文件应该会为你注册CAPICOM.dll。但在某些系统上可能会失败,如果你在安装CardSpace示例时遇到问题,可以手动注册。具体操作是切换到Windows SDK目录下的Bin文件夹,并在DOS提示符下执行以下命令:
```
Regsvr32 /s capicom.dll
```
使用 /s 参数可以进行静默安装,不会显示各种状态更新信息。CAPICOM.dll是CAPICOM安全层的实现,它允许轻松将安全、数字签名和加密功能集成到网页中。它是Windows SDK的一部分,可在Bin目录中找到。它为Microsoft CryptoAPI提供了一个COM接口,并公开了一组函数,方便将数字签名和加密功能集成到你的程序中。它支持智能卡、软件密钥、数字签名数据验证、证书等功能。
2. **安装证书**:批处理文件的下一个功能是安装证书,这些证书是使网站在浏览器中通过HTTPS进行身份验证和信任所必需的。这一操作由install - certificates.vbs脚本完成。SDK附带了四个示例证书,分别用于以下URL:
- https://www.contoso.com
- https://www.fabrikam.com
- https://www.woodgrovebank.com
- https://www.adatum.com
当你浏览网站时,证书必须与网站匹配。例如,如果你访问http://localhost,而它使用的是https://www.contoso.com颁发的证书,浏览器会显示错误信息。这提供了两级安全保护:
- 第一级:Internet Explorer会显示一个阻止页面,告知你证书存在问题(见图10 - 9)。
- 第二级:如果你决定继续访问该网站,地址栏会变为红色,并突出显示证书错误(见图10 - 10)。为避免在你的机器上出现这些问题,请进行下一步操作。
3. **编辑hosts文件**:设置脚本的下一步是编辑你的hosts文件。Internet Explorer会将浏览器地址栏中的域名与证书中的域名进行匹配。如果不匹配,就会出现前面提到的错误。在设置开发环境时,你通常会在localhost上托管应用程序,这与证书不匹配。但Windows提供了一种方法,允许你将IP地址映射到域名(绕过DNS),即通过编辑hosts文件来实现。该文件位于Windows\System32\drivers\etc目录下,文件名为hosts(无扩展名)。你可以使用记事本打开它进行检查。其结构非常简单:一个IP地址,后面至少跟一个空格,然后是域名,还可以有一个用#表示的可选注释。默认的hosts设置可能如下所示:
```
127.0.0.1 localhost
::1 localhost
```
示例安装程序会将adatum.com、contoso.com、fabrikam.com和woodgrovebank.com网站添加到hosts文件中,并将它们映射到127.0.0.1(即你的机器)。脚本执行完成后,你的hosts文件可能如下所示:
```
127.0.0.1 localhost
::1 localhost
127.0.0.1 www.adatum.com
127.0.0.1 adatum.com
127.0.0.1 www.contoso.com
127.0.0.1 contoso.com
127.0.0.1 www.fabrikam.com
127.0.0.1 fabrikam.com
127.0.0.1 www.woodgrovebank.com
127.0.0.1 woodgrovebank.com
```
这样,当浏览器被指示访问www.fabrikam.com时,它会绕过DNS,将127.0.0.1视为该域名的服务器。此时,浏览器会将URL上的域名与证书上的域名进行匹配,你就可以安全地访问该网站了。需要注意的是,由于hosts文件可以用于绕过DNS,并且可能会误导用户认为他们正在访问一个网站而实际上是另一个网站,因此它受到Windows的保护,需要管理员权限才能编辑。此外,你应该定期检查hosts文件,确保它没有被劫持。
4. **安装网站**:最后一步非常简单,根据你要安装的示例集,它会创建一个虚拟网站,将IIS映射到包含网站内容的目录,这样你就可以通过http://localhost/samplename访问该网站。
下面是创建CardSpace网站的流程:
```mermaid
graph LR
A[准备开发环境] --> B[注册CAPICOM.dll]
B --> C[安装证书]
C --> D[编辑hosts文件]
D --> E[安装网站]
```
#### 5. 创建自己的
0
0
复制全文
相关推荐









