簡體   English   中英

如何在不使用本地存儲的情況下從gpg獲取私鑰(在〜/ .gpg下)?

[英]How to get public key from private in gpg without using local storage (under ~/.gpg)?

Subj:如何在不使用本地存儲的情況下(在〜/ .gpg下)從gpg獲取私鑰?

該解決方案不滿足要求:

$ gpg --import priv.key
  $ gpg --export $KEYID >pub.key
  $ gpg --delete-secret-and-public-key $KEYID

我不明白為什么你對你已經提出的解決方案不滿意,但如果由於某種原因你真的想避免弄亂你的個人密鑰,我可以提供其他的東西:

gtmp=$(mktemp -d)
gpg --homedir $gtmp --import key
gpg --homedir $gtmp --export key > pub.gpg
rm -rf $gtmp

或者作為方便的BASH功能:

# Requires keyfile as 1st argument; optional 2nd argument is output file
gpg_priv_to_pub(){
  g=$(mktemp -d)
  infile=$1
  [[ $# > 1 ]] && outfile=$2 || outfile=${1%.*}_pub.gpg
  gpg --homedir $g --import "$infile" 2>/dev/null
  KEYID=$(gpg --homedir $g -k --with-colons | awk -F: '/^pub/{print $5}')
  gpg --homedir $g --export $KEYID > "$outfile"
  rm -rf $g
  echo "Public key $KEYID extracted from '$infile' and saved to '$outfile'"
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM