mirror of
https://github.com/romanz/amodem.git
synced 2026-05-10 05:17:38 +08:00
horrible hack - but IT WORKS!!!
This commit is contained in:
@@ -115,6 +115,7 @@ def _parse_signature(stream):
|
|||||||
p['unhashed_subpackets'] = parse_subpackets(stream)
|
p['unhashed_subpackets'] = parse_subpackets(stream)
|
||||||
embedded = list(_parse_embedded_signatures(p['unhashed_subpackets']))
|
embedded = list(_parse_embedded_signatures(p['unhashed_subpackets']))
|
||||||
if embedded:
|
if embedded:
|
||||||
|
log.info('embedded sigs: %s', embedded)
|
||||||
p['embedded'] = embedded
|
p['embedded'] = embedded
|
||||||
|
|
||||||
p['hash_prefix'] = stream.readfmt('2s')
|
p['hash_prefix'] = stream.readfmt('2s')
|
||||||
@@ -248,13 +249,18 @@ def digest_packets(packets):
|
|||||||
def load_public_key(stream):
|
def load_public_key(stream):
|
||||||
"""Parse and validate GPG public key from an input stream."""
|
"""Parse and validate GPG public key from an input stream."""
|
||||||
packets = list(parse_packets(util.Reader(stream)))
|
packets = list(parse_packets(util.Reader(stream)))
|
||||||
pubkey, userid, signature = packets[:3]
|
subkey = subsig = None
|
||||||
|
if len(packets) == 5:
|
||||||
|
pubkey, userid, signature, subkey, subsig = packets
|
||||||
|
else:
|
||||||
|
pubkey, userid, signature = packets
|
||||||
|
|
||||||
digest = digest_packets([pubkey, userid, signature])
|
digest = digest_packets([pubkey, userid, signature])
|
||||||
assert signature['hash_prefix'] == digest[:2]
|
assert signature['hash_prefix'] == digest[:2]
|
||||||
log.debug('loaded public key "%s"', userid['value'])
|
log.debug('loaded public key "%s"', userid['value'])
|
||||||
verify_digest(pubkey=pubkey, digest=digest,
|
verify_digest(pubkey=pubkey, digest=digest,
|
||||||
signature=signature['sig'], label='GPG public key')
|
signature=signature['sig'], label='GPG public key')
|
||||||
return pubkey
|
return subkey or pubkey
|
||||||
|
|
||||||
|
|
||||||
def load_signature(stream, original_data):
|
def load_signature(stream, original_data):
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
|
# NEVER RUN ON YOUR OWN REAL GPG KEYS!!!!! THEY WILL BE DELETED!!!!!
|
||||||
set -x
|
set -x
|
||||||
(cd ~/.gnupg && rm -r openpgp-revocs.d/ private-keys-v1.d/ pubring.kbx* trustdb.gpg /tmp/log *.gpg; killall gpg-agent)
|
(cd ~/.gnupg && rm -r openpgp-revocs.d/ private-keys-v1.d/ pubring.kbx* trustdb.gpg /tmp/log *.gpg; killall gpg-agent)
|
||||||
gpg2 --full-gen-key --expert
|
gpg2 --full-gen-key --expert
|
||||||
gpg2 --export > romanz.pub
|
gpg2 --export > romanz.pub
|
||||||
NOW=`date +%s`; trezor-gpg -t $NOW "romanz" -o subkey.pub
|
NOW=`date +%s`
|
||||||
|
trezor-gpg -t $NOW "romanz" -o subkey.pub
|
||||||
gpg2 -vv --import <(cat romanz.pub subkey.pub)
|
gpg2 -vv --import <(cat romanz.pub subkey.pub)
|
||||||
gpg2 -k
|
gpg2 -K
|
||||||
|
|
||||||
|
trezor-gpg -t $NOW "romanz" EXAMPLE
|
||||||
|
gpg2 --verify EXAMPLE.sig
|
||||||
|
|||||||
Reference in New Issue
Block a user