Microsoft Updater Application Block 1.4.3 KeyValidator类设计 [翻译]
来源:互联网 发布:我的第一本淘宝开店书 编辑:程序博客网 时间:2024/06/06 02:55
Microsoft Updater Application Block KeyValidator类设计
译者:Tony Qu
KeyValidator类提供一个基于对称密钥的验证器,该章节将介绍KeyValidator设计的以下几个方面:
问题描述
设计目标、权衡和问题
解决方案描述
具体实现
问题描述
一个通常使用的验证方法是使用对称密钥进行签名和验证数据。为了支持这项技术,必须实现一个基于对称密钥的验证器。
设计目标、权衡和问题
1. KeyValidator应该支持由.net的KeyedHashAlgorithm类支持的对称密钥。
2. 开发人员应该能够在应用程序升级器的配置文件中指定密钥,该密钥应该用base64字符串存储。如果没有密钥被指定,KeyValidator会抛出一个异常。
解决方案描述
KeyValidator类派生自IValidator接口,它使用.net的KeyedHashAlgorithm类基于一个对称密钥生成和验证签名。
具体实现
KeyValidator类由Microsoft.ApplicationBlocks.ApplicationUpdater.Validators命名空间实现。
实现KeyValidator需要考虑四个方面:
1. 密钥初始化
2. 签名
3. 验证
4. KeyValidator配置
密钥初始化
1. Init方法用于从应用程序升级器配置文件传递元素给KeyValidator类。该元素应该包含子元素,该元素中以base64字符串存储密钥。元素用于初始化验证密钥,该初始化过程代码在下面的代码片断中。
[VB.NET]
译者:Tony Qu
KeyValidator类提供一个基于对称密钥的验证器,该章节将介绍KeyValidator设计的以下几个方面:
问题描述
设计目标、权衡和问题
解决方案描述
具体实现
问题描述
一个通常使用的验证方法是使用对称密钥进行签名和验证数据。为了支持这项技术,必须实现一个基于对称密钥的验证器。
设计目标、权衡和问题
1. KeyValidator应该支持由.net的KeyedHashAlgorithm类支持的对称密钥。
2. 开发人员应该能够在应用程序升级器的配置文件中指定密钥,该密钥应该用base64字符串存储。如果没有密钥被指定,KeyValidator会抛出一个异常。
解决方案描述
KeyValidator类派生自IValidator接口,它使用.net的KeyedHashAlgorithm类基于一个对称密钥生成和验证签名。
具体实现
KeyValidator类由Microsoft.ApplicationBlocks.ApplicationUpdater.Validators命名空间实现。
实现KeyValidator需要考虑四个方面:
1. 密钥初始化
2. 签名
3. 验证
4. KeyValidator配置
密钥初始化
1. Init方法用于从应用程序升级器配置文件传递
[VB.NET]
Sub Init()Sub Init (ByVal config As XmlNode) Implements IValidator.Init
Dim keyNode As XmlNode = config.SelectSingleNode( "key" )
_key = ExtractKeyFromNode (keyNode)
If _key Is Nothing Then
'Throw a cryptographic exception
End If
End Sub
Dim keyNode As XmlNode = config.SelectSingleNode( "key" )
_key = ExtractKeyFromNode (keyNode)
If _key Is Nothing Then
'Throw a cryptographic exception
End If
End Sub
- Microsoft Updater Application Block 1.4.3 KeyValidator类设计 [翻译]
- Microsoft Updater Application Block 1.4.3 KeyValidator类设计 [翻译]
- Microsoft Updater Application Block KeyValidator类设计
- Microsoft Updater Application Block 1.3.3 BITSDownloader类设计 [翻译]
- Microsoft Updater Application Block 1.3.3 BITSDownloader类设计 [翻译]
- Microsoft Updater Application Block 1.4.2 IValidator接口设计 [翻译]
- Microsoft Updater Application Block 1.4.1 验证器设计 [翻译]
- Microsoft Updater Application Block 1.4.2 IValidator接口设计 [翻译]
- Microsoft Updater Application Block 1.4.1 验证器设计 [翻译]
- Microsoft Updater Application Block 1.3.3 BITSDownloader类设计
- Microsoft Updater Application Block 1.3.2 IDownloader接口设计 [翻译]
- Microsoft Updater Application Block 1.3.1 下载器设计 [翻译]
- Microsoft Updater Application Block 1.2.2 ApplicationUpdater assembly设计 [翻译]
- Microsoft Updater Application Block 1.1 设计篇 [翻译]
- Microsoft Updater Application Block 1.3.2 IDownloader接口设计 [翻译]
- Microsoft Updater Application Block 1.3.1 下载器设计 [翻译]
- Microsoft Updater Application Block 1.2.2 ApplicationUpdater assembly设计 [翻译]
- Microsoft Updater Application Block 1.1 设计篇 [翻译]
- 《Java Web程序设计基础教程》目录
- Google正在测试新的Adsense样式暨谷歌输入法即将发布!
- 《给初学者的Windows Vista的补遗手册》之055
- 《给初学者的Windows Vista的补遗手册》之054
- Vista Start Menu v2.21简体中文语言文件新鲜出炉!
- Microsoft Updater Application Block 1.4.3 KeyValidator类设计 [翻译]
- IE6断头台问题
- 《给初学者的Windows Vista的补遗手册》之053
- 《给初学者的Windows Vista的补遗手册》之052
- 《给初学者的Windows Vista的补遗手册》之051
- 《给初学者的Windows Vista的补遗手册》之050
- 《给初学者的Windows Vista的补遗手册》之049
- 《给初学者的Windows Vista的补遗手册》之048
- 《给初学者的Windows Vista的补遗手册》之047