가져온 공개 키( )를 그룹화하여 정리하고 싶습니다 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
공개 키로 바꾸세요 .