今年是奥运年,也是闰年,闰年有一个四年一遇的日子:2月29日,但微软的许多软件却并不承认有那么一天.包括Exchange 2007,SQL Server 2008,Windows Small Business Server,Windows Mobile等软件尽管能识别出这一天,但在处理部分任务的时候会出现错误, 并且在Windows Small Business Server上还会出现更严重的错误 - 因为在微软的日历里根本没那么一天,因此就无法颁发证书.Windows Mobile用户更是坐上了时空机器--在2008年2月28日之后直接跳到了2008年3月1日
.
Windows Home Server在那一天也捅了大娄子,2月29号首次安装Windows Home Server的人,会在创建客户端证书时出错,进而无法配置客户端.好在这只洪水猛兽只在29号肆虐,到了3月1号自动消失.微软和HP只能尽快告诉用户,今天不要安装客户端,睡一觉,等过了29号再装.
事因的事因是:在Windows Home Server与客户端connector第一次连接时,需要Server为connector颁发安全证书.出于某种实现上无法避免的原因,客户端的证书日期一定要早于Windows Home Server,否则生成证书的函数会fail.Windows Home Server是2007年7月RTM的.为了方便起见,设计中规定,给客户端生成证书的函数使用2006年作为年份.
但是,2006年没有2月29号.于是,2月29号首次安装Windows Home Server的人,会在创建客户端证书时出错,进而无法配置客户端.同一天发生的类似闰年问题:SQL Server 2008的CTP版本,也同样是由于证书问题,29号不能安装或者启动.不同的是,SQL Server是签发证书时,把expiration date设成30年后的今天.