1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/bin/sh
- usage() {
- cat <<EOF
- Usage: $0 <command> <arguments...>
- Commands:
- add <file>: Add keyfile <file> to opkg trusted keys
- remove <file>: Remove keyfile matching <file> from opkg trusted keys
- verify <sigfile> <list>: Check list file <list> against signature file <sigfile>
- EOF
- exit 1
- }
- opkg_key_verify() {
- local sigfile="$1"
- local msgfile="$2"
- (
- zcat "$msgfile" 2>/dev/null ||
- cat "$msgfile" 2>/dev/null
- ) | usign -V -P /etc/opkg/keys -q -x "$sigfile" -m -
- }
- opkg_key_add() {
- local key="$1"
- [ -n "$key" ] || usage
- [ -f "$key" ] || echo "Cannot open file $1"
- local fingerprint="$(usign -F -p "$key")"
- mkdir -p "/etc/opkg/keys"
- cp "$key" "/etc/opkg/keys/$fingerprint"
- }
- opkg_key_remove() {
- local key="$1"
- [ -n "$key" ] || usage
- [ -f "$key" ] || echo "Cannot open file $1"
- local fingerprint="$(usign -F -p "$key")"
- rm -f "/etc/opkg/keys/$fingerprint"
- }
- case "$1" in
- add)
- shift
- opkg_key_add "$@"
- ;;
- remove)
- shift
- opkg_key_remove "$@"
- ;;
- verify)
- shift
- opkg_key_verify "$@"
- ;;
- *) usage ;;
- esac
|