HTTP_Requestを使ってはてなフォトライフへ画像を投稿

こことかを参考にしつつ(今さら)はてなフォトライフAtomAPIを使用して画像を投稿する処理をあーでもないこーでもないって悩んでいた。
PEARのHTTP_Requestを使ってどうやらできたみたい。
とりあえずコードはこんな感じ。

function postImage($account,$password,$img) {

    $handle = fopen($img, "rb");
    $contents = '';
    while (!feof($handle)) {
        $contents .= fread($handle, 8192);
    }
    fclose($handle);
    $jpegdata = base64_encode($contents);

    $created = date('Ymd\TH:i:s\Z');
    $nonce = pack('H*', sha1(md5(time())));
    $pass_digest = base64_encode(pack('H*', sha1($nonce.$created.$password))); 
    $wsse = 
        'UsernameToken Username="'.$account.'", '.
        'PasswordDigest="'.$pass_digest.'", '.
        'Created="'.$created.'", '.
        'Nonce="'.base64_encode($nonce).'"';

    $rawdata = '<entry xmlns="http://purl.org/atom/ns#">'.
           '<title>Sample</title>'.
           '<content mode="base64" type="image/jpeg">'.$jpegdata.'</content>'.
           '</entry>';

    $url = 'http://f.hatena.ne.jp/atom/post';

    $req = new HTTP_Request();
    $req>addHeader('Accept','application/x.atom+xml, application/xml, text/xml, */*');
    $req>addHeader('Authorization', 'WSSE profile="UsernameToken"');
    $req>addHeader('XWSSE',$wsse );
    $req>addHeader('ContentType', 'application/x.atom+xml');
    $req>setMethod(HTTP_REQUEST_METHOD_POST);
    $req>setURL($url);
    $req>addRawPostData($rawdata);
    $res = $req>sendRequest();
    if (PEAR :: isError($res)) {
        return $res;
    }

    return true;
}

にしてもWSSE認証って今後も普及するのかしら?