2004-12-17

λ クライアント証明書期限切れ

  • Windowsマシンにある新しめのクライアント証明書をエクスポート(PKCS#12形式) tako-2004.p12
  • Subversionで証明書使ってるマシンに tako-2004.p12 を置く
  • ~/.subversion/servers の証明書指定しているところ書換え
  • openssl pkcs12 -in tako-2004.p12 で、秘密鍵(tako-2004.key.crypt)と公開証明書(tako-2004.crt)を取り出す
  • openssl rsa -in tako-2004.key.crypt -out tako-2004.key で秘密鍵のDES暗号化解除
  • この日記を更新している Ruby スクリプトの証明書指定しているところを書換え

基本的には年1回更新なので、証明書は年がわかるようなファイル名にしている。 Subversionなどの設定から参照するのは、年を含まないファイル名にしてシンボリックリンクをはるような運用にするのが楽かも。

λ [Mac][Windows] 日本語を含んだ CommonName 証明書

WindowsServer環境で証明書を発行すると、日本語が CommonName に含まれた状態の証明書がへろっとできる。

PKCS#12形式にエクスポートしたら MacOSX のキーチェーンに読み込ませることもできてちゃんと日本語が表示されるのだが、 どうも Safari で使わせてくれない。昔もはまったような気がするが… あんまり闘ってる余裕がないので 英数字だけの CommanName なユーザを作って対処。

CommonName にどういう文字セットを使っていいのかの規格を探さないと、WindowsとMacのどっちが悪者なのかが判別できない。

λ LWPで、「https://」で始まるSSL使用サイトにアクセスできますか?

Perl から証明書の検証ができるのかは不明。 Net::SSLeayモジュールがあれば勝手に有効になるというあたり、証明書指定のインターフェースがなさそうな雰囲気濃厚。

それとも Net::SSLeayモジュール側が環境変数見るのかな?

λ [.NET] 文字列のひらがな/カタカナをチェックするには?

正規表現の文字クラスとして、「ひらがな」「カタカナ」というのを Unicode グループで指定できる。

\p{IsHiragana}
\p{IsKatakana}
\p{IsCJKUnifiedIdeographs}

CJKUnifiedIdeographs とJIS第一水準/JIS第二水準との関係は全然わからんが「普通の漢字」と思っていいんかな。

(21日追記)Shift_JISな環境のASP.NETで送られた文字を Char.GetUnicodeCategory メソッドで調べると OtherLetter らしい。謎。

[]