diff options
Diffstat (limited to 'lib/Transforms.hs')
-rw-r--r-- | lib/Transforms.hs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/Transforms.hs b/lib/Transforms.hs index 6250dea..118b494 100644 --- a/lib/Transforms.hs +++ b/lib/Transforms.hs | |||
@@ -340,13 +340,13 @@ accBindings bs = as | |||
340 | 340 | ||
341 | sigpackets :: | 341 | sigpackets :: |
342 | Monad m => | 342 | Monad m => |
343 | Word8 -> [SignatureSubpacket] -> [SignatureSubpacket] -> m Packet | 343 | Word8 -> KeyAlgorithm -> [SignatureSubpacket] -> [SignatureSubpacket] -> m Packet |
344 | sigpackets typ hashed unhashed = return $ | 344 | sigpackets typ alg hashed unhashed = return $ |
345 | signaturePacket | 345 | signaturePacket |
346 | 4 -- version | 346 | 4 -- version |
347 | typ -- 0x18 subkey binding sig, or 0x19 back-signature | 347 | typ -- 0x18 subkey binding sig, or 0x19 back-signature |
348 | RSA | 348 | alg |
349 | SHA1 | 349 | SHA256 |
350 | hashed | 350 | hashed |
351 | unhashed | 351 | unhashed |
352 | 0 -- Word16 -- Left 16 bits of the signed hash value | 352 | 0 -- Word16 -- Left 16 bits of the signed hash value |
@@ -409,6 +409,7 @@ makeInducerSig topk wkun uid extras | |||
409 | = CertificationSignature (secretToPublic topk) | 409 | = CertificationSignature (secretToPublic topk) |
410 | uid | 410 | uid |
411 | (sigpackets 0x13 | 411 | (sigpackets 0x13 |
412 | (key_algorithm wkun) | ||
412 | subpackets | 413 | subpackets |
413 | subpackets_unh) | 414 | subpackets_unh) |
414 | where | 415 | where |
@@ -578,6 +579,7 @@ makeSig doDecrypt top fname subkey_p tags mbsig = do | |||
578 | (SubkeySignature wk | 579 | (SubkeySignature wk |
579 | (head parsedkey) | 580 | (head parsedkey) |
580 | (sigpackets 0x19 | 581 | (sigpackets 0x19 |
582 | (key_algorithm $ head parsedkey) | ||
581 | hashed0 | 583 | hashed0 |
582 | [IssuerPacket subgrip])) | 584 | [IssuerPacket subgrip])) |
583 | SHA256 | 585 | SHA256 |
@@ -590,6 +592,7 @@ makeSig doDecrypt top fname subkey_p tags mbsig = do | |||
590 | (SubkeySignature wk | 592 | (SubkeySignature wk |
591 | (head parsedkey) | 593 | (head parsedkey) |
592 | (sigpackets 0x18 | 594 | (sigpackets 0x18 |
595 | (key_algorithm wkun) | ||
593 | hashed0 | 596 | hashed0 |
594 | unhashed0)) | 597 | unhashed0)) |
595 | SHA256 | 598 | SHA256 |
@@ -636,7 +639,7 @@ makeSig doDecrypt top fname subkey_p tags mbsig = do | |||
636 | candidateSignerKeys :: KeyDB -> Packet -> [Packet] | 639 | candidateSignerKeys :: KeyDB -> Packet -> [Packet] |
637 | candidateSignerKeys db sig = | 640 | candidateSignerKeys db sig = |
638 | case issuerGrip sig of | 641 | case issuerGrip sig of |
639 | Just g -> concatMap (map packet . associatedKeys) $ lookupByGrip g db | 642 | Just g -> concatMap (map packet . associatedKeys . snd) $ lookupByGrip g db |
640 | _ -> map keyPacket $ keyData db | 643 | _ -> map keyPacket $ keyData db |
641 | 644 | ||
642 | issuerGrip :: Packet -> Maybe KeyGrip | 645 | issuerGrip :: Packet -> Maybe KeyGrip |