[devel] alt-rpm signature verification

Evgeny Sinelnikov sin на altlinux.ru
Чт Май 7 21:31:02 MSD 2009


7 мая 2009 г. 21:22 пользователь Mikhail Gusarov
<dottedmag at altlinux.org> написал:
>
> Twas brillig at 21:21:28 07.05.2009 UTC+04 when ldv at altlinux.org did gyre and gimble:
>
>  DVL> А зачем?  По какой причине не годится основное хранилище ключей?
>
> Это alt-gpgkeys или какое-то другое?
>

Видимо, имеется в виду %_gpg_path. Но ответ тут прост. Дополнительное
нужно, чтобы не отрубалось "основное" из хомячка...
    /* Now run GPG */
    {
        const char *gpg_path = rpmExpand( "%{?_internal_gpg_path}", NULL );
        const char *gpg_home = ( gpg_path && *gpg_path ) ? gpg_path : 0;
        rpmVerifySignatureReturn res = gpg_home ?
                do_verifyGPGSignature( gpg_home, sigfile, datafile,
result ) : RPMSIG_NOKEY;
        gpg_path = _free( gpg_path );

        if ( RPMSIG_NOKEY == res )
        {
            gpg_path = rpmExpand( "%{?_gpg_path}", NULL );
            gpg_home = ( gpg_path && *gpg_path ) ? gpg_path : 0;
            res = do_verifyGPGSignature( gpg_home, sigfile, datafile, result );
            gpg_path = _free( gpg_path );
        }

        unlink(sigfile);
        return res;
    }

Если что-то задать путь "основного" иным, чем в хомячке, то, по
понятным причинам, перестаёт работать, например, rpm --addsign.


-- 
Sin (Sinelnikov Evgeny)


Подробная информация о списке рассылки Devel