新しいサーバ用マシンを購入したのでそのセットアップをこつこつと行っているが、新サーバでopenssl用証明書を作成しようとしたところ
invalid expiry date openssl
というメッセージが表示されて証明書作成に失敗してしまった。 「invalid expiry date」なので証明書の有効期限が不正ということはすぐ判るが、はて? CAやopenssl.conの内容を調べたが、いつもと同じように
証明書の有効期間:10年
CA証明書の有効期間:30年
と設定しておりおかしい処は一見するとない。

ふと、CAのcertファイルを開いてみると、なんと
Validity
Not Before: Jul 13 02:07:51 2008 GMT
Not After : Jul 8 02:07:51 1908 GMT

となっている。 え! 1908年。
で気がついた。 ああ、そうだ。 伝統的なUnixのC言語のtime関数の限界って 2038年にくるんだったよ。 ということは今年以降は30年を越えるような計算はすべて不正になってしまう訳ね。 という訳で、CAの有効期間を20年とすることで取り合えず正常に処理はできましたが、このままでは2038年問題はその10年程度前に問題が顕在化する わな。こりゃあ。