`
airfans
  • 浏览: 125737 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

AIR1.5.3 新功能详解

阅读更多
    AIR1.5.3 中最主要的一个功能变化是关于文件publisherid。在以往的版本中,该文件位于<APPDIR>/META‐INF/AIR 目录下。在1.5.3 中,出于安全考虑以及更加方便的适应不断变化的数字签名机制,该文件被移除了。
    为了弄清楚为什么要移除该文件,我们来介绍一些必要的背景知识。
    这里,我们用一些通俗易懂的语言来帮助你快速理解。publisherid 是什么?简单讲,AIR publisherid 是一个字符串,是使用SHA1 安全哈希算法(Secure Hash Algorithm),根据一些必要的信息,例如ApplicationID,认证信息等等生成的一个字符串来唯一标识该应用。
    publisherid 有什么用?在1.5.3 以前的版本中,当某应用发布新版本后,对于已安装的老版本,它会验证两个版本的publisherid 是否相同。如果相同的话,则允许升级安装,即弹出
升级安装窗口, 否则会弹出全新安装窗口。另外, 在Encrypted Local Store(ELS) ,
LocalConnection,Local Storage,In‐Browser API 中都会用到publisherid 来识别该应用。
为什么要移除它?在功能设计的初期,考虑到一个根认证一般的有效期是20 年,所以一般的假设是在这个期间内认证信息不会变化。但是随着安全机制的不断提高,考虑到未来的发展变化,各个认证机构一定会使用更长的密钥来进行认证信息的验证,也就是说,不久的将来用户的认证信息一定会相应的发生变化。在这种情况下,继续使用这种显式的字符串匹配的方式一定会给安全性以及兼容性带来问题。移除以后是不是就不验证了?当然不是了。只不过由publisher ID 换成了application ID 作为唯一标识。同时<publisherID>是一个可选项。当<publisherID>被显式的声明后,其依然是首选认证及识别标识。这个新功能对新老用户的影响是什么?对于新用户,既1.5.3 之后的新应用,开发者无需考虑<publisherID>相关的事项。保留该项作为可选项是为了兼容老用户,既1.5.3 以前的版本。

    下面,我们来看几个例子,可以帮助大家更好的理解。

示例<1> <publisherID>是1.5.3 新添加的项,使用以前的namespace 会报错。
<application xmlns="http://ns.adobe.com/air/application/1.5.2">

<publisherID>4875E02D9FB21EE389F73B8D1702B320485DF8CE.1</publisherID>

C:\release153\bin\adt ‐package ‐storetype pkcs12 ‐keystore c:\air.pfx ‐storepass none test.air
app_152.xml adt_test.swf
C: ……\app_152.xml(10): error 103: application.publisherID is an unexpected element/attribute
将1.5.2 改成1.5.3 就没有问题了,可成功生成test.air,并安装运行。

<application xmlns="http://ns.adobe.com/air/application/1.5.3">



示例<2>应用升级
先使用1.5.2 做出一个air 包, 其PublisherID:
A24AE7371968A99C8CAB9AD66023B8A93F9A9313.1
使用1.5.3 namespace,并且显式定义<publisherID>
<application xmlns="http://ns.adobe.com/air/application/1.5.3">

<publisherID>A24AE7371968A99C8CAB9AD66023B8A93F9A9313.1</publisherID>
可以看到一个升级安装的窗口



如果不显示定义<publisherID>,会是什么样子?




这个窗口的出现代表AIR 认为这是一个新的应用。
示例<3>认证更新
当一个认证即将过期,续订了同一厂家的证书之后,会出现什么情况呢?
AIR APP v1 AIR APP v2 结果
NameSpace < 1.5.3 NameSpace < 1.5.3 出现替换窗口
NameSpace = 1.5.3 NameSpace = 1.5.3 出现替换窗口
NameSpace < 1.5.3 NameSpace = 1.5.3并且定义<PublisherID>与前一版本相同 出现替换窗口
NameSpace < 1.5.3 NameSpace = 1.5.3 未定义<PublisherID> 出现安装窗口


示例<4>认证迁移
已经安装了旧版本的AIR 应用,现在准备发布该应用的升级版本,并且使用新的(不同厂家
的)证书。
如果只是使用新的证书打包AIR 程序,将出现无法安装的结果。




这种情况下,当使用新的证书打包后,需要使用旧的证书进行迁移,例如:
旧版本安装包,namespace=1.5.2,使用air.pfx 证书。
C:\adt ‐package ‐storetype pkcs12 ‐keystore c:\air.pfx ‐storepass none test.air
publisherID\app_152.xml adt_test.swf
新版本安装包,namespace=1.5.3,使用eboda_crl_http_good.pfx 证书
C:\adt ‐package ‐storetype pkcs12 ‐keystore c:\eboda_crl_http_good.pfx ‐storepass no
ne test1531.air publisherID\app_153.xml adt_test.swf(直接安装test1531.air 将看到上面的结果)再使用旧证书迁移C:\adt ‐migrate ‐storetype pkcs12 ‐keystore c:\air.pfx ‐storepass none
test1531.air test1532.air
安装test1532.air 即可看到更新窗口



还有一件重要的事情。为了使用户平稳安全的过渡到1.5.3 及更高版本,在旧证书过期6 个
月之内,ADOBE 允许继续使用旧证书进行迁移。超过6 个月,则打包AIR 程序无法成功安装。

--胖哥
  • 大小: 16.3 KB
  • 大小: 29.2 KB
  • 大小: 13.6 KB
  • 大小: 12.9 KB
  • 大小: 16.3 KB
0
0
分享到:
评论

相关推荐

    jspdf_1.5.3.zip

    **jsPDF 1.5.3 知识点详解** jsPDF 是一款强大的JavaScript库,专为在浏览器环境中生成PDF文档而设计。这个库利用HTML5的一些特性,使得开发者可以在客户端实现PDF文件的创建和编辑,无需服务器端的干预。在版本...

    unity Amplify Shader 1.5.3 最新版本

    Unity Amplify Shader Editor 1.5.3 版本是这个工具的最新更新,可能包含了性能优化、新功能、改进的稳定性和错误修复。这个版本可能是针对Unity引擎的多个版本进行兼容性优化,确保在不同的项目中都能流畅运行。 1...

    java 3d 1.5.3最新版本+doc+src+范例

    java 3d 1.5.3最新版本+doc+src+范例 嘿嘿,你决对找不到的。最新版本jar。 加我qq交流啊。315039973

    shiro1.5.3

    使用这个版本,你可以确保获取到最新的安全特性,同时也要注意,升级版本可能需要对之前的代码进行调整以适应新版本的API变化。 在实际使用中,你需要根据项目需求配置Shiro的相关组件,例如创建安全配置类,定义 ...

    Beta 1.5.3.zip

    例如,Beta 1.5.3可能引入了新的生物种类,或者增强了某些现有生物的行为。此外,游戏世界的多样性也可能得到了扩展,比如新增了地形生成、洞穴系统的变化,或者增加了新的矿石和资源。同时,开发者可能对游戏的界面...

    evasi0n 1.5.3

    【evasi0n 1.5.3:完美越狱工具详解】 evasi0n 1.5.3 是一款针对iOS设备的著名越狱工具,它为用户提供了简单易用的界面,使非技术人员也能轻松实现对苹果设备的越狱。越狱是指通过特定的技术手段绕过苹果公司的软件...

    aspectjrt-1.5.3-javadoc.jar.zip

    《AspectJRT 1.5.3 文档API详解及应用》 AspectJRT,全称为AspectJ Runtime,是AspectJ框架的核心组成部分,主要用于在Java应用程序中实现面向切面编程(AOP)。这个版本——1.5.3,提供了一个详尽的Javadoc文档,...

    sbt-1.5.3.zip

    这是一个重要的版本更新,可能包含性能优化、新功能、错误修复以及对先前版本的改进。1.x系列是SBT的主要稳定分支,因此1.5.3是许多Scala开发者选择的版本。 安装SBT-1.5.3: 1. 首先,解压下载的“sbt-1.5.3.zip”...

    Air_Display_1.5.3.apk

    Air_Display安卓版本 使用手机或安卓平板电脑作为Mac OS或windows的第二显示器 里面有安装教程,要再下载一个在PC客户端

    jquery-easyui-1.5.3

    《jQuery EasyUI 1.5.3:构建高效前端应用的框架详解》 jQuery EasyUI 是一个基于 jQuery 的轻量级、高效的前端开发框架,它为开发者提供了丰富的组件和便捷的API,使得创建用户界面变得极其简单。在版本 1.5.3 中...

    qemu-1.5.3

    4. 新特性和功能:可能增加了新的虚拟化特性,比如对新硬件的支持,或者引入了新的管理工具和API接口。 5. 安全性改进:修复安全漏洞,提高虚拟化环境的安全性。 在解压的"qemu-1.5.3"文件中,用户可以找到QEMU源...

    TortoiseSVN-1.5.3中文包

    TortoiseSVN-1.5.3中文包

    asm-1.5.3.jar

    asm-1.5.3 hibernate 必须包

    傻丫头1.5.3一键安装自动激活版

    通常,软件的更新迭代会修复已知问题,优化性能,增加新功能,因此1.5.3版可能包含了前一版本的改进和新特性,以提升用户体验。 在【压缩包子文件的文件名称列表】中: 1. **sayatooINSTALL.exe**:这是傻丫头...

    iFoto相册 1.5.3.zip

    它充分利用了CSS(层叠样式表)来实现美观的界面布局,并依赖GD2库来处理图像,提供图片显示、上传和管理功能。在不使用MySQL等数据库的情况下,iFoto相册依然能实现高效的照片存储和访问,这降低了系统的复杂性,...

    swagger-models-1.5.3-API文档-中英对照版.zip

    赠送jar包:swagger-models-1.5.3.jar; 赠送原API文档:swagger-models-1.5.3-javadoc.jar; 赠送源代码:swagger-models-1.5.3-sources.jar; 赠送Maven依赖信息文件:swagger-models-1.5.3.pom; 包含翻译后的API...

    angular-1.5.3

    在Angular 1.5.3中,这一功能得到了优化,确保了在复杂应用场景下的高效性和准确性。 2. **依赖注入**:AngularJS 提供了一个强大的依赖注入(DI)系统,它自动管理对象的创建和依赖关系。在1.5.3版本中,依赖注入...

    TortoiseSVN-1.5.3中文版

    这里,我们将深入探讨TortoiseSVN的核心功能、主要特点以及如何利用1.5.3中文版进行有效的工作。 TortoiseSVN的核心在于它与Windows资源管理器的深度集成,使得用户可以直接在文件和文件夹上执行版本控制操作,如...

    jquery-easyui-1.5.3源代码(未压缩)

    《jQuery EasyUI 1.5.3源代码详解——深入理解与学习》 在Web开发领域,jQuery EasyUI是一款广泛使用的轻量级JavaScript框架,它基于jQuery,为开发者提供了丰富的UI组件,使得网页界面的构建变得简单高效。本文将...

Global site tag (gtag.js) - Google Analytics