Guest User

Untitled

a guest
Oct 18th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. PKG=/tmp/simplepackage-1.0-1.fc26.noarch.rpm
  2. cp ~/work/RPM-Sign/resource/simplepackage-1.0-1.fc26.noarch.rpm $PKG
  3. GPG_PATH=`mktemp -d`
  4. chmod 700 $GPG_PATH
  5.  
  6. GPG="gpg --homedir $GPG_PATH"
  7. GPG2="gpg2 --homedir $GPG_PATH"
  8.  
  9. GPG_KEYPARAMS=`mktemp`
  10.  
  11. cat > $GPG_KEYPARAMS <<EOF
  12. Key-Type: DSA
  13. Key-Length: 2048
  14. Subkey-Type: ELG-E
  15. Subkey-Length: 2048
  16. Name-Real: Unit Test
  17. Name-Email: test@example.com
  18. Expire-Date: 0
  19. Passphrase: test passphrase
  20. %commit
  21. EOF
  22.  
  23. pkill gpg-agent
  24. cat > $GPG_PATH/gpg-agent.conf <<EOFF
  25. allow-preset-passphrase
  26. EOFF
  27.  
  28. $GPG --batch --lock-multiple --gen-key < $GPG_KEYPARAMS
  29.  
  30. PUBFPRINT=`$GPG --list-keys | grep '^pub' | cut -f2 -d/ | cut -f1 -d' '`
  31.  
  32. KEYGRIP=`$GPG2 --with-keygrip -K $PUBFPRINT | grep "Keygrip =" | head -1 | cut -c17-`
  33.  
  34. echo "KEYGRIP: $KEYGRIP"
  35.  
  36.  
  37.  
  38. # gpg-agent --homedir $GPG_PATH --daemon
  39. gpgconf --homedir $GPG_PATH --launch gpg-agent
  40. # gpg-agent --homedir $GPG_PATH --batch --debug-level basic --daemon /bin/sh
  41.  
  42. /usr/libexec/gpg-preset-passphrase --passphrase 'test passphrase' --preset $KEYGRIP
  43.  
  44. rpm --checksig $PKG
  45.  
  46. rpm --addsign --define "_gpg_name Unit Test" \
  47. --define "__gpg_check_password_cmd /bin/true" \
  48. --define "__gpg_sign_cmd %{__gpg} gpg2 --homedir $GPG_PATH --batch --no-verbose --no-armor --use-agent -u 'Unit Test' -sbo %{__signature_filename} %{__plaintext_filename}" \
  49. $PKG
  50.  
  51. rpm --checksig $PKG
  52.  
  53. pkill gpg-agent
Add Comment
Please, Sign In to add comment