মেয়াদোত্তীর্ণ কী ব্যবহার করতে কীভাবে জিপিজি 2 কে বাধ্য করবেন?


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-wantবিকল্প রয়েছে যা জিপিজির উত্স কোডটি পরিবর্তন না করেই এটি করার অনুমতি দেবে?


আপনি এই কাজ করতে চান কেন? এটি মূলত পুরো সুরক্ষাটি ভেঙে দেয় থিং জিপিজি আপনি আক্ষরিকভাবে কেবল এটি ক্লিয়ারটেক্সট পাঠাতে পারেন যদি আপনি এটি করেন। আমি আপনাকে কেবল প্রাপ্তি ব্যক্তিটিকে তার সর্বজনীন কী আপডেট করার জন্য বলার পরামর্শ দিচ্ছি
কনকুই

দীর্ঘ মেয়াদোত্তীর্ণ কী ব্যবহার করা কোনও কী ব্যবহার না করার তুলনায় আরও ভাল সুরক্ষা দেয়। এছাড়াও পুরানো দীর্ঘ-মেয়াদী কী ব্যবহার করে সংরক্ষণাগার থেকে পুরানো বার্তাকে ডিক্রিপ্ট করার প্রয়োজন হতে পারে।
vi।

শ্যুর এছাড়াও সম্ভবত ভাঙ্গা এনক্রিপশন মোটে কোনও এনক্রিপশন চেয়ে ভাল। আমি কেবল কারণগুলির কারণে এটাকে বাড়িয়ে তুলি। পুরানো বার্তাগুলির জন্য পুরানো পাবলিক কী সাথে তত্ক্ষণাত্ এনক্রিপ্ট করা হয়েছে, হ্যাঁ তাকে তার পুরানো প্রাইভেট কী ব্যবহার করা দরকার তবে এটি আমার নয় যে নতুন বার্তাগুলি ব্যবহারের জন্য তিনি একটি নতুন কী তৈরি করতে পারবেন না। পুরানো পাবলিক কীটি ব্যবহার করার সত্যিই কোনও কারণ নেই। প্রাইভেট কী অন্য জিনিস, তবে ডিক্রিপশনের জন্য পুরানো প্রাইভেট কী ব্যবহার করার বিষয়ে আমি কখনও জিপিজি অভিযোগ করিনি।
কনকিউ

উত্তর:


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. ইউএমএল (ব্যবহারকারী মোড লিনাক্স) শুরু করুন
  2. ইউএমএলের ভিতরে গ্রহণযোগ্য ব্যাপ্তিতে তারিখ নির্ধারণ করুন।
  3. ইউএমএলে বার্তা এনক্রিপ্ট করুন

1
লাইবফেকটাইম ব্যবহার করে তারিখটিও নকল করতে পারে। উত্তর হিসাবে একই ধারণা, তবে কারওর পক্ষে সহজ হতে পারে।
ছিনতাই করুন

2
গুরুত্ব সহকারে কোনও --for বিকল্প নেই, সুতরাং কেবল একটি তারিখ হ্যাক কেবল তা করে? মি (
ম্যাক্যান্টসিন

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

এর পরে (আমি আশা করি আপনি এনটিপি সক্ষম করেছেন) আপনার হার্ডওয়্যার ক্লকটি এর সাথে ঠিক করুন:

sudo hwclock --systohc

2
খুব কঠোর। পুরো সিস্টেমের জন্য নয়, সময়টি কেবল জিপিজির জন্য ওভাররাইড করা উচিত।
vi।

2
faketime '2012-12-24 08:15:42' gpg ...ভাল.
vi।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.