適切な署名の有効期限確認を無効にする

適切な署名の有効期限確認を無効にする

長い間、手を触れていないリポジトリでaptを使用しようとしています。残念ながら、そのリポジトリのgpgキーは期限切れです。 (さまざまなキーサーバーで更新しようとしましたが、成功しませんでした。)

署名確認を完全に無効にしたくありません。期限切れのキーの署名を確認するための適切な方法はありますか?

答え1

私はaptでこのチェックを無効にする方法がないという結論に達しました。このチェックを実装するコードは次のとおりです。methods / gpgv.cc。

if (strncmp(buffer, GNUPGKEYEXPIRED, sizeof(GNUPGKEYEXPIRED)-1) == 0)
{
   if (Debug == true)
      std::clog << "Got KEYEXPIRED! " << std::endl;
   WorthlessSigners.push_back(string(buffer+sizeof(GNUPGPREFIX)));
}

そしてそのあとにどんな種類の条件もないようです。

ただし、このチェックはfaketimeを使用して解決できます。例えば

faketime 2017-01-01 apt-get update

関連情報