GnuPG를 사용하여 공개 키를 그룹화할 수 있습니까?

GnuPG를 사용하여 공개 키를 그룹화할 수 있습니까?

가져온 공개 키( )를 그룹화하여 정리하고 싶습니다 gpg --import.

예를 들어, 오랫동안 보관하고 싶은 공개 키가 많지만 한두 번 사용하고 결국 삭제해야 하는 공개 키는 없습니다(그룹이 없으면 모든 키를 수동으로 검토해야 합니다).

답변1

--keyring사용하고 알아 냈습니다 --no-default-keyring.

작업 효율성을 높이기 위해 일부 기능이 추가되었습니다 .zshrc(macOS에서는 기본 키링을 이라고 함 pubring.gpg).

# Search keys.openpgp.org
function search-keys() {
  if [ -z "$1" ]; then
    printf "%s\n" "Usage: search-keys [keyring] id"
    return 1
  fi
  if [ -z "$2" ]; then
    2=$1
    1=pubring.gpg
  fi
  if [ $1 != "pubring.gpg" ] && [ $1 != "tmp.gpg" ]; then
    printf "%s\n" "Invalid keyring $1"
    return 1
  fi
  gpg --keyring $1 --no-default-keyring --keyserver hkps://keys.openpgp.org --search-keys $2
}

# Import public key
function import() {
  if [ -z "$1" ]; then
    printf "%s\n" "Usage: import [keyring] /path/to/pubkey.asc"
    return 1
  fi
  if [ -z "$2" ]; then
    2=$1
    1=pubring.gpg
  fi
  if [ $1 != "pubring.gpg" ] && [ $1 != "tmp.gpg" ]; then
    printf "%s\n" "Invalid keyring $1"
    return 1
  fi
  gpg --keyring $1 --no-default-keyring --import $2
}

# List public keys
function list-keys() {
  if [ -z "$1" ]; then
    1=pubring.gpg
  fi
  if [ $1 != "pubring.gpg" ] && [ $1 != "tmp.gpg" ]; then
    printf "%s\n" "Invalid keyring $1"
    return 1
  fi
  gpg --keyring $1 --no-default-keyring --list-keys $2
}

# Encrypt message for id
function encrypt() {
  if [ -z "$1" ]; then
    printf "%s\n" "Usage: encrypt id"
    return 1
  fi
  gpg --keyring "tmp.gpg" --encrypt --sign --armor -r 0xC1323A377DE14C8B -r $1
}

# Decrypt and decode encrypted file
function decrypt() {
  if [ -z "$1" ]; then
    printf "%s\n" "Usage: decrypt /path/to/encrypted.asc"
    return 1
  fi
  gpg --decrypt $1 | perl -MMIME::QuotedPrint -0777 -nle 'print decode_qp($_)'
}

0xC1323A377DE14C8B공개 키로 바꾸세요 .

관련 정보