Namazu for Windows 2.0.18 について2008年03月13日 05時35分28秒

現在 Namazu for Windows 2.0.18 のバイナリアーカイブを準備中ですが、nmz2.0.18.001-win32.zip の公開までにはまだ時間がかかます。

公開されるまでの期間は Namazu 2.0.18 相当の修正が行われているnmz2.0.18RC3.002-win32.zip をご利用ください。

なお、nmz2.0.18.001-win32.zip は1週間以内にリリースする予定です。 リリース後には nmz2.0.18.001-win32.zip をインストールしていただき、Namazu for Windows 2.0.18 に差し替えていただきますようお願いいたします。

  • アーカイブファイル

http://www.akaneiro.jp/public/nmz2.0.18RC3.002-win32.zip

  • 署名ファイル

http://www.akaneiro.jp/public/nmz2.0.18RC3.002-win32.zip.sig

  • MD5sumファイル

http://www.akaneiro.jp/public/nmz2.0.18RC3.002-win32.zip.md5

(md5: 08bc25777509e3eb7c30da51b27eca6a)

  • sha1sumファイル

http://www.akaneiro.jp/public/nmz2.0.18RC3.002-win32.zip.sha1

(sha1: 8e11cdfde2fbbb9972aa3cd971056131beff5fa9)

Search-Namazu PPM 更新2008年03月16日 05時04分33秒

Search-Namazu PPM を更新しました。

今まで Namazu 2.0.17 ベースの Search-Namazu でしたが、これを Namazu 2.0.18 ベースのものに変更しました。 (Search-Namazu のバージョンは 0.96 のままです。)

Search-Namazu だけを更新することもできますが、Namazu のアーカイブ内に含まれる ppm-uninst.bat と ppm-inst.bat を使うと簡単にバージョンアップすることができます。

C:\> cd nmz2.0.18RC3.002-win32
C:\nmz2.0.18RC3.002-win32> ppm-uninst
C:\nmz2.0.18RC3.002-win32> ppm-inst

ActivePerl + Search-Namazu PPM のテストプログラム2008年03月17日 13時02分17秒

Windows ActivePerl + Search-Namazu PPM のテストプログラムです。

#!/usr/bin/perl

require 5.008;
use strict;
use Encode;
use Search::Namazu 0.96;


my $QUERY = 'namazu';
my @INDEX = ( 'C:/namazu/var/namazu/index', );
my $EXTERNAL_CHARSET = 'Shift_JIS';


sub codeconv($);

delete $ENV{'LANGUAGE'};
delete $ENV{'LC_ALL'};
delete $ENV{'LC_MESSAGES'};
delete $ENV{'LC_CTYPE'};
delete $ENV{'LANG'};

my @hlists =
    Search::Namazu::Search(
        index => @INDEX,
        query => $QUERY,
        sortMethod => NMZ_SORTBYSCORE,
        sortOrder => NMZ_DESCENDSORT,
        lang => 'ja_JP.eucJP',         # or 'C'
    );

if ($#hlists == 0 && !ref($hlists[0])) {
    print "Error: $hlists[0]\n";
    exit 1;
}

my $docs = $#hlists + 1;
print "Total $docs documents matching your query.\n\n";

my $n = 1;
foreach my $hlist (@hlists) {
    next if (!defined($hlist));

    my $date = localtime($hlist->date);

    printf("%d. %s (score: %d)", $n, codeconv($hlist->title), 
        $hlist->score);
    printf(" (rank: %d)\n", $hlist->rank);
    printf("Author: %s\n", codeconv($hlist->author));
    printf("Date: %s\n", $date);
    printf("%s\n", codeconv($hlist->summary));
    printf("%s\n", codeconv($hlist->uri));
    print "\n";
    $n++;
}

sub codeconv($)
{
    my ($str) = @_;

    Encode::from_to($str, 'EUC-JP', $EXTERNAL_CHARSET)
        if ($EXTERNAL_CHARSET ne 'EUC-JP');

    $str;
}
  • $QUERY に検索式、@INDEX にインデックス(複数指定可)を設定します。
  • コマンドプロンプトから実行すると、検索結果が Shift_JIS で得られます。
C:\> perl search.pl

コードサイニング証明書によるデジタル署名2008年03月19日 12時53分13秒

デジタル署名

この度、GlobalSign からコードサイニング証明書(MS Authenticode) の発行を受けました。 (GlobalSign は、以前より https://www.akaneiro.jp/ の SSLサーバ証明書を利用しています。)

コードサイニング証明書とは、デジタル署名を行う証明書のことです。 デジタル署名を行うことで、配布元を認証し、改ざんされていないことを保証することができます。これにより、ユーザは入手したソフトウェアを安全に利用することが可能になります。

そこで、手始めに Search-Namazu PPM に含まれる DLL に対して、コードサイニング証明書(MS Authenticode) でデジタル署名を行いました。

新しい Search-Namazu をインストールしていただくと、c:\Perl\site\lib\auto\Search\Namazu\Namazu.dll にデジタル署名が付いていることが確認できるかと思います。

今後は配布している PPM に含まれる DLL や EXE に対して随時、デジタル署名を行う予定です。

また、Namazu for Windows も 2.0.18 よりデジタル署名を行う予定です。

※ Windows2000環境において、検証時、ワーニング(警告)が表示される問題があるそうです。詳細は下記をご覧下さい。

http://jp.globalsign.com/support/index.php?sid=994670&lang=ja&action=artikel&cat=12&id=228&artlang=ja

デジタル署名の話(1)2008年03月22日 00時34分52秒

デジタル署名の目的は

  • ソフトウェアの発行者の確認(なりすまし防止)
  • 公開後のソフトウェアの変更有無の確認(改ざん防止)

の2点が確認できることです。

つまり私の配布している署名付きプログラムについて言えば、

  1. 署名が配布者の "Tadamasa TERANISHI" であるかどうか
  2. 署名後に"変更がない"かどうか

をユーザが確認できるということです。 (確認方法はあらためて記述します。) プログラムに署名がなければ、そのことを確認することは容易ではありません。

ただし、プログラムに署名があるからといって、そのプログラムが私の配布物と同じ(=安全である)ということにはなりません。 それは署名が信頼できるものかどうかによるためです。

仮に何らかの署名があったとしても、第三者の署名の可能性がありますし、署名後に変更されている場合は中身が異なっている(改ざんされている)ことになるためです。

悪意のある第三者がトロイの木馬を仕掛けた改ざん版を配布するかもしれませんし、それを悪意のある第三者の署名を付けて配布するかもしれません。

そのため、署名が正しいかどうかの確認と、署名後の変更がないことの確認を行うことが重要となります。

なお、GPL のプログラムについては、第三者が GPL に従って再配布している場合がありえます。この場合は、プログラムに署名がないか、署名が異なることになります。これをもって、そのプログラムが"安全ではない"ということにはなりませんが、私が配布しているものとは異なるものであるということに注意してください。そのプログラムを信用するかどうかは利用者が判断してください。

署名が正しいかどうかの確認と、署名後に変更がないことを確認できれば、私の配布物ということになります。 なお、私の署名は私の配布物であることを確認するための手段に過ぎず、その配布物に不具合がないとか、バグがない等を保障するものではありませんのでお間違いなく。

最後に、この署名を行った Tadamasa TERANISHI が信頼できるかどうかは、利用者が判断しなければなりません。

Namazu for Windows 2.0.18 (アーカイブ001) を公開しました。2008年03月22日 10時03分46秒

Namazu for Windows 2.0.18 (アーカイブ001) を公開しました。

Namazu 2.0.18 を Windows で使用するために、コンパイル済みのバイナリを 作成しました。

Web サーバから PPM ファイルをインストールする必要がありますので、 インストール時にインターネットに接続する必要があります。

動作環境

  • ActivePerl 800番台 (500, 600, 1000 番台用の Perl モジュールは用意しておりません。ご自分で Perl モジュールをご用意ください。)
  • Windows x86 環境

備考

  • Visual C++ 2005 でコンパイルを行いました。これに伴い namazu.exe はインデックスの指定にワイルドカードが使えなくなりました。
  • namazu.exe, namazu.cgi.exe には、デジタル署名を行いました。

OLE-Storage_Lite 0.16 PPM バージョンアップのお知らせ2008年03月22日 15時47分40秒

ActivePerl 用 OLE-Storage_Lite PPM を更新しバージョン 0.16 にしました。

[インストール方法] コマンドプロンプトを開き、次のコマンドを入力してください。

C:\> ppm uninstall OLE-Storage_Lite
C:\> ppm install 
    http://www.akaneiro.jp/PPMPackages/800/OLE-Storage_Lite.ppd

[ソース]

https://www.akaneiro.jp/members/PPMPackages/zips/8xx-builds-only/Windows/

にソースを含めてまとめた zip ファイルをメンバエリアに置いています。

  • メンバエリアにアクセスするためにはユーザIDとパスワードが必要になります。
  • ActivePerl ビルド800番台専用です。500, 600, 1000番台では使用できませんのでご注意ください。
  • プロキシ経由 で ppm を利用する場合は http://namazu.asablo.jp/blog/2007/07/01/1618129 を参照してください。
  • 予告なく PPM, zip の中身は更新します。
  • Namazu for Windows 以外の用途にも利用できます。

デジタル署名の話(2)2008年03月22日 19時22分36秒

Microsoft Authenticode用 デジタル署名を検証するには、signtool コマンドを使用します。
signtool は、VisualStudio 2005 や Windows Server 2003 SP1 Platform SDK 等に含まれます。

例えば namazu.exe を signtool で検証すると次のような結果が得られます。
GlobalSign はWebTrustを取得した認証局であり、GlobalSign のルート証明書は Windows にインストールされています。(Windows Update は必要)
signtool の結果を比較して、一致しているかどうかを確認しましょう。

以下は、signtool の検証結果を PGP で署名することで、内容の改ざんを防いでいます。
ちなみにこの PGP 鍵は Namazu の tarball の署名に使っているのと同じ鍵ですので、Namazu の tarball と同等の信頼性を確保しています。 (もちろん PGP や gpg で署名を確認する必要があります。)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

C:\> signtool verify /pa /v namazu.exe

Verifying: namazu.exe
Signing Certificate Chain:
    Issued to: GlobalSign Root CA
    Issued by: GlobalSign Root CA
    Expires:   2014/01/28 21:00:00
    SHA1 hash: 2F173F7DE99667AFA57AF80AA2D1B12FAC830338

        Issued to: GlobalSign Primary Object Publishing CA
        Issued by: GlobalSign Root CA
        Expires:   2014/01/27 20:00:00
        SHA1 hash: 987FD000DCB121517D72453EE5176EB92B1363B9

            Issued to: GlobalSign ObjectSign CA
            Issued by: GlobalSign Primary Object Publishing CA
            Expires:   2014/01/27 19:00:00
            SHA1 hash: C4D3AF55C2623BDD2D1B145589E521519957AA48

                Issued to: Tadamasa TERANISHI
                Issued by: GlobalSign ObjectSign CA
                Expires:   2010/03/18 19:25:38
                SHA1 hash: B60D42AC88822A15871CE045A484ABF389E559F1

The signature is timestamped: 2008/03/20 22:52:33
Timestamp Verified by:
    Issued to: GlobalSign Root CA
    Issued by: GlobalSign Root CA
    Expires:   2014/01/28 21:00:00
    SHA1 hash: 2F173F7DE99667AFA57AF80AA2D1B12FAC830338

        Issued to: GlobalSign RootSign Partners CA
        Issued by: GlobalSign Root CA
        Expires:   2014/01/27 20:00:00
        SHA1 hash: 0CEEB712AE36104D77193533FDF91F15B5119177

            Issued to: GlobalSign Time Stamping Authority
            Issued by: GlobalSign RootSign Partners CA
            Expires:   2014/01/27 18:00:00
            SHA1 hash: 8C4EB0708E6EC754F47B2D788089132ECBCC9B01

Successfully verified: namazu.exe

Number of files successfully Verified: 1
Number of warnings: 0
Number of errors: 0

-----BEGIN PGP SIGNATURE-----
Version: PGP Personal Privacy 6.5.8J

iQA/AwUBR+SuXhf1UvQQ59FOEQKrdwCg9VVE2YiXDeWlvBjS7Z/TwgPYQaoAoMmq
6wodGi33P1wc/Wbm9mJcgLzn
=oBuZ
-----END PGP SIGNATURE-----

このページは暗号化されていません。このため、このページの情報が悪意のある第三者によって改ざんされているかもしれません。
このページ以外にも署名に関する情報を公開しますので、必ず他の情報と照らし合わせて、正しい情報を入手してください。

ActivePerl ビルド 800番台専用です。2008年03月25日 21時06分36秒

この一週間の PPM のアクセス数は以下の通りです。

PPM 855 アクセス 100.00%

・PPM/4.01 ActivePerl/5.8.8.822 (MSWin32) libwww-perl/5.806 643 75.20%

・PPM/4.01 ActivePerl/5.10.0.1002 (MSWin32) libwww-perl/5.808 117 13.68%

・PPM/4.01 ActivePerl/5.8.8.820 (MSWin32) libwww-perl/5.805 71 8.30%

・PPM/4.00 ActivePerl/5.8.8.819 (MSWin32) libwww-perl/5.805 24 2.81%

ここで第2位の13.68%(117アクセス) は、ActivePerl 5.10.0.1002 です。 サイトにおいてある PPM はビルド800番台用ですので、これらは全てインストールに失敗したことでしょう。

マニュアルにもちゃんと 800番台専用と書いてありますし、PPM ファイルのパス名にも800と入っているのですが、何故こんなにアクセスするんでしょうねぇ。

なお、1000番台の PPM は用意していませんが、ご自身で Perl モジュールを作成すれば Namazu for Windows は使えます。

Text-Iconv PPM を公開2008年03月26日 16時19分33秒

Windows ActivePerl 用 Text-Iconv PPM を公開しました。

https://www.akaneiro.jp/members/PPMPackages/zips/8xx-builds-only/Windows/

にソースを含めてまとめた zip ファイルをメンバエリアに置きました。

  • メンバエリアにアクセスするためにはユーザIDとパスワードが必要になります。
  • ActivePerl ビルド800番台専用です。500, 600, 1000番台では使用できませんのでご注意ください。
  • 予告なく PPM, zip の中身は更新します。