[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:46463] dpkg-source -x における 署名チェック



えとーです。

dpkg-source -x したり apt-get source したりすると。

gpg: 2005年07月05日 10時31分23秒 JSTにDSA鍵ID 2FA9A38Cで施された署名
gpg: 署名を検査できません: 公開鍵が見つかりません

のようにでますが、これってどのように出なくできるんでしょうか?

/etc/apt/trusted.gpg
のようなものは dpkg-source 向けにはないんですかね。

dpkg-source の中で gpg を呼んでるのは 573行目から 597行目までかと。

    my $is_signed = 0;
    open(DSC,"< $dsc") || &error("cannot open .dsc file $dsc: $!");
    while (<DSC>) {
	next if /^\s*$/o;
	$is_signed = 1 if /^-----BEGIN PGP SIGNED MESSAGE-----$/o;
	last;
    }
    close(DSC);

    if ($is_signed) {
	if (-x '/usr/bin/gpg') {
	    my $gpg_command = 'gpg -q --verify '.quotemeta($dsc).' 2>&1';
	    my @gpg_output = `$gpg_command`;
	    my $gpg_status = $? >> 8;
	    if ($gpg_status) {
		print STDERR join("",@gpg_output);
		&error("failed to verify signature on $dsc")
		    if ($gpg_status == 1);
	    }
	} else {
	    &warn("could not verify signature on $dsc since gpg isn't installed");
	}
    } else {
	&warn("extracting unsigned source package ($dsc)");
    }