Apacheの基本認証が通らない

Apache2.4.4でhtpasswdを使って基本認証ファイルにユーザを追加。

# /usr/local/apache2/bin/htpasswd /usr/local/apache/conf/.htpasswd newuser
New password: xxxxxx (実際はエコーされない)
Re-type new password:xxxxxx 
Adding password for user newuser

これでapacheを再起動。でもちゃんと認証されない。error_logをみるとパスワードが違いますとのこと。

[Thu Jun 06 10:52:32.652943 2013] [auth_basic:error] [pid 27900:tid 140454880155392] [client xx.xx.xx.xx:47672] AH01617: user newuser: authentication failure for "/example": Password Mismatch

なぜだ。.htpasswd中の既存ユーザのパスワードカラムをnewuserのところにコピーすると認証が通るのでapacheの設定ファイルの問題ではない。htpasswdが生成するパスワードが間違っているのかなと昔の記事を参考にしてperlでパスワード生成。そうするとちゃんと認証される。どうやらhtpasswdが間違っているようです。

apacheのbugzillaを検索すると、やっぱりhtpasswdのバグらしい。
こうやってコマンドラインからパスワード指定すると回避できる。

htpasswd -b passwordfile user password