技术点滴
来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/archive.php?id=6601 存档链接: https://web.archive.org/web/20041109115840id_/http://www.blogbus.com:80/blogbus/blog/archive.php?id=6601
技术点滴 2004/07/02 到 2004/08/03 几年的软件研发做下来,接触的技术,零零碎碎加起来,居然手指不够数了。不少东西,是帮工程部门解决完就扔一旁。弃之可惜,何不借这网络一角,留下一点记忆?遂有此Blog。 Flash的一些消息/资源
2004-07-30 15:52 好久没关注Flash方面的内容了,今天有点懒洋洋提不起劲,于是到luar、7yue、kyle、danger的站去转了一圈,收获如下: 1、Flash MX 2004 Updater 2( http://www.macromedia.com/software/flash/special/7_2updater/ )推出 2、7yue( http://www.7yue.com/ )复出,不过已经不再像以前那样提供资料下载了,挺遗憾的,不过这样也好吧。 3、从7yue那里刮到一个Flex Sample的网站( http://coenraets.com/samples.jsp ),做得相当不错,里边还有个BlogReander( http://coenraets.com/apps/load.jsp?app=blogreader/blogreader )。只是不管7yue再怎么鼓动如簧之舌,钱就是钱,一日不降价,一日不会建议客户使用。 4、For AS2的Flash Remoting组件( http://www.macromedia.com/software/flashremoting/downloads/components/ )出来了,而且看来在非英文版本上装也不用作乾坤大挪移了。( http://www.macromedia.com/support/flash_remoting/ts/documents/nonenglish_remoting.htm?rss_flash_remoting_19140 )。这个好,我以前用AS1写虽然也没问题,但实在有点别扭,不过最近还没时间去试用,到时再说吧。Kyle写了一篇Remoting新旧版变革( http://kyle.jolin.info/blog/index.cfm?data=20040422#11E55701-C6E6-FCF8-34C805D0832E619C ),用代码说话,很清楚。 5、DRK8( http://www.macromedia.com/software/drk/productinfo/product_overview/volume8/ )出来了,不过Danger的评价是:越来越差。看了看,Flash相关的有四个Color Picker Component 、Formatting Library 、Timeline Effects 、Book Excerpts,只有前两个是组件,那个Formatting Library我一直觉得如果要做企业应用的话,还是自己开发一套算了。 最后,在luar的站上有一个关于OO的笑话,嗯,我想他们平时是被批评得多了,有点郁闷吧。不过,己所不欲的事…… Post by linrun @ 15:52 bosoo的统计有点问题
2004-07-30 11:34 上周又增加了一个反向链接,是用 http://www.downes.ca/referrers.htm 提供的服务。主要是对 bosoo 的统计数字有点疑惑,我这里一天的访问量也就200上下, bosoo 却显示有来自 google 和 bosoo 的加起来就有1000多,而且还不断增加,哪有这种可能。今天看了看,果然 downes.ca 的统计和bus的统计是比较一致, bosoo 的就有点问题了。 于是又试验了一下,从独角兽那边连过来, bosoo 和 downes.ca 都立刻记录到了这个链接并显示了出来,不同的是, bosoo 的统计居然是6次,而 downes.ca 的才是正确的1次。明显是 bosoo 没有把旧数据清零。 无责任猜想:是不是 bosoo 的搜索需要累计数据,所以修改了算法,保留24小时前的数据,但改的时候误把这个数据也列为计算项? 另外,觉得 downes.ca 有一点比较好,它不完全用域名做过滤,记录了更多的url信息,比如: http://www.booso.com/junit%20 学习笔记。当然,这种连接一多,页面会变得非常杂乱,那就不如 bosoo 目前的处理了。 Post by linrun @ 11:34 几个与JORAM相关的中文资料
2004-07-30 10:23 刚刚兴起,查了查JORAM中文方面有没有什么资料,结果只找到了很少的一点东西,放在这里吧: WebScope小组Shirley写的JORAM产品分析―― http://webscope.cosoft.org.cn/group-tech/JORAM.htm ObjectWeb Chinese Project翻译的一篇文档―― http://zh.objectweb.org/JORAM/gb/joram3_4_SAMPLES-cn.pdf huihoo的founder_chen在说明JMS middleware时有对JORAM做一个介绍―― http://www.huihoo.org/jfox/jfoxmq/jfoxmq20030821.txt Post by linrun @ 10:23 反向链接的原理
2004-07-27 17:30 为了把那篇又臭又长又妨碍打开主页的blog顶下去,写个充数的。 碧城仙在问6e反向链接是怎么实现的,不知啥时候6e才会看得到,我试着答复一下吧。 实际,当你从一个页面A连接到另一个页面B时,有一些客户端的信息是会传递出去的,比如:你的浏览器名称、A页面的URL。反向链接说穿了,就是取得这个被传递出去的A页面的URL,并记录下来,最终形成了一份统计记录。 这个“A页面的URL”,应该是环境变量HTTP-REFERER,在php/asp/jsp都有途径获得这个变量。 比如―― asp: Request.ServerVariables("HTTP_REFERER") jsp: Request.getHeaders("Referer").nextElement(); 没试验过(汗),不过应该可以。 Post by linrun @ 17:30 GMail里的邮件能否永久删除
2004-07-27 08:53 碧城仙说:yahoo几分钟前刚刚推出了1GB的邮箱,比Gmail要实用,因为允许删除! 先不管yahoo那块,只说GMail是否允许删除。答案是:允许的,只不过这项功能略有点隐蔽,所以很容易让人误会没有这项功能。 要在GMail里删除邮件,步骤如下: 1、将待删除的邮件通过More actions执行Move to Trash,这样邮件就被移到Trash文件夹 2、在进入Trash文件夹,在这个页面的More actions里,最后的一项就是――Delete forever 接下来的事就不用我说了吧^^ 2004.08.01补充 看起来gmail开发组也已经意识到这个问题,今天进去一看,delete forever的选项从More actions移到外边来了^^ Post by linrun @ 08:53 Gmail附件的问题
2004-07-26 10:36 关于GMail邮件中的附件,大家可能遇到过这样的情况;收到或发出的附件a.txt,其文件名变成download或其他胡乱的字符组合。这应该还是因为gmail对双字节字符支持不完善造成的。对于接收,我们没办法控制;对于发送,还可以改善一下,那就是不要把附件放在带中文名的目录里发送。 比如,你的附件原本位于c:\测试\a.txt,那么,你要将其作为附件发送的话,最好把它移到c:\a.txt去,这样一般就没问题了。 当然,更土的方法是这样:在邮件里说明原来的文件名是什么,让收的人下载完后把文件名改回来。 希望gmail早点完善。 Post by linrun @ 10:36 无法访问GMail
2004-07-22 11:37 这几天都上不了GMail,一天两天倒也没什么感觉,测试阶段嘛;但连续一周都不行,难免就有点疑惑了。于是查了一下,结果发现GMail方面根本没问题,只是“在中国”很难访问到而已。还好,找到一个解决的办法: 1、在IE的 工具->Internet选项->高级,将“使用TLS 1.0”选上; 2、从 https://gmail.google.com/gmail 访问。 如果你用MyIE的话,得重启动一下MyIE才行。 不过我不知道这个方法能维持多久。国外没有人需要用这种方法,意味着我们的客户端是没有问题的;GMail的服务器也是没问题的。当服务端和客户端都没问题却不能正常连通的时候,你倒说说,到底问题出在哪里? ――我每个月纳税就是为了雇人来封锁我的吗?:( Post by linrun @ 11:37 每逢感冒思美食
2004-07-20 22:58 感冒了,颇难受。 想访问“梅子的写食日记”――没得吃看看也好的,结果还是访问不上。Blogcn这一次的“升级”只能用失败来形容,足足一个星期啊,其他blog站应该引以为戒的说。 难受,不写了。 Post by linrun @ 22:58 翻出一份两年前的笔记
2004-07-19 10:45 又好几天没写blog了,怪不像话的。不过最近在做的工作不想拿出来谈,技术无关的话题不在这里谈,一时还不真知该写点什么的好。翻翻硬盘,找到一份两年前学习PKI/CA的笔记,都是摘录,不过,拼凑这么长也不是一件容易的事,放在这充充数吧。这份文档最后的修改时间是2002-7-22 9:44,过得也真是快。 №什么是CA? ¤CA是Certificate Authority的缩写,通常翻译成认证权威或者认证中心,主要用途是为用户发放数字证书。这个数字证书包含了用户身份的部分信息及用户所持有的公钥,同时利用CA本身的私钥为数字证书加上数字签名,其他用户只要能验证证书是真实的,并且信任颁发证书的认证中心,就可以确认用户身份,完成认证工作。 ¤CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户名称与证书中列出的公开密钥相对应。CA中心的数字签名使得攻击者不能伪造和篡改数字证书。
№为什么要使用CA? ¤为了使PKI的业务能够广泛应用,一个基本而关键的问题是公钥的分发与管理。由此引发出了某一公钥究竟属于谁的问题,它必须是由一个公众都信赖的权威机构进行认证,否则整个业务体系都将出现致命的安全漏洞。目前国际上通用的解决办法就是建立证书签证机关(Certificate Authority,即CA),由CA对公钥进行统一的管理并将公钥以公钥证书的形式对外分发。
№CA的功能? ¤参考TongCA的功能 1、生成、撤销、更新证书。 2、发行证书和黑名单到目录服务器。 3、维护证书和黑名单数据库。 4、生成和维护自己的密钥:为了安全起见,CA目前的密钥(?)是CA自己生成的,并加密保存到具有超级用户权限的目录中。 5、维护审计日志。 6、增加、删除本级RA:由CA操作员来完成。 7、保证CA、RA和目录服务器三者数据内容的一致性。 ¤概括地说,认证中心(CA)的功能有:证书发放、证书更新、证书撤销和证书验证。CA的核心功能就是发放和管理数字证书,具体描述如下: (1)接收验证最终用户数字证书的申请。 (2)确定是否接受最终用户数字证书的申请-证书的审批。 (3)向申请者颁发、拒绝颁发数字证书-证书的发放。 (4)接收、处理最终用户的数字证书更新请求-证书的更新。 (5)接收最终用户数字证书的查询、撤销。 (6)产生和发布证书废止列表(CRL)。 (7)数字证书的归档。 (8)密钥归档。 (9)历史数据归档。 认证中心为了实现其功能,主要由以下三部分组成: 注册服务器:通过 Web Server 建立的站点,可为客户提供每日24小时的服务。因此客户可在自己方便的时候在网上提出证书申请和填写相应的证书申请表,免去了排队等候等烦恼。 证书申请受理和审核机构:负责证书的申请和审核。它的主要功能是接受客户证书申请并进行审核。 认证中心服务器:是数字证书生成、发放的运行实体,同时提供发放证书的管理、证书废止列表(CRL)的生成和处理等服务。
№目前CA认证系统都由哪几部分组成?各部分都具有什么功能? ¤目前CA认证系统主要由以下三部分组成:在客户端面向证书用户的数字证书申请、查询和下载系统;在RA端由RA管理员对证书申请进行审批的证书授权系统;在CA控制台,签发用户证书的证书签发系统。
№什么是数字证书? ¤是由证书签证机关(CA)签发的对用户的公钥的认证。因此,证书的内容应包括CA的信息、用户信息、用户公钥及CA签发时间及有效期等内容。目前国际上对证书的格式及认证方法遵从X.509体系标准。 ¤数字证书实际上是一份电子文档 ¤数字证书是一段包含用户身份信息、用户公钥信息以及身份验证机构数字签名的数据。身份验证机构的数字签名可以确保证书信息的真实性。证书格式及证书内容遵循X.509标准。 ¤数字证书又称为数字标识(Digital Certificate,Digital ID)。它提供了一种在Internet上身份验证的方式,是用来标志和证明网络通信双方身份的数字信息文件,与司机驾照或日常生活中的身份证相似。在网上进行电子商务活动时,交易双方需要使用数字证书来表明自己的身份,并使用数字证书来进行有关的交易操作。通俗地讲,数字证书就是个人或单位在Internet的身份证。数字证书主要包括三方面的内容:证书所有者的信息、证书所有者的公开密钥和证书颁发机构的签名。
№证书里包含了什么? ¤一个标准的X.509数字证书包含以下一些内容: 证书的版本信息; 证书的序列号,每个证书都有一个唯一的证书序列号; 证书所使用的签名算法; 证书的发行机构名称,命名规则一般采用X.500格式; 证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049; 证书所有人的名称,命名规则一般采用X.500格式; 证书所有人的公开密钥; 证书发行者对证书的签名。
№数字证书能解决什么问题? 在使用数字证书的过程中应用公开密钥加密技术,建立起一套严密的身份认证系统,它能够保证: ? 信息除发送方和接受方外不被其他人窃取; ? 信息在传输过程中不被篡改; ? 接收方能够通过数字证书来确认发送方的身份; ? 发送方对于自己发送的信息不能抵赖。 以电子邮件为例,数字证书主要可以解决: ? 保密性:通过使用发件人的数字证书对电子邮件加密,只有收件人才能阅读加密的邮件,这样保证在Internet上传递的电子邮件信息不会被他人窃取,即使发错邮件,收件人由于无法解密而不能够看到邮件内容。 ? 完整性:利用发件人数字证书在传送前对电子邮件进行数字签名不仅可确定发件人身份,而且可以判断发送的信息在传递的过程中是否被篡改过。 ? 身份认证:在Internet上传递电子邮件的双方互相不能见面,所以必须有方法确定对方的身份。利用发件人数字证书在传送前对电子邮件进行数字签名即可确定发件人身份,而不是他人冒充的。 ? 不可否认性:发件人的数字证书只有发件人唯一拥有,故发件人利用其数字证书在传送前对电子邮件进行数字签名后,发件人就无法否认发送过此电子邮件。
№数字证书的原理是什么? 数字证书采用PKI(Public Key Infrastructure)公开密钥基础架构技术,利用一对互相匹配的密钥进行加密和解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥),由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,通过数字的手段保证加解密过程是一个不可逆过程,即只有用私有密钥才能解密,这样保证信息安全无误地到达目的地。用户也可以采用自己的私钥对发送信息加以处理,形成数字签名。由于私钥为本人所独有,这样可以确定发送者的身份,防止发送者对发送信息的抵赖性。接收方通过验证签名还可以判断信息是否被篡改过。在公开密钥基础架构技术中,最常用一种算法是RSA算法,其数学原理是将一个大数分解成两个质数的乘积,加密和解密用的是两个不同的密钥。即使已知明文、密文和加密密钥(公开密钥),想要推导出解密密钥(私密密钥),在计算上是不可能的。按现在的计算机技术水平,要破解目前采用的1024位RSA密钥,需要上千年的计算时间。
№数字证书的应用 现有持证人甲向持证人乙传送数字信息,为了保证信息传送的真实性、完整性和不可否认性,需要对要传送的信息进行数字加密和数字签名,其传送过程如下: (1) 甲准备好要传送的数字信息(明文)。 (2) 甲对数字信息进行哈希(hash)运算,得到一个信息摘要。 (3) 甲用自己的私钥(SK)对信息摘要进行加密得到甲的数字签名,并将其附在数字信息上。 (4) 甲随机产生一个加密密钥(DES密钥),并用此密钥对要发送的信息进行加密,形成密文。 (5) 甲用乙的公钥(PK)对刚才随机产生的加密密钥进行加密,将加密后的DES密钥连同密文一起传送给乙。 (6) 乙收到甲传送过来的密文和加过密的DES密钥,先用自己的私钥(SK)对加密的DES密钥进行解密,得到DES密钥。 (7) 乙然后用DES密钥对收到的密文进行解密,得到明文的数字信息,然后将DES密钥抛弃(即DES密钥作废)。 (8) 乙用甲的公钥(PK)对甲的数字签名进行解密,得到信息摘要。 (9) 乙用相同的hash算法对收到的明文再进行一次hash运算,得到一个新的信息摘要。 (10)乙将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。 ? 在(5)处用到的PK,是否来自乙所持有的的数字证书?若是,从何处得到该数字证书?关于此过程的加密解密,是怎样实现? A 如何获得通讯对方的公钥并且相信此公钥是由某个身份确定的人拥有的,这就要用到电子证书。电子证书是由大家共同信任的第三方---认证中心(Certificate Authority,CA)来颁发的,有某人的身份信息、公钥和CA的数字签名。任何一个信任CA的通讯一方,都可以通过验证对方电子证书上的CA数字签名来建立起和对方的信任,并且获得对方的公钥以备使用。
№数字证书的使用 每一个用户有一个各不相同的名字,一个可信的证书认证中心(CA)给每个用户分配一个唯一的名字并签发一个包含名字和用户公开密钥的证书。 如果甲想和乙通信,他首先必须从数据库中取得乙的证书,然后对它进行验证。如果他们使用相同的CA,事情就很简单。甲只需验证乙证书上CA的签名;如果他们使用不同的CA,问题就复杂了。甲必须从CA的树形结构底部开始,从底层CA往上层CA查询,一直追踪到同一个CA为止,找出共同的信任CA。 证书可以存储在网络中的数据库中。用户可以利用网络彼此交换证书。当证书撤销后,它将从证书目录中删除,然而签发此证书的CA仍保留此证书的副本,以备日后解决可能引起的纠纷。 如果用户的密钥或CA的密钥被破坏,从而导致证书的撤销。每一个CA必须保留一个已经撤销但还没有过期的证书废止列表(CRL)。当甲收到一个新证书时,首先应该从证书废止列表(CRL)中检查证书是否已经被撤销。
№数字证书由谁来颁发,如何颁发? 数字证书是由认证中心颁发的。 认证中心是一家能向用户签发数字证书以确认用户身份的管理机构。为了防止数字凭证的伪造,认证中心的公共密钥必须是可靠的,认证中心必须公布其公共密钥或由更高级别的认证中心提供一个电子凭证来证明其公共密钥的有效性,后一种方法导致了多级别认证中心的出现。 数字证书颁发过程如下:用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。
№什么是公钥基础设施PKI(Public Key Infrastructure)? ¤PKI是一种新的安全技术,它由公开密钥密码技术、数字证书、证书发放机构(CA)和关于公开密钥的安全策略等基本成分共同组成的。PKI公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书。主要包括四个部分:X.509格式的证书(X.509 V3)和证书废止列表CRL(X.509 V2);CA/RA操作协议;CA管理协议;CA政策制定。 ¤PKI(公钥基础设施)技术采用证书管理公钥,通过第三方的可信任机构--认证中心CA(Certificate Authority),把用户的公钥和用户的其他标识信息(如名称、e-mail、身份证号等)捆绑在一起,在Internet网上验证用户的身份。目前,通用的办法是采用建立在PKI基础之上的数字证书,通过把要传输的数字信息进行加密和签名,保证信息传输的机密性、真实性、完整性和不可否认性,从而保证信息的安全传输。
№如何和目录服务器一同使用? ¤个人猜测:视乎CA服务器而定
№加密与数字签名 ¤若以公钥加密,用私钥解密,可实现多个用户加密信息,只能由一个用户解读,是用于保密通信;若以私钥加密,用公钥解密,能实现由一个用户加密 的信息而由多个用户解密,是用于数字签名。
№什么是SSL安全协议? SSL安全协议最初是由Netscape Communication公司设计开发的,又叫“安全套接层(Secure Sockets Layer)协议”,主要用于提高应用程序之间数据的安全系数。SSL协议的整个概念可以被总结为:一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及所有TC/IP应用程序。 SSL安全协议主要提供三方面的服务: ・用户和服务器的合法性认证 认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都是有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,安全套接层协议要求在握手交换数据时进行数字认证,以此来确保用户的合法性。 ・加密数据以隐藏被传送的数据 安全套接层协议所采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手情息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别,这样就可以防止非法用户进行破译。 ・保护数据的完整性 安全套接层协议采用Hash函数和机密共享的方法来提供信息的完整性服务,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。 安全套接层协议是一个保证计算机通信安全的协议,对通信对话过程进行安全保护,其实现过程主要经过如下几个阶段: (1)接通阶段:客户机通过网络向服务器打招呼,服务器回应; (2)密码交换阶段:客户机与服务器之间交换双方认可的密码,一般选用RSA密码算法,也有的选用Diffie-Hellmanf和Fortezza-KEA密码算法; (3)会谈密码阶段:客户机器与服务器间产生彼此交谈的会谈密码; (4)检验阶段:客户机检验服务器取得的密码; (5)客户认证阶段:服务器验证客户机的可信度; (6)结束阶段:客户机与服务器之间相互交换结束的信息。 当上述动作完成之后,两者间的资料传送就会加密,另外一方收到资料后,再将编码资料还原。即使盗窃者在网络上取得编码后的资料,如果没有原先编制的密码算法,也不能获得可读的有用资料。 发送时信息用对称密钥加密,对称密钥用非对称算法加密,再把两个包绑在一起传送过去。 接收的过程与发送正好相反,先打开有对称密钥的加密包,再用对称密钥解密。 在电子商务交易过程中,由于有银行参与,按照SSL协议,客户的购买信息首先发往商家,商家再将信息转发银行,银行验证客户信息的合法性后,通知商家付款成功,商家再通知客户购买成功,并将商品寄送客户。 SSL安全协议是国际上最早应用于电子商务的一种网络安全协议,至今仍然有很多网上商店使用。在传统的邮购活动中,客户首先寻找商品信息,然后汇款给商家,商家将商品寄给客户。这里,商家是可以信赖的,所以客户先付款给商家。在电子商务的开始阶段,商家也是担心客户购买后不付款,或使用过期的信用卡,因而希望银行给予认证。SSL安全协议正是在这种背景下产生的。 SSL协议运行的基点是商家对客户信息保密的承诺。但在上述流程中我们也可以注意到,SSL协议有利于商家而不利于客户。客户的信息首先传到商家,商家阅读后再传至(银行,这样,客户资料的安全性便受到威胁。商家认证客户是必要的,但整个过程中,缺少了客户对商家的认证。在电子商务的开始阶段,由于参与电子商务的公司大都是一些大公司,信誉较高,这个问题没有引起人们的重视。随着电子商务参与的厂商迅速增加,对厂商的认证问题越来越突出,SSL协议的缺点完全暴露出来。SSL协议将逐渐被新的电子商务协议(例如SET)所取代。 ¤在通信的初始化阶段,客户方先发出ClientHello消息,服务器方也应返回一个ServerHello消息,这两个消息用来协商双方的安全能力,包括协议版本、会话ID、交换密钥算法、对称加密算法、压缩算法等。接着服务器方应发送服务器证书(包含了服务器的公钥等),如果服务器要求验证客户方,则要发送CertificateRequest消息。最后服务器方发送ServerHelloDone消息,表示hello阶段的结束,服务器等待客户方的响应。如果服务器要求验证客户方,则客户方先发送Certificate消息,然后产生会话密钥、并用服务器的公钥加密,封装在ClientKeyExchange消息中,如果客户方发送了自己的证书,则再发送一个数字签名CertificateVerify消息来对证书进行校验。随后,客户方发送一个ChangeCipherSpec消息,通知服务器以后发送的消息将采用先前协商好的安全参数加密,最后再发送一个加密后的Finish消息。服务器在收到上述两个消息后,也发送自己的ChangeCipherSpec消息和Finish消息。至此,握手全部完成,双方可以开始传输应用数据。 ¤SSL (Secure socket Layer)安全套接层协议主要是使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输,常用Web Server方式。 安全套接层协议(SSL,Security Socket Layer)是网景(Netscape)公司提出的基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。对于电子商务应用来说,使用SSL可保证信息的真实性、完整性和保密性。但由于SSL不对应用层的消息进行数字签名,因此不能提供交易的不可否认性,这是SSL在电子商务中使用的最大不足。有鉴于此,网景公司在从Communicator 4.04版开始的所有浏览器中引入了一种被称作"表单签名(Form Signing)"的功能,在电子商务中,可利用这一功能来对包含购买者的订购信息和付款指令的表单进行数字签名,从而保证交易信息的不可否认性。综上所述,在电子商务中采用单一的SSL协议来保证交易的安全是不够的,但采用"SSL+表单签名"模式能够为电子商务提供较好的安全性保证。
№什么是SET协议? 电子商务在提供机遇和便利的同时,也面临着一个最大的挑战,即交易的安全问题。在网上购物的环境中,持卡人希望在交易中保密自己的帐户信息,使之不被人盗用;商家则希望客户的定单不可抵赖,并且,在交易过程中,交易各方都希望验明其他方的身份,以防止被欺骗。针对这种情况,由美国Visa和MasterCard两大信用卡组织联合国际上多家科技机构,共同制定了应用于Internet上的以银行卡为基础进行在线交易的安全标准,这就是"安全电子交易"(Secure Electronic Transaction,简称SET)。它采用公钥密码体制和X.509数字证书标准,主要应用于保障网上购物信息的安全性。 由于SET 提供了消费者、商家和银行之间的认证,确保了交易数据的安全性、完整可靠性和交易的不可否认性,特别是保证不将消费者银行卡号暴露给商家等优点,因此它成为了目前公认的信用卡/借记卡的网上交易的国际安全标准。 SET(Secure Electronic Transaction)安全电子交易协议是由美国Visa和MasterCard两大信用卡组织提出的应用于Internet上的以信用卡为基础的电子支付系统协议。它采用公钥密码体制和X.509数字证书标准,主要应用于B to C模式中保障支付信息的安全性。SET协议本身比较复杂,设计比较严格,安全性高,它能保证信息传输的机密性、真实性、完整性和不可否认性。SET协议是PKI框架下的一个典型实现,同时也在不断升级和完善,如SET 2.0将支持借记卡电子交易。
№SET与SSL机制的比较: SET与SSL同样提供了电子安全交易的机制,但是运行方式是有差别的,其中包括: (1)认证机制方面:SET的安全需求较高,因此所有参与SET交易的成员(持卡人、商家、付款转接站等)都必须先申请数字证书来识别身份。而在SSL中只有商店端的服务器需要认证,客户端认证则是有选择性的(optional)。 (2)设置成本:若持卡者希望申请SET交易,除了必须先申请数字证书之外,也必须在计算机上安装符合SET规格的电子钱包软件。而SSL交易则不需要另外安装软件。 (3)安全性:一般公认SET的安全性较SSL高,主要是因为整个交易过程中,包括持卡人到商店端、商店到付款转接站、再到银行网络。都受到严密的保护。而SSL的安全范围只限于持卡人到商店端的信息交换。 (4)目前采用比率:由于SET的设置成本较SSL高许多,且导入国内的时间较短,因此目前是以SSL的普及率高。但是由于网上交易的安全性需求不断升高,因此可预期SET将会快速的占有市场。 比较项目 SET SSL 认证机制 所有参与SET的成员 商店端 设置成本 较高 较低 安全性 较高 较低 采用比率 约15% 约80%
№什么是访问控制列表 定义权限控制表 ACL(Operator, Op, Fields, Object, Cons), 其中主要包括以下几维定义: 1、Operator (Userid, Depid, Roleid) 定义访问者集合,其中, userid, 是操作者的用户ID; depid, 是操作者的部门ID; roleid, 是操作者的角色ID; 2、Op (read, modify, delete, add) 定义操作集合, 用mask方式定义; 3、域集合Fields 表示可访问的属性,分为可读属性rfields和可写属性wfields,两类,Fields (x | x 属于object.fields); 4、Objects 代表可访问的数据对象; 5、约束集合Cons (rcons, wcons, dcons); Rcons, wcons, dcons分别代表用SQL Where子句描述的读约束、写约束和删除约束 每个活动目录中的对象有一个访问控制表(ACL),在其中有资源的列表和访问权限。
№轻量级目录访问协议LDAP 计算机网络经过长期的发展,不同的操作系统和应用程序以不同的格式在网络上存储了大量的信息,一个网络管理员无法在一个集中的信息库中,以方便的方法管理网络信息和资源。用户必须使用不同的应用程序获取不同的信息和资源,这大大增加了用户的负担,也使许多信息难于共享,从而在一定程度上制约了网络的发展,因而需要一种新的技术,能够以通用的格式和方式实现信息的存储和共享,实现网络的共享。 目录服务技术就是用于实现上述需求的。目录服务可以命名、描述和指定一个企业范围内的用户和资源,从而简化通信与管理;它可以使用户通过简单的搜索查找资源及其他用户;它可以帮助管理人员收集和控制散布与该机构的信息,并可以使他们通观地审视这些信息。 时下基于目录服务的各种网上应用真是越来越多。特别是随着Intranet的崛起以及轻型目录服务LDAP(Lightweight Directory Access Protocol)的开发,人们对其价值的认识日趋明朗。在X.509公钥体系中,建议CA提供的用户服务都基于LDAP。 目录服务及其应用领域 什么是目录?目录是由一群数据个体按照某种便于检索的结构组织起来的数据集合,简而言之,目录是一种特殊的数据库。提供以目录检索为主要服务的服务器称为目录服务器。 区别于一般意义的数据库(如常见的关系型数据库),目录服务的特殊性体现在以下方面: 一、检索功能强大,而增、删、改等数据库更新功能则较弱。因为目录服务器是专门为那些检索频率多于更新频率的数据服务而设计的。 二、不支持数据库管理系统常用的事务处理,免去了完整性约束,大大简化数据操作。这对于许多数据库应用特别是商务应用,是不可容忍的,因为操作过程中容易产生数据冲突,但对于许多更新很少的数据,短期的冲突并无大碍。 由此可见,目录服务的主要应用领域集中于以检索为主而非以更新为主的数据库服务,如黄页、白页检索、e-mail地址检索、书目检索等;在网络服务系统中,目录服务器可用于存放用户访问权限;在安全系统中,可用目录服务器存放用户的公钥供他人下载。类似应用,不一而足。 LDAP协议 目录服务的工作模型是客户机/服务器模型。1988年,CCITT组织首先创建了X.500标准,全面描述了这一模型,包括目录服务器的目录结构、命名方法、搜索机制以及用于客户机与服务器通信的协议DAP(Directory Access Protocol)。之后,ITU-T又在1993年作了显著的修改和补充,产生了第二版建议,ISO接受此建议,把它作为ISO/IEC 9594国际标准。但是,在实际应用的过程中,X.500存在着不少障碍。由于DAP这种应用层的协议是严格遵照复杂的ISO七层协议模型制定的,对相关层协议环境要求过多,在许多小系统上无法使用,TCP/IP协议体系的普及更使这种协议越来越不适应需要。在这种情况下,DAP的简化版LDAP应运而生。 LDAP服务器基本结构 早期设计的LDAP服务器不是独立的目录服务器,主要扮演LDAP客户机与X.500服务器间网关的角色,既是LDAP的服务器又是X.500的客户机。如今的LDAP服务器可取代X.500服务器而独立提供服务。 LDAP服务器的目录组织以"目录项"为基本单位,结构类似树形,每一个目录项即是树上的一个分枝节点或叶子。树的顶节点为根项,代表国家的项直接出现在根的下面,在国家下面是表示省或组织的项,再向下是表示人、组织机构、打印机、文档等的项。项是目录的基本构成块,这种结构正好和一般的组织结构相对应。每个项对应一个对象,目录对象是现实世界物体的一个方面,一个目录项由多个"属性"组成,每个属性又由一个"类型"和一到多个"值"组成。项是用名字区分的,每个项有一个相对甄别名称RDN,每个项从上层得到甄别名称DN,附加上自己的相对甄别名称形成甄别名称DN,RDN在同类中唯一标识本项。相对甄别名称是属性类和属性值对的集合。 LDAP目录服务器支持分布式的目录服务。在目录结构较为庞大时,可使用多个服务器分别存放目录的不同部分,目录服务器间通过指针相连。这些指针被称为LDAP URL。当某个条目不在被查询的服务器上时,而服务器又存有该条目的LDAP URL,服务器就会将此URL返回给客户机,客户机会自动按照URL所指继续查询。 安全问题在网络中是至关重要的,在目录服务中也不例外。根据不同的应用需要,LDAP服务器的验证机制分为三种:无验证、基础验证和SASL(Simple Authentication and Security Layer)验证。SASL是LDAP v3新增的安全验证机制,较前两者的安全级别高。 LDAP的优点: 1、 平台无关性。 2、 LDAP既是一个访问协议,又是一个灵活的目录系统。 3、 LDAP基于TCP/IP协议,使连接的建立和包的处理更简单、快捷。 4、 LDAP简化了X.500的一些功能,采用了简单编码,大大提高了编码和解码的效率,便于实现,且费用更低。 5、 LDAP API为客户提供了一种简单的方法,来实现对目录服务器的访问。 6、 LDAP更易于配置和管理,具有更低的响应时间。 总之,现实生活中,适于LDAP目录结构的数据是很多的,LDAP目录服务的应用具有广阔的前景。
№证书链 1.什么是证书链服务 证书链服务(有时也称"交叉认证")是一个CA扩展其信任范围或被认可范围的一种实现机制。如果企业或机构已经建立了自己的CA系统,通过本认证中心对该机构或企业的CA签发CA证书,能够使得该企业或机构的CA发放的证书被所有信任本认证中心的浏览器、邮件客户所信任。 2.证书链服务的作用 本认证中心提供的证书链服务能够扩大机构或企业内部CA的被信任的范围。机构或企业的内部CA发放的证书可能只能在内部使用,无法被外部的网络应用所识别和信任。例如,当利用机构或企业CA签发的证书进行加密和签名的电子邮件被发送到机构外部的人员时,可能会遇到收信者的邮件端不能识别或信任该证书所做的签名和加密的情况,或者出现其他的浏览器和服务器不能识别或信任该机构或企业CA签发的证书的情形。利用本认证中心提供的证书链服务,机构和企业可以使其CA发放的证书自动被所有信任本认证中心CA的浏览器、邮件客户所信任,这样就使该机构或企业无需在对每种软件、每个邮件客户重新作出人为的努力,要求她们信任该机构或企业CA签发的证书,从而低成本、高效率地实现了信任度的扩展。
№为什么访问我的站点时会出现"安全证书上的名称与站点名称不匹配"? 服务器主机名必须与该主机使用的服务器证书名称完全一致,否则就会出现以上提示信息。解决办法就是重新为该主机签发一张服务器证书,注意名称要和主机名一致。
№数字摘要技术 数字摘要技术(Digital Digest)也称作为安全HASH编码法(SHA:Secure Hash Algorithm)。数字摘要技术用于对所要传输的数据进行运算生成信息摘要,它并不是一种加密机制,但却能产生信息的数字"指纹",它的目的是为了确保数据没有被修改或变化,保证信息的完整性不被破坏。 数字摘要技术有如下主要特点: ・它能处理任意大小的信息,并对其生成固定大小的数据摘要,数据摘要的内容不可预见 ・对于相同的数据信息进行HASH后,总是能得到同样的摘要;如果数据信息被修改,进行Hash后,其摘要必定与先前不同 ・HASH函数是不可逆的,无法通过生成的数据摘要恢复出源数据
№一些标准的解释 ・SET 1.0(Secure Electronic Transaction):定义SET系统内部各项支付数据、格式和流程标准,由SETCc负责修订。 ・ASN.1(Abstract Syntax Notation):抽象句法符号标准,用来表示各种消息,符合ITU-T X.208标准。 ・DER(Distinguished Encoding Rules):唯一编码规则,用来以明确的格式对支付消息和整数中的协议数据进行编码,符合ITU-T X.680标准。 ・DES(Data Encryption Standard):数据加密标准。 ・RSA:非对称加密方式,主要用于数字签名。 ・CAST:分组密码,符合Internet RFC 2144。 ・PKCS(Public-Key Cryptography Standards):由RSA公司制定的公开密钥标准。 ・PKCS#1(RSA Encryption Standard):RSA加密标准格式。 ・PKCS#3:(Diffie-Hellman Key Agreement Standard):描述在原来没有协议的双方应用Diffie-Hellman 密钥协议的方法。 ・PKCS#5(Password-Based Encryption Standard):从口令推导出密钥和算法的参数。 ・PKCS#6:(Extended-Certificate Syntax Standard):扩展证书的语法定义。 ・PKCS#7(Cryptographic Message Syntax Standard):定义加密消息句法。 ・PKCS#8(Private-Key Information Syntax Standard):定义私钥信息语法。 ・PKCS #9: (Selected Attribute Types):定义使用在扩展证书、数字签名信息和私钥信息中可选的属性类型。 ・PKCS#10(Certification Request Syntax Standard):证书申请语法格式。 ・X.509:ITU-T X.509建议(1997)公开密钥证书的格式和身份鉴别过程。CFCA系统中支持的证书格式均在X.509版本3中定义,CRL格式符合X.509 V2标准。 ・SHS(Secure Hash Standard):安全哈希算法标准,符合FIPS PUB 180标准。 ・TCP/IP:一系列用于支持因特网通讯的协议。 ・HTTP:超文本传输协议。支持WWW浏览器和服务器的万维网传输协议。 ・S/MIME:多用途因特网消息扩展。用来对支付消息的信封进行编码,使浏览器可以辨别支付消息,支持以电子邮件为基础的商务交易。 ・PEM(Privacy-Enhance Mail): 保密性提高的邮件格式,定义在RFC 1421-1424中。 ・RFC 1766:语言标记标准。 ・HMAC:密钥的哈希机制,用于信息完整性检查,符合RFC 2104标准。 ・Triple-DES:三重数字加密标准。执行三次常规的DES加密步骤,用于对数据进行加密。 ・MD5:报文摘要算法,符合因特网RFC 1321。 ・SPKM:适用于GSS-API的简单公钥机制,用于Non-SET体系中公钥的传输,符合RFC 2025标准。 ・LDAP:轻型目录存取协议,符合RFC 1777。只用在Non-SET体系中。 ・SEP(Secure Exchange Protocol):安全交换协议,符合ITU-T X.830,X.831,X.832和ISO/IEC 11856-1,11856-2,11856-3。该协议只用于Non-SET体系。 ・ISO 3166:用于表示国家名字的代码。 ・ISO 4217:用于表示货币的代码。 ・ISO 7812:身份卡编号系统和注册规程。 ・ISO 8583:金融交易卡消息、互换消息规范。 ・ISO 9594-8:ITU-T X.509建议,信息技术-开发系统互连。SET协议支持该证书格式。 ・ISO 9834-7:提供了一个国际注册机关。
№为什么SSL可以不用证书? 事实上,SSL有两种使用方法:单向证书(服务器证书)与双向证书(服务器证书+客户端证书)
□SSL通过数据加密实现保密性,通过MAC算法实现完整性。
№CRL如何使用? CRL 是 Certificate Revocation List的意思,是证书废除列表。在其中列到的证书是已经作废了。一般来说采用应用程序来检查某个证书是否已经废除,不嫌麻烦当然也可以用人脑。 CRL的下载是否自动,取决与应用程序,如IE她没有自动获取的功能。采用SHECA 提供的SafeEngine的应用程序,有自动获取的功能。
Post by linrun @ 10:45 XMLBuddy能用了
2004-07-14 17:22 很偶然的想起一个可能性,于是试验了一下,居然就可以了…… 猜我想到啥?我原本的Eclipse安装目录是: c:\java\eclipse 在我把它移到 c:\eclipse 之后,一切ok 无言,正式版本的Eclipse 3居然出现这种事…… 如果还有其他插件装进去后找不到的,估计也是这个原因了,试试吧。 这个故事告诉我们:事实的真相,有时候简单到让你想说粗口-_-我可怜的时间啊T_T 补记: 抱歉,不得不说:我还是低估了Eclips 3 的BT程度。 晚上兴匆匆地想在家里的机上也照此办理,结果却是无效。无奈之下把文件夹又从c:\eclipse移回了c:\java\eclipse,不曾想,居然……可以用xmlbuddy了。 所以,我现在也不知道问题到底出在哪里,只知道胡乱整整总有机会把看不到的东西整出来的。 郁闷,又是半个小时。 Post by linrun @ 17:22 电脑作诗机
2004-07-13 16:14 非常好玩的一个玩意; 电脑作诗机 。我用“林润”为题,让它生成了几首,大家看看: 《林润》 一叶飘蝉影,蟠花总是愁。 君如关外雪,免脱利名休。 《林润》 独宿金山寺,乡村事事幽。 临风黄叶满,落尽未回头。 《林润》 下有阳春意,斋时王粲楼。 纷纷纷俗士,沸鼎错珍羞。 怎么样? 细看的话自然是没什么意思,但多多少少,还是“有点样子”吧?中午还真是玩上瘾了。同一个题目可以生成许多首,只要够耐心的话,总能够找到非常有意思的内容,甚至意境相当不俗的。 我把硬盘版装上之后,打开其数据文件看了看。基本上,这个软件是预置了一个足够大的七言/五言词库,再对题目进行字面分析,划分类、韵等等,最后关联到最匹配的句子,然后进行组合。也就是说,不是字的组合,而是句的组合。在足够多的规则下,加上中文自身言外留白的特点,一般装配出来的“成品”,都不会太过离谱。 不对,说错了,它的集句才是用了预置词库。刚刚又仔细看了一下,这个软件应该是用“对韵”的方式来生成诗句的。还好,5分钟内就反应过来了,不然岂不是成了笑柄……汗。 嗯,我再去玩玩。 Post by linrun @ 16:14 不务正业ing
2004-07-09 15:28 设计思路又打不开了,郁闷。 好吧,这样的话……那就开始不务正业吧。看看blogger们又搜刮/发明出什么好东西了。 记起昨天在cnblog留过言,去看了看,ooof还真是从善如流,立刻给他的“ 行为社会 ”增加了guest/guest用户。于是登录进去瞅了瞅,写下XX到此一游的字样,又溜出来了。感觉这个东西可持续性有点低,比较适合郁闷的时候去涂鸦。 然后去 Isaac的blog ,嗯,“ 美味书签 ”,我以前从访问统计里逆向去过一次,不过没太留意。感觉Isaac挺“会玩”,那我应该好好瞅瞅这玩意。居然连到 Peak Jing那 去了,跟他一样,我也觉得惭愧之极,原来“把del.icio.us中的‘.’去掉就是美味(delicious)的意思”,我完全没有联想到这个去。在PJ的Share bookmarks 这篇blog里,谈到了del.icio.us的好处:只要你把自己的欣赏的站加进去,立刻就可以知道有多少人和你一起在关注这个站。 回到PJ的首页,咦, OpenLDAP Developers' Day ,算起来,我也有两年没碰LDAP的东西了啊。以前起码试验过四种LDAP产品,最不喜欢微软的ad,最喜欢的则是IBM SecureWay――的客户端^^这两年还陆陆续续有人来问我相关的东西,不过也快忘得差不多了。 再去看看竹笋炒肉,嗯,这个东西好, MVM的软件开发经验谈 。嗯,懒得c/p了,备份多一个 地址 。 于是就连到了 屋顶上的木帷幕 ,进而到了 博客堂 ――怎么听起来跟黑社会似的^^嗯,又是个邀请制的地方,看起来是微软程序员的集散地。嗯,我基本没关注过.Net的东西,以后应该多来看看,“观摩观摩”^^ 再接下来……还没休息够啊,不用干活了不成…… Post by linrun @ 15:28 booso.com
2004-07-08 10:48 因为访问统计里有一部分来自booso.com,所以刚刚特意去试验了一下。 首先用“技术点滴”作关键词,结果为――0。真是深受打击啊。 改用“eclipse”作关键词,有40条左右的结果,全部是到我的blog的。大部分链接到 http://www.blogbus.com/blogbus/blog/diary.php?diaryid=163323 ,这是我一篇题为《vmware+红旗linux的附加心得》的blog,上边确实有“Eclipse”字样,不过是在“最后更新”的链接里。有3条是分别连到了我的blog的不同页面。 这样的搜索结果,嗯,只能说是相当的诡异啊。看bosoo的FAQ:bosoo是“基于搜索引擎的搜索引擎”,搜索的内容是“有哪些网页被其它搜索引擎搜索到”、“这些网页被搜索到的关键词是什么”、“对于特定的关键词,有哪些网页被搜索到”。这样说就有点明白了:其实还是在做反向统计。是不是这样呢:通过我使用的refer代码,搜集了我的blog的被访问信息,把所有这一类信息聚集在一起供再次搜索,就成了bosoo。 Post by linrun @ 10:48 最受关注的Eclipse Plugins
2004-07-07 14:53 从 Eclipse Plugins 网站摘取了一点统计信息,分别是24小时内最受关注的plugin和全部最受关注的plugin。不过,嗯,找不到Eclipse 3可用的XML editor,郁闷啊。 Plugin 24H week month all 1 Sysdeo Eclipse Tomcat Launcher 572 1719 4560 17795 2 Lomboz 424 2043 6031 28302 3 XMLBuddy 385 1538 5045 24292 4 Fluidity 305 446 503 853 5 DBExplorer core and pro 304 809 2668 13490 6 MyEclipse Enterprise Workbench 287 1756 5435 27970 7 EclipseUML2 187 868 2989 15009 8 SQLExplorer 182 1559 3997 12090 9 EclipseProfiler 176 546 1652 7147 10 SOAP Raw Message Sender 174 234 410 1408 Plugin 24H week month all 1 Lomboz 423 2042 6030 28301 2 MyEclipse Enterprise Workbench 286 1755 5434 27969 3 SWT/Swing Designer 122 1201 5547 25471 4 XMLBuddy 384 1537 5044 24291 5 Sysdeo Eclipse Tomcat Launcher 568 1715 4556 17791 6 Omondo EclipseUML 126 688 3021 17575 7 EclipseVisualEditor 138 1066 4172 16683 8 EclipseUML2 186 867 2988 15008 9 Exadel Struts Studio 79 526 2702 14256 10 DBExplorer core and pro 304 809 2668 13490 Post by linrun @ 14:53 Lomboz 3rc2和Eclipse3
2004-07-06 16:52 下午被Lomboz好生折腾了一会。今天打算把开发平台从Eclipse 2.1.2(我一直没用2.1.3)转到Eclipse 3,自然少不了要把lomboz装上。其实我一直没用3的原因就是怕很多plugin跟不上,光溜溜一个Eclipse,那是没多大用处的。 没想到,一直以来很容易的plugin安装(就是解压缩而已),这次居然出问题了。症状很简单:装完之后找不到lomboz! 一通瞎折腾之后,这才想起,未必是我一个遇到这种问题,于是就去lomboz的论坛看,果然。还有人提出了一个解决方法,我看着这个方法愣了好久――怎么还有这种事,不是拿人开涮吧?可我自己已经没辙,得,试试。方法如下: 1、把已安装的eclipse删了 2、重新解压缩eclipse,注意,先不要执行任何操作 3、解开lomboz.3rc2.zip和emf-sdo-runtime-I200406100948.zip,注意,两个包里边的文件路径不大一样,不要解错地方了 4、好,现在运行eclipse 照此做完,居然就真的行了。也罢,我就不求甚解,用了再说(都耽搁多少时间了)。^_^ 要是有谁也遇到同样问题,那就照上边的步骤试试吧。 Post by linrun @ 16:52 AS2里get/set的用法
2004-07-06 16:00 这里有说明文章: http://www.kirupa.com/developer/oop2/AS2OOPClassStructure6.htm 从代码来看是最容易理解的 // in Account.as class Account { private var currentOwner:String = "none"; function Account(name:String){ currentOwner = name; } function get owner():String { return currentOwner; } function set owner(name:String):Void { currentOwner = name; } } // in Flash movie var myChecking:Account = new Account("Terry"); trace(myChecking.owner); // Terry myChecking.owner = "Terry's son"; trace(myChecking.owner); // Terry's son Account的私有变量currentOwner是不能被直接访问的,为此,需要有getting和setting方法。AS2里有两个新关键字get/set就是用来做这件事的。get owner()/set owner(name:String)等于是创建了一个可以被访问的变量owner(就是函数名),然后就可以对这个变量owner直接进行get和set了。 老实说,我不是很明白为什么要引进这两个关键字。直接通过getter方法和setter方法访问不就可以了?嗯,是不是Flash开发者比较习惯用变量名的方式来使用?由于写惯了Java,我觉得这样的使用方式就很足够了: function getOwner():String { return currentOwner; } 对于get/set,并不要求get method和set method使用同一个函数名,当然,函数名不能与已有的变量名相同。 Post by linrun @ 16:00 《变味的分布式计算》后话
2004-07-04 03:57 原本是要回复 http://www.blogbus.com/blogbus/blog/diary.php?diaryid=165112 里边碧城仙和equn留言的,越写越长,干脆单独作为一篇blog。 下午看到你们的留言,有事,就没回复,只去论坛看了一下。晚上回来再看,在equn的帖子就不见了。不知为何?内部认知不同么?^^ 我久已无意于争论,所以写了这篇短短的批评,也只是发在自己的blog上。从今天的经验看,大概当初要是发到了equn的论坛,“下场”也不会太好^^不过google大婶的威力真是无远弗届,想来碧城仙也是从google无意中看到的吧?也罢,既然发出来,即使只是发在自己的地盘,也算成为公开事件,那就再多罗嗦几句。 基本上,这篇blog意思很清楚,针对的现象是hack别人机器做分布式计算,而且不以为耻,反以为荣。至于对分布式计算本身,我并无反感,否则就是反感自己了。^^“我们的每一个参与者都没有任何实质性的利益,所有的人都是在无偿的空耗电力资源,无偿的折损自己爱机的寿命。”碧城仙说这话时是不是有点委屈?^^请相信我能明白这种付出,因为我自己也在“无偿的空耗”和“折损”啊,对不对? 现象背后有根源。人是最基本的因素,然而我深知人多数是因应环境而变化。橘生淮南则为橘,橘生淮北而为枳,那不是种子的过错,而是土壤的问题。同样,人在这里知礼仪,在那里失廉耻,我更倾向于认为是制度的过错。所以,对这种hack机器的行为,我认为分布式计算的排名机制引起的,更进一步的说,是这种竞争文化本身。 至于我后来又谈到假国家的大义名义行一己之私,那是引申开的愤概。如果说前边只是“感”慨,那这一点倒真是有点“愤”了。不过这一点在我是“由来久矣”,倒不是专对equn网站而言,可以不提。 回到前一段。制度本身,作为个人的我们,往往是无从更改。那么,在这种情况下,我们能不能做点什么?我想是能的,鼓励正当的竞争,反对不择手段的行为,在论坛鼓起这样一种风气,这并不是不能做到的,不是么? 我常常说,自己实在不算“好人”,也最讨厌被人道德说教,所以,我不喜欢说教别人,没这个资格。不过,我也常希望,做人,能有条底线。即使做坏事(hack别人机器),起码也要有“这是坏事”的自觉。不要求你做好事,甚至不要求你不做坏事,最差劲最差劲,只希望你做了坏事不要那么兴高采烈,这样还做不到吗? 这有什么意义?因为,这样,至少“是非”还在。 我大概有点絮叨。上一篇blog其实不是对equn网有什么建议,不过,既然这么“有缘”能够被看到,那我不介意把自己的想法再和有兴趣的朋友分享一下。如果觉得不中听,无视即可,吵架什么的,我实在没有力气了。 Ps.碧城仙提到“电力”两字,我最近正好为此减少了对分布式计算的投入,只在用到机器时顺便计算,而不再让机器24小时连转。原因?国家电荒。^_^ Ps2.equn原来还是高中生,出乎意料。做得很好,很了不起。 Post by linrun @ 03:57