만료 된 키를 gpg2에 강제로 사용하는 방법은 무엇입니까?


14
$ gpg -ear XXXXXXX
gpg: XXXXXXXX: skipped: unusable public key

$ gpg --debug-ignore-expiration -ear XXXXXXXX
gpg: Invalid option "--debug-ignore-expiration"

암호화하는 방법? 키 서버에서 사용 가능한 키에 대한 업데이트가 없습니다. 사용자에게 여전히 만료 된 키가 있거나 전혀 보이지 않으면 메시지가 표시되어야합니다.

--just-do-that-I-wantGPG의 소스 코드를 변경하지 않고이 작업을 수행 할 수 있는 옵션이 있습니까?


왜 이러고 싶어? 기본적으로 전체 보안을 무너 뜨립니다. GPG는 당신이 문자 그대로 Cleartext를 보낼 수 있습니다. 나는 당신이 단지의 공개 키를 업데이트 할받는 사람을 요청하는 것이 좋습니다
konqui

오랫동안 만료 된 키를 사용하면 키를 전혀 사용하지 않는 것보다 보안이 향상됩니다. 또한 오래 만료 된 오래된 키를 사용하여 아카이브에서 오래된 메시지를 해독해야 할 수도 있습니다.
Vi.

Shure는 아마도 암호화가 깨졌을 가능성이 전혀 없습니다. 나는 단지 이유 때문에 그것을 과장합니다. 이전 공개 키로 암호화 된 이전 메시지의 경우 예, 이전 개인 키를 사용해야하지만 새 메시지에 사용할 새 키 쌍을 만들 수는 없습니다. 따라서 오래된 공개 키를 사용해야 할 이유가 없습니다. 개인 키는 또 다른 일이지만 Decription에 오래된 개인 키 사용에 대해 불평하는 적이 없었습니다.
konqui

답변:


12

@rob이 의견에서 제안 했듯이 libfaketime 은 이것을 잘 처리합니다.

$ gpg  -v -v -v --batch --trust-model always -ear D5B9D38C <<< "qweqe"
gpg: using character set 'utf-8'
gpg: Note: signature key 077EA269D5B9D38C expired Sun 09 Nov 2014 12:57:25 PM +03
gpg: D5B9D38C: skipped: Unusable public key
gpg: [stdin]: encryption failed: Unusable public key

$ faketime  '2012-12-24 08:15:42'  gpg  -v -v -v --batch --trust-model always -ear D5B9D38C <<< "qweqe"
gpg: using character set 'utf-8'
gpg: using subkey 85231B396B9569ED instead of primary key 077EA269D5B9D38C
gpg: No trust check due to '--trust-model always' option
gpg: reading from '[stdin]'
gpg: writing to stdout
gpg: RSA/AES256 encrypted for: "..."
-----BEGIN PGP MESSAGE-----
...

이전 답변 :

  1. UML 시작 (사용자 모드 Linux)
  2. UML 내부의 날짜를 허용 가능한 범위로 설정하십시오.
  3. UML에서 메시지 암호화

1
libfaketime을 사용하여 날짜를 가짜로 만들 수도 있습니다. 답과 같은 생각이지만 일부에게는 더 쉬울 수 있습니다.
rob

2
--force 옵션이 심각하지 않으므로 데이트 해킹만이 가능합니까? m (
mcantsin

3

--faked-system-time옵션을 사용하십시오 :

gpg2 --faked-system-time 20100101T000000 -e -r keyid

올바른 시간 (특히 서명 할 때)을 기록하면서 만료 된 키에 암호화를 강제하는 옵션을 선호합니다.


2

하드웨어 및 시스템 시계를 재설정하십시오.

sudo hwclock --set --date "12/31/2017 23:59:59" && \
sudo hwclock --hctosys && \
gpg --sign-with $keyid --clearsign --armor < $file

그런 다음 (NTP를 사용하도록 설정했으면합니다) 하드웨어 시계를 다음과 같이 수정하십시오.

sudo hwclock --systohc

2
너무 과감합니다. 전체 시스템이 아닌 gpg에 대해서만 시간을 재정의해야합니다.
Vi.

2
faketime '2012-12-24 08:15:42' gpg ...더 나은.
Vi.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.