tutorial

记一笔关于iPad的DFU mode

(最后修改: Hardware #iPad #DFU mode #iOS

由于送修 iPad 最终没有修好,因此店家给提供了一台二手的 iPad。作为不折腾就会死星人我觉得显然应该重刷一遍固件(卖家已经重新清空了数据),因此做了一次 DFU mode 固件更新。

阅读全文… ( 本文约 168 字,阅读大致需要 1 分钟 )

paste(1)

(最后修改: Development #paste #shell #CLI

这是一个处理文本的命令,之前一直没怎么用过,最近看 freebsd-update 的时候才知道有这么个玩意。

阅读全文… ( 本文约 319 字,阅读大致需要 1 分钟 )

unbound之DNSSEC缓存服务器作弊条

(最后修改: Security #unbound #DNSSEC #DNS

DNSSEC 是一种验证域名信息真实性的协议扩展。个人之前一直觉得这事相当的蛋疼:DNS协议本身是不安全的,而DNSSEC无非是增加了数字签名验证,而这验证还依赖于相当复杂的密钥更新和分发机制,这一切都给它的推广带来了困难。

阅读全文… ( 本文约 1060 字,阅读大致需要 3 分钟 )

如何:申请用于服务器SSL/TLS的X.509证书

(最后修改: Security #TLS #X.509 #Certificate

📓 注意

2015-03-05更新:本文中部分干货已过时,本文本身也不再更新。请参阅 这张作弊条。由于 ACME 协议的普及,现时通常只需生成密钥对即可。

SSL/TLS协议中,服务器证书是用于向客户端证明服务器身份的凭据,同时它还向用户提供了服务器的公钥,而服务器公钥则可以用来建立客户端到服务器的安全通讯(具体的通讯流程要比这个复杂,纯从技术而言,服务器的公钥主要用于与客户端进行会话密钥的协商)。

服务器的公钥只能确保拥有私钥的服务器(或人)能够解密信息,但它本身并不能确认服务器的身份。在实践中有很多种不同的方法来确保公钥确实来自受信任的服务器,在通常的SSL/TLS协商过程中,采用的方法是根据证书链来逐层验证公钥是否是有效的及其身份。简单地说,就是以安全的方法(例如安装光盘,或互相认证的签名等)事先将证书链上的某一个或某几个证书发给客户端,以便其验证最终用于服务器的安全证书。关于这一流程的具体细节,已经有很多文章进行了介绍,在此不再赘述。

如此,我们在实现采用SSL/TLS的服务器的时候,需要为证书准备的事项包括:

  • 找到一家被客户端信任的、具备签发证书资质的发证机构。发证机构可以是根CA(对于浏览器来说,通常可以在安全选项中找到类似"查看证书"之类的选项),也可以是这些根CA认可的二级发证机构。
  • 收集用于验证服务器身份的信息,例如服务器的FQDN,等
  • 生成一对用于SSL/TLS的公钥/私钥。

有了这些信息,就可以制作证书申请(CSR)供发证机构去签名了。一般来说,发证机构需要首先验证申请人的身份信息,然后对CSR提交的信息进行核对和签名,并将签名之后的证书发给申请者,或供其下载。下面以 FreeBSD、OpenSSL 为例介绍从生成公钥/私钥对到签发、安装证书的全过程。

阅读全文… ( 本文约 1666 字,阅读大致需要 4 分钟 )