delphij's Chaos
选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……
Let’s Encrypt 是我目前使用的证书发证机构。早上 yegle 提到了某个bug,于是研究了一下,这里记一笔,算是留个历史见证吧。
在 PKI 证书体系中,信任是通过逐级签名以及对这些签名的验证来实现的。 对大部分客户端系统来说,这些系统中会存在一个或多个受信的根证书发证机构的证书, 其公钥是通过这些系统本身的更新机制派发的。
根证书发证机构的证书通常是自签名的,更新相对来说比较麻烦(它通常依赖于操作系统的在线或离线更新机制), 因此这些证书的私钥事关重大,因此人们通常不希望经常更新它们,因而证书发证机构在绝大多数时候并不会使用这些私钥来签署证书。 取而代之的是,他们会创建一些称为中级发证机构的证书用来签署日常的证书,这样根证书的私钥可以采用更为严密的方法来保护, 例如可以把它们从网络上彻底断开,而中级发证机构的证书则可以以较高的频率进行密钥轮换,借此来避免其私钥暴露导致的风险。
一个新的发证机构进入市场时,其自签名的根证书往往不会被已经在市场上的客户端系统认可, 因此这样一来新的发证机构想要获得用户就必须想办法解决能被用户承认这个问题。 一旦获得了一定的知名度并证明了自己的可靠性, 这些发证机构便可以遵循一定的流程获得主流浏览器或操作系统的认可, 并将自己的根证书也加入到它们的受信根证书列表中了。 所以,在起步阶段,新的发证机构往往会要求一些已经存在的根证书去对其根证书进行交叉签署, 在客户端验证证书有效性时,由于这些根证书在他们看来是一个经过了受信根证书签名的中级证书而不是一个普通的不受信自签名根证书, 因此也就不会给出无法验证证书是否有效的提示,而是能够正确地对其有效性进行验证了。
Let’s Encrypt 在起步阶段正是采用了这种做法。通俗地说,它的中级发证机构的证书被两家根证书机构同时签名, 其一是它自己的 ISRG Root,另一个是另一家根证书机构 IdenTrust 的 DST Root X3。初期,由于 DST Root X3 已经被许多操作系统和浏览器认证过,因此为其普及起到了非常重要的作用。
UTC 时间 2021年9月29日 19:21:40,DST Root X3 的根证书过期了。这样一来,这一边的信任链便不再成立。
Read more...在发生 911 恐怖袭击之后,美国国会通过了 2005真实身份法案(Real ID act of 2005), 并由时任总统小布什于 2005 年 5 月 11 日签署成为法律 PL 109-13。 该法律要求美国各州签发的驾照符合一定联邦规范的驾照,符合这些规范的驾照称为 Real ID, 可用于进入联邦政府机构或在美国境内乘坐飞机(TSA属于联邦管辖)。
由于对 DMV 办事效率的恐惧,加上办理 Real ID 驾照必须亲自去一趟 DMV,我一直对办理 Real ID 有些抗拒。 去年由于疫情,我就直接在网上更新了驾照。 前几天 DMV 发来邮件说我这种情况可以在今年的 12 月 31 日之前去直接升级成 Real ID,于是研究了一下相关流程,这里记一笔。
Read more...疫情之前,娃在周末会去某个才艺班,上课的时间我觉得实在是比较无聊, 于是就带上笔记本坐在星巴克做一些较小规模的代码清理工作。 最终,我利用这些碎块化的时间完成了对 FreeBSD 的 fsck_msdosfs(8) 的核心代码的算法进行了改进,使其需要的内存用量变成了原先的 1/128, 这里稍微记一下当时的一些思路。
Read more...记一笔。
我现在这台服务器已经用了蛮久(超过10年)了,刚刚安装的时候还是 FreeBSD 8.1 RC,一路升级到 FreeBSD 12.2。 前段时间因为工作比较忙,一直没顾上把它升级到 FreeBSD 13.0,今天总算是找了点时间来做升级。
总体上这次升级比预想的还要平稳一些,由于 FreeBSD 13.0 和 12.2 的内核接口变化不大,因此我也没按照正规的做法, 即升级内核、重启第一次、etcupdate、installworld,重启第二次、delete-old/delete-old-libs,而是在 installkernel 之后直接做了 etcupdate 和 installworld。
Read more...partial clone 是 git 的一项旨在减少空间和网络带宽占用的特性。
它会跳过下载那些可能不会用到的 git 对象,而是仅仅在需要时才去下载。对于网络延迟较低且带宽不愁的用户来说,
这样做往往会节省掉不少不必要的磁盘空间占用,而代价是可能失去离线访问的能力。除此之外,有些操作,
例如 git blame
或者 git log -p
很可能会需要与服务器交互,从而会变得略慢一些。
比较有用的场景是在使用某些历史比较久,或是对文件整体替换较多,而大部分情况下只关注最新版本的代码库。
与较早的 --depth 1
相比,partial clone的优点在于想要访问历史时仍然可以像正常的clone一样访问。
本文主要是作弊条,记录一下目前所做的事情,以备未来不时之需。
2017年的时候和 @yegle 团购了一批 Mikrotik hAP ac。 我当时主要的需求有:
认为比较无所谓的功能是:
具体实施中,我在家里是通过扁平的六类线缆以明线方式从路由器直接连到楼上。原本买了三台AP,但实际上只用了两台就实现了整栋建筑的覆盖。
Read more...就纯作弊条地记一笔,原软件是 GPL 授权的,并不想去补。
ThinkPad 的触摸板有3个按钮,分别对应鼠标的左中右三键。由于中键位置的原因,在按左或右键的时候很容易不小心碰到。
另一方面,在 MATE 的任务栏上按中键的对应行为是关闭窗口,我不知道这个主意是谁想出来的, 不过基本上 *nix 系统上各种奇怪且不一致的设定是一种常态了。不过,在被这么搞了两次关掉了不该关的窗口之后, 这个问题成功地引起了我的注意。
搜索了一圈,发现人们竟然建议就直接把鼠标中键在 Xorg 里面彻底禁用,这算什么解决方法……
Read more...人生如白驹过隙,早上翻看公司的 Calendar,今天竟然已经是在家工作的第365天了, 写这么一篇来稍微记录一下过去的一年。
2003年SARS的时候我还在上学,当时北京的状况也是相当紧张,学校通知我们, 从某一时间开始实施封校,届时没有特殊情况不得进校离校, 而北京生源的学生可以自行选择是否回家。 我当年是独子住在父亲之前单位的房子里,刚刚装了ADSL不久, 附近居民基本上都互相认识,并且那个院平时也没什么外人进入, 于是我就和绝大多数北京生源的学生那样整理了一大包东西, 赶在最后期限之前回了家。我原本就是个很宅的人, 平时白天在家看个书,把学校作业做了,写写代码, 隔几天出门去对面的超市买些食物,早晚汇报一下自己的体温, 这一天也就这么过去了。
有了上次SARS的经验,我原本预期这次也就是两三个月就能告一段落, 然而老板表示没那么乐观,他2003年的时候在加拿大, 然而事实上,我们都太乐观了。
Read more...