2015年11月8日更新
TLS1.2に対応させる
現在はECDHE対応していないため無理ですが、TLS 1.2対応なら可能です。
前提
- TLS 1.2以上に対応すること
 - 特定の暗号方式に対応すること
 - サーバ証明書がSHA256以上の署名を持っていること
 - サーバ証明書が2048bit以上のRSA鍵または256bit以上のECC鍵を持っていること
 
TLS 1.2と許可された暗号方式に対応
ソースコード更新
9legacyのパッチを当てる。
- libsec-tlshand-nossl3
 - libsec-x509-sha256rsa
 - tls-devtls12
 
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256に対応する形となる。
ビルド
- カーネル(devtls)
 - libsec
 - libsecを使ったコマンド類
 
カーネルは対応が終われば、hashalgsにsha256が追加される。 encalgsはデフォルトのまま。
# cat '#a'/tls/hashalgs
clear md5 sha1 sha256
# cat '#a'/tls/encalgs
clear rc4_128 3des_ede_cbc aes_128_cbc aes_256_cbc
				libsec.hをincludeしているコマンド、 cpu, hget, import, tlsclient等いっぱいあるなあ... とりあえずはhget, httpd, smtpd, tlssrv, tlsclientが対応していればいいか。
# cd /sys/src/libsec
# mk (/$objtype/lib/libsec.aが更新される)
				# cd /sys/src/cmd
# mk hget.install
				# cd /sys/src/cmd/ip/httpd
# mk install
			証明書の更新
SHA256以上の署名を持った2048bitのRSA鍵持ち証明書を作る。