Slightly better test generation for RSA signatures.

This commit is contained in:
2018-05-01 22:29:37 -07:00
parent 296bb6ad90
commit c9092ffe6a

View File

@@ -91,14 +91,20 @@ runSignatureGenerator inputs outputs =
Left _ -> Left _ ->
go (Just keySize) g3 go (Just keySize) g3
Right sig -> Right sig ->
do writeChan outputs [("d", showHex (private_d private) ""), case rsassa_pkcs1_v1_5_verify hash public (BSL.fromStrict message) sig of
("n", showHex (public_n public) ""), Left err ->
("h", hashname), fail ("RSA Verification error: " ++ show err)
("k", showHex keySize ""), Right False ->
("l", showHex (BS.length message) ""), fail ("RSA verification failed?!")
("m", showBinary message), Right True ->
("s", showBinary (BSL.toStrict sig))] do writeChan outputs [("d", showHex (private_d private) ""),
go Nothing g3 ("n", showHex (public_n public) ""),
("h", hashname),
("k", showHex keySize ""),
("l", showHex (BS.length message) ""),
("m", showBinary message),
("s", showBinary (BSL.toStrict sig))]
go Nothing g3
writeData :: Chan [(String,String)] -> (Progress -> IO ()) -> Handle -> IO () writeData :: Chan [(String,String)] -> (Progress -> IO ()) -> Handle -> IO ()
writeData outputChan progressBar hndl = go 0 writeData outputChan progressBar hndl = go 0