aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorlloyd <[email protected]>2014-01-05 06:23:21 +0000
committerlloyd <[email protected]>2014-01-05 06:23:21 +0000
commitc431fb65b883a0a5fa060ea7caace0aca3628ec6 (patch)
tree09898d2307801bffa7e1aeee9251d57ed4837870 /src
parent052345203b67eb5cacacd5659ec9837eeb59af35 (diff)
Split up public key tests and data, use new test framework
Diffstat (limited to 'src')
-rw-r--r--src/common.h4
-rw-r--r--src/test-data/fail.dat100
-rw-r--r--src/test-data/pk_valid.dat5021
-rw-r--r--src/tests/data/aead.vec (renamed from src/test-data/aead.vec)7
-rw-r--r--src/tests/data/block.vec (renamed from src/test-data/block.vec)0
-rw-r--r--src/tests/data/dh.vec80
-rw-r--r--src/tests/data/dlies.vec42
-rw-r--r--src/tests/data/dsa.vec99
-rw-r--r--src/tests/data/eax.vec (renamed from src/test-data/eax.vec)0
-rw-r--r--src/tests/data/ecc/CSCA.CSCA.csca-germany.1.crt (renamed from src/test-data/ecc_testdata/CSCA.CSCA.csca-germany.1.crt)bin862 -> 862 bytes
-rw-r--r--src/tests/data/ecc/CSCA.CSCA.csca-germany.1.pem (renamed from src/test-data/ecc_testdata/CSCA.CSCA.csca-germany.1.pem)0
-rw-r--r--src/tests/data/ecc/DE1_flen_chars_cvcRequest_ECDSA.der (renamed from src/test-data/ecc_testdata/DE1_flen_chars_cvcRequest_ECDSA.der)bin158 -> 158 bytes
-rw-r--r--src/tests/data/ecc/Lidia.cer (renamed from src/test-data/ecc_testdata/Lidia.cer)bin985 -> 985 bytes
-rw-r--r--src/tests/data/ecc/Lidia.pem (renamed from src/test-data/ecc_testdata/Lidia.pem)0
-rw-r--r--src/tests/data/ecc/ado (renamed from src/test-data/ecc_testdata/ado)bin353 -> 353 bytes
-rw-r--r--src/tests/data/ecc/ado.cvcreq (renamed from src/test-data/ecc_testdata/ado.cvcreq)bin238 -> 238 bytes
-rw-r--r--src/tests/data/ecc/cvc_chain_cvca.cer (renamed from src/test-data/ecc_testdata/cvc_chain_cvca.cer)bin392 -> 392 bytes
-rw-r--r--src/tests/data/ecc/cvc_chain_dvca_ado2.cer (renamed from src/test-data/ecc_testdata/cvc_chain_dvca_ado2.cer)bin238 -> 238 bytes
-rw-r--r--src/tests/data/ecc/cvc_chain_dvca_cert1.cer (renamed from src/test-data/ecc_testdata/cvc_chain_dvca_cert1.cer)bin212 -> 212 bytes
-rw-r--r--src/tests/data/ecc/cvc_chain_dvca_req.cer (renamed from src/test-data/ecc_testdata/cvc_chain_dvca_req.cer)bin158 -> 158 bytes
-rw-r--r--src/tests/data/ecc/cvc_chain_dvca_req2.cer (renamed from src/test-data/ecc_testdata/cvc_chain_dvca_req2.cer)bin158 -> 158 bytes
-rw-r--r--src/tests/data/ecc/cvc_chain_dvca_req2b.cer (renamed from src/test-data/ecc_testdata/cvc_chain_dvca_req2b.cer)bin158 -> 158 bytes
-rw-r--r--src/tests/data/ecc/cvc_chain_is_cert.cer (renamed from src/test-data/ecc_testdata/cvc_chain_is_cert.cer)bin210 -> 210 bytes
-rw-r--r--src/tests/data/ecc/cvc_chain_is_req.cer (renamed from src/test-data/ecc_testdata/cvc_chain_is_req.cer)bin151 -> 151 bytes
-rw-r--r--src/tests/data/ecc/cvc_chain_link12.cer (renamed from src/test-data/ecc_testdata/cvc_chain_link12.cer)bin392 -> 392 bytes
-rw-r--r--src/tests/data/ecc/cvca01.cv.crt (renamed from src/test-data/ecc_testdata/cvca01.cv.crt)bin402 -> 402 bytes
-rw-r--r--src/tests/data/ecc/cvca_illegal_chars.cv.crt (renamed from src/test-data/ecc_testdata/cvca_illegal_chars.cv.crt)bin402 -> 402 bytes
-rw-r--r--src/tests/data/ecc/cvca_illegal_chars2.cv.crt (renamed from src/test-data/ecc_testdata/cvca_illegal_chars2.cv.crt)bin402 -> 402 bytes
-rw-r--r--src/tests/data/ecc/ec_for_flex_mes.sig (renamed from src/test-data/ecc_testdata/ec_for_flex_mes.sig)0
-rw-r--r--src/tests/data/ecc/ec_oid_not_in_reg_private_2.pkcs8.pem (renamed from src/test-data/ecc_testdata/ec_oid_not_in_reg_private_2.pkcs8.pem)0
-rw-r--r--src/tests/data/ecc/ecc_private_with_rfc5915_ext.pem (renamed from src/test-data/ecc_testdata/ecc_private_with_rfc5915_ext.pem)0
-rw-r--r--src/tests/data/ecc/flex_cert.crt (renamed from src/test-data/ecc_testdata/flex_cert.crt)bin412 -> 412 bytes
-rw-r--r--src/tests/data/ecc/flex_mes (renamed from src/test-data/ecc_testdata/flex_mes)0
-rw-r--r--src/tests/data/ecc/flex_mes.sig (renamed from src/test-data/ecc_testdata/flex_mes.sig)bin64 -> 64 bytes
-rw-r--r--src/tests/data/ecc/insito_expl_ec.pem (renamed from src/test-data/ecc_testdata/insito_expl_ec.pem)0
-rw-r--r--src/tests/data/ecc/insito_oid_ec.pem (renamed from src/test-data/ecc_testdata/insito_oid_ec.pem)0
-rw-r--r--src/tests/data/ecc/link_SHA1.166.crt (renamed from src/test-data/ecc_testdata/link_SHA1.166.crt)bin858 -> 858 bytes
-rw-r--r--src/tests/data/ecc/link_SHA256.cer (renamed from src/test-data/ecc_testdata/link_SHA256.cer)bin1790 -> 1790 bytes
-rw-r--r--src/tests/data/ecc/my_cv_cert.ber (renamed from src/test-data/ecc_testdata/my_cv_cert.ber)bin286 -> 286 bytes
-rw-r--r--src/tests/data/ecc/my_cv_cert2.ber (renamed from src/test-data/ecc_testdata/my_cv_cert2.ber)bin286 -> 286 bytes
-rw-r--r--src/tests/data/ecc/my_cv_req.ber (renamed from src/test-data/ecc_testdata/my_cv_req.ber)bin238 -> 238 bytes
-rw-r--r--src/tests/data/ecc/nodompar_private.pkcs8.pem (renamed from src/test-data/ecc_testdata/nodompar_private.pkcs8.pem)0
-rw-r--r--src/tests/data/ecc/private.pem (renamed from src/test-data/ecc_testdata/private.pem)0
-rw-r--r--src/tests/data/ecc/root1_SHA256.cer (renamed from src/test-data/ecc_testdata/root1_SHA256.cer)bin1790 -> 1790 bytes
-rw-r--r--src/tests/data/ecc/root2_SHA256.cer (renamed from src/test-data/ecc_testdata/root2_SHA256.cer)bin1790 -> 1790 bytes
-rw-r--r--src/tests/data/ecc/root_SHA1.163.crt (renamed from src/test-data/ecc_testdata/root_SHA1.163.crt)bin860 -> 860 bytes
-rw-r--r--src/tests/data/ecc/withdompar_private.pkcs8.pem (renamed from src/test-data/ecc_testdata/withdompar_private.pkcs8.pem)0
-rw-r--r--src/tests/data/ecc/x509_req_test_expl.pem (renamed from src/test-data/ecc_testdata/x509_req_test_expl.pem)0
-rw-r--r--src/tests/data/ecc/x509_req_test_oid.pem (renamed from src/test-data/ecc_testdata/x509_req_test_oid.pem)0
-rw-r--r--src/tests/data/ecc/x509_test_privkey_expl_pw123456.pem (renamed from src/test-data/ecc_testdata/x509_test_privkey_expl_pw123456.pem)0
-rw-r--r--src/tests/data/ecc/x509_test_privkey_oid_pw123456.pem (renamed from src/test-data/ecc_testdata/x509_test_privkey_oid_pw123456.pem)0
-rw-r--r--src/tests/data/ecdsa.vec105
-rw-r--r--src/tests/data/elgamal.vec70
-rw-r--r--src/tests/data/gost.vec18
-rw-r--r--src/tests/data/hash.vec (renamed from src/test-data/hash.vec)0
-rw-r--r--src/tests/data/hkdf.vec (renamed from src/test-data/hkdf.vec)0
-rw-r--r--src/tests/data/kdf.vec (renamed from src/test-data/kdf.vec)0
-rw-r--r--src/tests/data/mac.vec (renamed from src/test-data/mac.vec)0
-rw-r--r--src/tests/data/modes.vec (renamed from src/test-data/modes.vec)0
-rw-r--r--src/tests/data/mp_valid.dat (renamed from src/test-data/mp_valid.dat)0
-rw-r--r--src/tests/data/nist_x509/test01/end.crt (renamed from src/test-data/nist_x509/test01/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test01/root.crl (renamed from src/test-data/nist_x509/test01/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test01/root.crt (renamed from src/test-data/nist_x509/test01/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test02/end.crt (renamed from src/test-data/nist_x509/test02/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test02/int.crl (renamed from src/test-data/nist_x509/test02/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test02/int.crt (renamed from src/test-data/nist_x509/test02/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test02/root.crl (renamed from src/test-data/nist_x509/test02/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test02/root.crt (renamed from src/test-data/nist_x509/test02/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test03/end.crt (renamed from src/test-data/nist_x509/test03/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test03/int.crl (renamed from src/test-data/nist_x509/test03/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test03/int.crt (renamed from src/test-data/nist_x509/test03/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test03/root.crl (renamed from src/test-data/nist_x509/test03/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test03/root.crt (renamed from src/test-data/nist_x509/test03/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test04/end.crt (renamed from src/test-data/nist_x509/test04/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test04/int1.crl (renamed from src/test-data/nist_x509/test04/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test04/int1.crt (renamed from src/test-data/nist_x509/test04/int1.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test04/int2.crl (renamed from src/test-data/nist_x509/test04/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test04/int2.crt (renamed from src/test-data/nist_x509/test04/int2.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test04/root.crl (renamed from src/test-data/nist_x509/test04/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test04/root.crt (renamed from src/test-data/nist_x509/test04/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test05/end.crt (renamed from src/test-data/nist_x509/test05/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test05/int.crl (renamed from src/test-data/nist_x509/test05/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test05/int.crt (renamed from src/test-data/nist_x509/test05/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test05/root.crl (renamed from src/test-data/nist_x509/test05/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test05/root.crt (renamed from src/test-data/nist_x509/test05/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test06/end.crt (renamed from src/test-data/nist_x509/test06/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test06/int.crl (renamed from src/test-data/nist_x509/test06/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test06/int.crt (renamed from src/test-data/nist_x509/test06/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test06/root.crl (renamed from src/test-data/nist_x509/test06/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test06/root.crt (renamed from src/test-data/nist_x509/test06/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test07/end.crt (renamed from src/test-data/nist_x509/test07/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test07/int.crl (renamed from src/test-data/nist_x509/test07/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test07/int.crt (renamed from src/test-data/nist_x509/test07/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test07/root.crl (renamed from src/test-data/nist_x509/test07/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test07/root.crt (renamed from src/test-data/nist_x509/test07/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test08/end.crt (renamed from src/test-data/nist_x509/test08/end.crt)bin652 -> 652 bytes
-rw-r--r--src/tests/data/nist_x509/test08/int.crl (renamed from src/test-data/nist_x509/test08/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test08/int.crt (renamed from src/test-data/nist_x509/test08/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test08/root.crl (renamed from src/test-data/nist_x509/test08/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test08/root.crt (renamed from src/test-data/nist_x509/test08/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test09/end.crt (renamed from src/test-data/nist_x509/test09/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test09/int.crl (renamed from src/test-data/nist_x509/test09/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test09/int.crt (renamed from src/test-data/nist_x509/test09/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test09/root.crl (renamed from src/test-data/nist_x509/test09/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test09/root.crt (renamed from src/test-data/nist_x509/test09/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test10/end.crt (renamed from src/test-data/nist_x509/test10/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test10/int.crl (renamed from src/test-data/nist_x509/test10/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test10/int.crt (renamed from src/test-data/nist_x509/test10/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test10/root.crl (renamed from src/test-data/nist_x509/test10/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test10/root.crt (renamed from src/test-data/nist_x509/test10/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test11/end.crt (renamed from src/test-data/nist_x509/test11/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test11/int.crl (renamed from src/test-data/nist_x509/test11/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test11/int.crt (renamed from src/test-data/nist_x509/test11/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test11/root.crl (renamed from src/test-data/nist_x509/test11/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test11/root.crt (renamed from src/test-data/nist_x509/test11/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test12/end.crt (renamed from src/test-data/nist_x509/test12/end.crt)bin652 -> 652 bytes
-rw-r--r--src/tests/data/nist_x509/test12/int.crl (renamed from src/test-data/nist_x509/test12/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test12/int.crt (renamed from src/test-data/nist_x509/test12/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test12/root.crl (renamed from src/test-data/nist_x509/test12/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test12/root.crt (renamed from src/test-data/nist_x509/test12/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test13/end.crt (renamed from src/test-data/nist_x509/test13/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test13/int.crl (renamed from src/test-data/nist_x509/test13/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test13/int.crt (renamed from src/test-data/nist_x509/test13/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test13/root.crl (renamed from src/test-data/nist_x509/test13/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test13/root.crt (renamed from src/test-data/nist_x509/test13/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test14/end.crt (renamed from src/test-data/nist_x509/test14/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test14/int.crl (renamed from src/test-data/nist_x509/test14/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test14/int.crt (renamed from src/test-data/nist_x509/test14/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test14/root.crl (renamed from src/test-data/nist_x509/test14/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test14/root.crt (renamed from src/test-data/nist_x509/test14/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test15/end.crt (renamed from src/test-data/nist_x509/test15/end.crt)bin654 -> 654 bytes
-rw-r--r--src/tests/data/nist_x509/test15/int.crl (renamed from src/test-data/nist_x509/test15/int.crl)bin341 -> 341 bytes
-rw-r--r--src/tests/data/nist_x509/test15/int.crt (renamed from src/test-data/nist_x509/test15/int.crt)bin671 -> 671 bytes
-rw-r--r--src/tests/data/nist_x509/test15/root.crl (renamed from src/test-data/nist_x509/test15/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test15/root.crt (renamed from src/test-data/nist_x509/test15/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test16/end.crt (renamed from src/test-data/nist_x509/test16/end.crt)bin657 -> 657 bytes
-rw-r--r--src/tests/data/nist_x509/test16/int.crl (renamed from src/test-data/nist_x509/test16/int.crl)bin337 -> 337 bytes
-rw-r--r--src/tests/data/nist_x509/test16/int.crt (renamed from src/test-data/nist_x509/test16/int.crt)bin667 -> 667 bytes
-rw-r--r--src/tests/data/nist_x509/test16/root.crl (renamed from src/test-data/nist_x509/test16/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test16/root.crt (renamed from src/test-data/nist_x509/test16/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test17/end.crt (renamed from src/test-data/nist_x509/test17/end.crt)bin652 -> 652 bytes
-rw-r--r--src/tests/data/nist_x509/test17/int.crl (renamed from src/test-data/nist_x509/test17/int.crl)bin337 -> 337 bytes
-rw-r--r--src/tests/data/nist_x509/test17/int.crt (renamed from src/test-data/nist_x509/test17/int.crt)bin667 -> 667 bytes
-rw-r--r--src/tests/data/nist_x509/test17/root.crl (renamed from src/test-data/nist_x509/test17/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test17/root.crt (renamed from src/test-data/nist_x509/test17/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test18/end.crt (renamed from src/test-data/nist_x509/test18/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test18/int.crl (renamed from src/test-data/nist_x509/test18/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test18/int.crt (renamed from src/test-data/nist_x509/test18/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test18/root.crl (renamed from src/test-data/nist_x509/test18/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test18/root.crt (renamed from src/test-data/nist_x509/test18/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test19/end.crt (renamed from src/test-data/nist_x509/test19/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test19/int.crt (renamed from src/test-data/nist_x509/test19/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test19/root.crl (renamed from src/test-data/nist_x509/test19/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test19/root.crt (renamed from src/test-data/nist_x509/test19/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test20/end.crt (renamed from src/test-data/nist_x509/test20/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test20/int.crl (renamed from src/test-data/nist_x509/test20/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test20/int.crt (renamed from src/test-data/nist_x509/test20/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test20/root.crl (renamed from src/test-data/nist_x509/test20/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test20/root.crt (renamed from src/test-data/nist_x509/test20/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test21/end.crt (renamed from src/test-data/nist_x509/test21/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test21/int.crl (renamed from src/test-data/nist_x509/test21/int.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test21/int.crt (renamed from src/test-data/nist_x509/test21/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test21/root.crl (renamed from src/test-data/nist_x509/test21/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test21/root.crt (renamed from src/test-data/nist_x509/test21/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test22/end.crt (renamed from src/test-data/nist_x509/test22/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test22/int.crl (renamed from src/test-data/nist_x509/test22/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test22/int.crt (renamed from src/test-data/nist_x509/test22/int.crt)bin648 -> 648 bytes
-rw-r--r--src/tests/data/nist_x509/test22/root.crl (renamed from src/test-data/nist_x509/test22/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test22/root.crt (renamed from src/test-data/nist_x509/test22/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test23/end.crt (renamed from src/test-data/nist_x509/test23/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test23/int.crl (renamed from src/test-data/nist_x509/test23/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test23/int.crt (renamed from src/test-data/nist_x509/test23/int.crt)bin662 -> 662 bytes
-rw-r--r--src/tests/data/nist_x509/test23/root.crl (renamed from src/test-data/nist_x509/test23/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test23/root.crt (renamed from src/test-data/nist_x509/test23/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test24/end.crt (renamed from src/test-data/nist_x509/test24/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test24/int.crl (renamed from src/test-data/nist_x509/test24/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test24/int.crt (renamed from src/test-data/nist_x509/test24/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test24/root.crl (renamed from src/test-data/nist_x509/test24/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test24/root.crt (renamed from src/test-data/nist_x509/test24/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test25/end.crt (renamed from src/test-data/nist_x509/test25/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test25/int.crl (renamed from src/test-data/nist_x509/test25/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test25/int.crt (renamed from src/test-data/nist_x509/test25/int.crt)bin659 -> 659 bytes
-rw-r--r--src/tests/data/nist_x509/test25/root.crl (renamed from src/test-data/nist_x509/test25/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test25/root.crt (renamed from src/test-data/nist_x509/test25/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test26/end.crt (renamed from src/test-data/nist_x509/test26/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test26/int.crl (renamed from src/test-data/nist_x509/test26/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test26/int.crt (renamed from src/test-data/nist_x509/test26/int.crt)bin662 -> 662 bytes
-rw-r--r--src/tests/data/nist_x509/test26/root.crl (renamed from src/test-data/nist_x509/test26/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test26/root.crt (renamed from src/test-data/nist_x509/test26/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test27/end.crt (renamed from src/test-data/nist_x509/test27/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test27/int.crl (renamed from src/test-data/nist_x509/test27/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test27/int.crt (renamed from src/test-data/nist_x509/test27/int.crt)bin659 -> 659 bytes
-rw-r--r--src/tests/data/nist_x509/test27/root.crl (renamed from src/test-data/nist_x509/test27/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test27/root.crt (renamed from src/test-data/nist_x509/test27/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test28/end.crt (renamed from src/test-data/nist_x509/test28/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test28/int.crl (renamed from src/test-data/nist_x509/test28/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test28/int.crt (renamed from src/test-data/nist_x509/test28/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test28/root.crl (renamed from src/test-data/nist_x509/test28/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test28/root.crt (renamed from src/test-data/nist_x509/test28/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test29/end.crt (renamed from src/test-data/nist_x509/test29/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test29/int.crl (renamed from src/test-data/nist_x509/test29/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test29/int.crt (renamed from src/test-data/nist_x509/test29/int.crt)bin662 -> 662 bytes
-rw-r--r--src/tests/data/nist_x509/test29/root.crl (renamed from src/test-data/nist_x509/test29/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test29/root.crt (renamed from src/test-data/nist_x509/test29/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test30/end.crt (renamed from src/test-data/nist_x509/test30/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test30/int.crl (renamed from src/test-data/nist_x509/test30/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test30/int.crt (renamed from src/test-data/nist_x509/test30/int.crt)bin662 -> 662 bytes
-rw-r--r--src/tests/data/nist_x509/test30/root.crl (renamed from src/test-data/nist_x509/test30/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test30/root.crt (renamed from src/test-data/nist_x509/test30/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test31/end.crt (renamed from src/test-data/nist_x509/test31/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test31/int.crl (renamed from src/test-data/nist_x509/test31/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test31/int.crt (renamed from src/test-data/nist_x509/test31/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test31/root.crl (renamed from src/test-data/nist_x509/test31/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test31/root.crt (renamed from src/test-data/nist_x509/test31/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test32/end.crt (renamed from src/test-data/nist_x509/test32/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test32/int.crl (renamed from src/test-data/nist_x509/test32/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test32/int.crt (renamed from src/test-data/nist_x509/test32/int.crt)bin662 -> 662 bytes
-rw-r--r--src/tests/data/nist_x509/test32/root.crl (renamed from src/test-data/nist_x509/test32/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test32/root.crt (renamed from src/test-data/nist_x509/test32/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test33/end.crt (renamed from src/test-data/nist_x509/test33/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test33/int.crl (renamed from src/test-data/nist_x509/test33/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test33/int.crt (renamed from src/test-data/nist_x509/test33/int.crt)bin662 -> 662 bytes
-rw-r--r--src/tests/data/nist_x509/test33/root.crl (renamed from src/test-data/nist_x509/test33/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test33/root.crt (renamed from src/test-data/nist_x509/test33/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test34/end.crt (renamed from src/test-data/nist_x509/test34/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test34/int.crl (renamed from src/test-data/nist_x509/test34/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test34/int.crt (renamed from src/test-data/nist_x509/test34/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test34/root.crl (renamed from src/test-data/nist_x509/test34/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test34/root.crt (renamed from src/test-data/nist_x509/test34/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test35/end.crt (renamed from src/test-data/nist_x509/test35/end.crt)bin626 -> 626 bytes
-rw-r--r--src/tests/data/nist_x509/test35/int.crl (renamed from src/test-data/nist_x509/test35/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test35/int.crt (renamed from src/test-data/nist_x509/test35/int.crt)bin641 -> 641 bytes
-rw-r--r--src/tests/data/nist_x509/test35/root.crl (renamed from src/test-data/nist_x509/test35/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test35/root.crt (renamed from src/test-data/nist_x509/test35/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test36/end.crt (renamed from src/test-data/nist_x509/test36/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test36/int1.crl (renamed from src/test-data/nist_x509/test36/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test36/int1.crt (renamed from src/test-data/nist_x509/test36/int1.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test36/int2.crl (renamed from src/test-data/nist_x509/test36/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test36/int2.crt (renamed from src/test-data/nist_x509/test36/int2.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test36/root.crl (renamed from src/test-data/nist_x509/test36/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test36/root.crt (renamed from src/test-data/nist_x509/test36/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test37/end.crt (renamed from src/test-data/nist_x509/test37/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test37/int1.crl (renamed from src/test-data/nist_x509/test37/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test37/int1.crt (renamed from src/test-data/nist_x509/test37/int1.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test37/int2.crl (renamed from src/test-data/nist_x509/test37/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test37/int2.crt (renamed from src/test-data/nist_x509/test37/int2.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test37/root.crl (renamed from src/test-data/nist_x509/test37/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test37/root.crt (renamed from src/test-data/nist_x509/test37/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test38/end.crt (renamed from src/test-data/nist_x509/test38/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test38/int1.crl (renamed from src/test-data/nist_x509/test38/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test38/int1.crt (renamed from src/test-data/nist_x509/test38/int1.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test38/int2.crl (renamed from src/test-data/nist_x509/test38/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test38/int2.crt (renamed from src/test-data/nist_x509/test38/int2.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test38/root.crl (renamed from src/test-data/nist_x509/test38/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test38/root.crt (renamed from src/test-data/nist_x509/test38/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test39/end.crt (renamed from src/test-data/nist_x509/test39/end.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test39/int1.crl (renamed from src/test-data/nist_x509/test39/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test39/int1.crt (renamed from src/test-data/nist_x509/test39/int1.crt)bin706 -> 706 bytes
-rw-r--r--src/tests/data/nist_x509/test39/int2.crl (renamed from src/test-data/nist_x509/test39/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test39/int2.crt (renamed from src/test-data/nist_x509/test39/int2.crt)bin691 -> 691 bytes
-rw-r--r--src/tests/data/nist_x509/test39/int3.crl (renamed from src/test-data/nist_x509/test39/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test39/int3.crt (renamed from src/test-data/nist_x509/test39/int3.crt)bin678 -> 678 bytes
-rw-r--r--src/tests/data/nist_x509/test39/root.crl (renamed from src/test-data/nist_x509/test39/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test39/root.crt (renamed from src/test-data/nist_x509/test39/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test40/end.crt (renamed from src/test-data/nist_x509/test40/end.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test40/int1.crl (renamed from src/test-data/nist_x509/test40/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test40/int1.crt (renamed from src/test-data/nist_x509/test40/int1.crt)bin691 -> 691 bytes
-rw-r--r--src/tests/data/nist_x509/test40/int2.crl (renamed from src/test-data/nist_x509/test40/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test40/int2.crt (renamed from src/test-data/nist_x509/test40/int2.crt)bin678 -> 678 bytes
-rw-r--r--src/tests/data/nist_x509/test40/int3.crl (renamed from src/test-data/nist_x509/test40/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test40/int3.crt (renamed from src/test-data/nist_x509/test40/int3.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test40/root.crl (renamed from src/test-data/nist_x509/test40/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test40/root.crt (renamed from src/test-data/nist_x509/test40/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test41/end.crt (renamed from src/test-data/nist_x509/test41/end.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test41/int1.crl (renamed from src/test-data/nist_x509/test41/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test41/int1.crt (renamed from src/test-data/nist_x509/test41/int1.crt)bin678 -> 678 bytes
-rw-r--r--src/tests/data/nist_x509/test41/int2.crl (renamed from src/test-data/nist_x509/test41/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test41/int2.crt (renamed from src/test-data/nist_x509/test41/int2.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test41/int3.crl (renamed from src/test-data/nist_x509/test41/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test41/int3.crt (renamed from src/test-data/nist_x509/test41/int3.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test41/root.crl (renamed from src/test-data/nist_x509/test41/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test41/root.crt (renamed from src/test-data/nist_x509/test41/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test42/end.crt (renamed from src/test-data/nist_x509/test42/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test42/int1.crl (renamed from src/test-data/nist_x509/test42/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test42/int1.crt (renamed from src/test-data/nist_x509/test42/int1.crt)bin691 -> 691 bytes
-rw-r--r--src/tests/data/nist_x509/test42/int2.crl (renamed from src/test-data/nist_x509/test42/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test42/int2.crt (renamed from src/test-data/nist_x509/test42/int2.crt)bin678 -> 678 bytes
-rw-r--r--src/tests/data/nist_x509/test42/int3.crl (renamed from src/test-data/nist_x509/test42/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test42/int3.crt (renamed from src/test-data/nist_x509/test42/int3.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test42/int4.crl (renamed from src/test-data/nist_x509/test42/int4.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test42/int4.crt (renamed from src/test-data/nist_x509/test42/int4.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test42/root.crl (renamed from src/test-data/nist_x509/test42/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test42/root.crt (renamed from src/test-data/nist_x509/test42/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test43/end.crt (renamed from src/test-data/nist_x509/test43/end.crt)bin626 -> 626 bytes
-rw-r--r--src/tests/data/nist_x509/test43/int1.crl (renamed from src/test-data/nist_x509/test43/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test43/int1.crt (renamed from src/test-data/nist_x509/test43/int1.crt)bin679 -> 679 bytes
-rw-r--r--src/tests/data/nist_x509/test43/int2.crl (renamed from src/test-data/nist_x509/test43/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test43/int2.crt (renamed from src/test-data/nist_x509/test43/int2.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test43/int3.crl (renamed from src/test-data/nist_x509/test43/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test43/int3.crt (renamed from src/test-data/nist_x509/test43/int3.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test43/int4.crl (renamed from src/test-data/nist_x509/test43/int4.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test43/int4.crt (renamed from src/test-data/nist_x509/test43/int4.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test43/root.crl (renamed from src/test-data/nist_x509/test43/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test43/root.crt (renamed from src/test-data/nist_x509/test43/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test44/end.crt (renamed from src/test-data/nist_x509/test44/end.crt)bin626 -> 626 bytes
-rw-r--r--src/tests/data/nist_x509/test44/int1.crl (renamed from src/test-data/nist_x509/test44/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test44/int1.crt (renamed from src/test-data/nist_x509/test44/int1.crt)bin679 -> 679 bytes
-rw-r--r--src/tests/data/nist_x509/test44/int2.crl (renamed from src/test-data/nist_x509/test44/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test44/int2.crt (renamed from src/test-data/nist_x509/test44/int2.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test44/int3.crl (renamed from src/test-data/nist_x509/test44/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test44/int3.crt (renamed from src/test-data/nist_x509/test44/int3.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test44/int4.crl (renamed from src/test-data/nist_x509/test44/int4.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test44/int4.crt (renamed from src/test-data/nist_x509/test44/int4.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test44/root.crl (renamed from src/test-data/nist_x509/test44/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test44/root.crt (renamed from src/test-data/nist_x509/test44/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test45/end.crt (renamed from src/test-data/nist_x509/test45/end.crt)bin626 -> 626 bytes
-rw-r--r--src/tests/data/nist_x509/test45/int1.crl (renamed from src/test-data/nist_x509/test45/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test45/int1.crt (renamed from src/test-data/nist_x509/test45/int1.crt)bin679 -> 679 bytes
-rw-r--r--src/tests/data/nist_x509/test45/int2.crl (renamed from src/test-data/nist_x509/test45/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test45/int2.crt (renamed from src/test-data/nist_x509/test45/int2.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test45/int3.crl (renamed from src/test-data/nist_x509/test45/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test45/int3.crt (renamed from src/test-data/nist_x509/test45/int3.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test45/int4.crl (renamed from src/test-data/nist_x509/test45/int4.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test45/int4.crt (renamed from src/test-data/nist_x509/test45/int4.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test45/root.crl (renamed from src/test-data/nist_x509/test45/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test45/root.crt (renamed from src/test-data/nist_x509/test45/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test46/end.crt (renamed from src/test-data/nist_x509/test46/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test46/int1.crl (renamed from src/test-data/nist_x509/test46/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test46/int1.crt (renamed from src/test-data/nist_x509/test46/int1.crt)bin679 -> 679 bytes
-rw-r--r--src/tests/data/nist_x509/test46/int2.crl (renamed from src/test-data/nist_x509/test46/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test46/int2.crt (renamed from src/test-data/nist_x509/test46/int2.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test46/int3.crl (renamed from src/test-data/nist_x509/test46/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test46/int3.crt (renamed from src/test-data/nist_x509/test46/int3.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test46/int4.crl (renamed from src/test-data/nist_x509/test46/int4.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test46/int4.crt (renamed from src/test-data/nist_x509/test46/int4.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test46/root.crl (renamed from src/test-data/nist_x509/test46/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test46/root.crt (renamed from src/test-data/nist_x509/test46/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test47/end.crt (renamed from src/test-data/nist_x509/test47/end.crt)bin626 -> 626 bytes
-rw-r--r--src/tests/data/nist_x509/test47/int1.crl (renamed from src/test-data/nist_x509/test47/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test47/int1.crt (renamed from src/test-data/nist_x509/test47/int1.crt)bin679 -> 679 bytes
-rw-r--r--src/tests/data/nist_x509/test47/int2.crl (renamed from src/test-data/nist_x509/test47/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test47/int2.crt (renamed from src/test-data/nist_x509/test47/int2.crt)bin679 -> 679 bytes
-rw-r--r--src/tests/data/nist_x509/test47/int3.crl (renamed from src/test-data/nist_x509/test47/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test47/int3.crt (renamed from src/test-data/nist_x509/test47/int3.crt)bin679 -> 679 bytes
-rw-r--r--src/tests/data/nist_x509/test47/int4.crl (renamed from src/test-data/nist_x509/test47/int4.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test47/int4.crt (renamed from src/test-data/nist_x509/test47/int4.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test47/root.crl (renamed from src/test-data/nist_x509/test47/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test47/root.crt (renamed from src/test-data/nist_x509/test47/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test48/end.crt (renamed from src/test-data/nist_x509/test48/end.crt)bin650 -> 650 bytes
-rw-r--r--src/tests/data/nist_x509/test48/int.crl (renamed from src/test-data/nist_x509/test48/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test48/int.crt (renamed from src/test-data/nist_x509/test48/int.crt)bin665 -> 665 bytes
-rw-r--r--src/tests/data/nist_x509/test48/root.crl (renamed from src/test-data/nist_x509/test48/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test48/root.crt (renamed from src/test-data/nist_x509/test48/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test49/end.crt (renamed from src/test-data/nist_x509/test49/end.crt)bin663 -> 663 bytes
-rw-r--r--src/tests/data/nist_x509/test49/int.crl (renamed from src/test-data/nist_x509/test49/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test49/int.crt (renamed from src/test-data/nist_x509/test49/int.crt)bin678 -> 678 bytes
-rw-r--r--src/tests/data/nist_x509/test49/root.crl (renamed from src/test-data/nist_x509/test49/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test49/root.crt (renamed from src/test-data/nist_x509/test49/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test50/end.crt (renamed from src/test-data/nist_x509/test50/end.crt)bin645 -> 645 bytes
-rw-r--r--src/tests/data/nist_x509/test50/int.crl (renamed from src/test-data/nist_x509/test50/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test50/int.crt (renamed from src/test-data/nist_x509/test50/int.crt)bin660 -> 660 bytes
-rw-r--r--src/tests/data/nist_x509/test50/root.crl (renamed from src/test-data/nist_x509/test50/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test50/root.crt (renamed from src/test-data/nist_x509/test50/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test51/end.crt (renamed from src/test-data/nist_x509/test51/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test51/int.crl (renamed from src/test-data/nist_x509/test51/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test51/int.crt (renamed from src/test-data/nist_x509/test51/int.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test51/root.crl (renamed from src/test-data/nist_x509/test51/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test51/root.crt (renamed from src/test-data/nist_x509/test51/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test52/end.crt (renamed from src/test-data/nist_x509/test52/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test52/int.crl (renamed from src/test-data/nist_x509/test52/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test52/int.crt (renamed from src/test-data/nist_x509/test52/int.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test52/root.crl (renamed from src/test-data/nist_x509/test52/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test52/root.crt (renamed from src/test-data/nist_x509/test52/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test53/end.crt (renamed from src/test-data/nist_x509/test53/end.crt)bin677 -> 677 bytes
-rw-r--r--src/tests/data/nist_x509/test53/int.crl (renamed from src/test-data/nist_x509/test53/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test53/int.crt (renamed from src/test-data/nist_x509/test53/int.crt)bin692 -> 692 bytes
-rw-r--r--src/tests/data/nist_x509/test53/root.crl (renamed from src/test-data/nist_x509/test53/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test53/root.crt (renamed from src/test-data/nist_x509/test53/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test54/end.crt (renamed from src/test-data/nist_x509/test54/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test54/int1.crl (renamed from src/test-data/nist_x509/test54/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test54/int1.crt (renamed from src/test-data/nist_x509/test54/int1.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test54/int2.crl (renamed from src/test-data/nist_x509/test54/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test54/int2.crt (renamed from src/test-data/nist_x509/test54/int2.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test54/root.crl (renamed from src/test-data/nist_x509/test54/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test54/root.crt (renamed from src/test-data/nist_x509/test54/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test55/end.crt (renamed from src/test-data/nist_x509/test55/end.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test55/int1.crl (renamed from src/test-data/nist_x509/test55/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test55/int1.crt (renamed from src/test-data/nist_x509/test55/int1.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test55/int2.crl (renamed from src/test-data/nist_x509/test55/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test55/int2.crt (renamed from src/test-data/nist_x509/test55/int2.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test55/root.crl (renamed from src/test-data/nist_x509/test55/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test55/root.crt (renamed from src/test-data/nist_x509/test55/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test56/end.crt (renamed from src/test-data/nist_x509/test56/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test56/int.crl (renamed from src/test-data/nist_x509/test56/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test56/int.crt (renamed from src/test-data/nist_x509/test56/int.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test56/root.crl (renamed from src/test-data/nist_x509/test56/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test56/root.crt (renamed from src/test-data/nist_x509/test56/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test57/end.crt (renamed from src/test-data/nist_x509/test57/end.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test57/int.crl (renamed from src/test-data/nist_x509/test57/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test57/int.crt (renamed from src/test-data/nist_x509/test57/int.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test57/root.crl (renamed from src/test-data/nist_x509/test57/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test57/root.crt (renamed from src/test-data/nist_x509/test57/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test58/end.crt (renamed from src/test-data/nist_x509/test58/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test58/int1.crl (renamed from src/test-data/nist_x509/test58/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test58/int1.crt (renamed from src/test-data/nist_x509/test58/int1.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test58/int2.crl (renamed from src/test-data/nist_x509/test58/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test58/int2.crt (renamed from src/test-data/nist_x509/test58/int2.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test58/int3.crl (renamed from src/test-data/nist_x509/test58/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test58/int3.crt (renamed from src/test-data/nist_x509/test58/int3.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test58/root.crl (renamed from src/test-data/nist_x509/test58/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test58/root.crt (renamed from src/test-data/nist_x509/test58/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test59/end.crt (renamed from src/test-data/nist_x509/test59/end.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test59/int1.crl (renamed from src/test-data/nist_x509/test59/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test59/int1.crt (renamed from src/test-data/nist_x509/test59/int1.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test59/int2.crl (renamed from src/test-data/nist_x509/test59/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test59/int2.crt (renamed from src/test-data/nist_x509/test59/int2.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test59/int3.crl (renamed from src/test-data/nist_x509/test59/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test59/int3.crt (renamed from src/test-data/nist_x509/test59/int3.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test59/root.crl (renamed from src/test-data/nist_x509/test59/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test59/root.crt (renamed from src/test-data/nist_x509/test59/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test60/end.crt (renamed from src/test-data/nist_x509/test60/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test60/int1.crl (renamed from src/test-data/nist_x509/test60/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test60/int1.crt (renamed from src/test-data/nist_x509/test60/int1.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test60/int2.crl (renamed from src/test-data/nist_x509/test60/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test60/int2.crt (renamed from src/test-data/nist_x509/test60/int2.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test60/int3.crl (renamed from src/test-data/nist_x509/test60/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test60/int3.crt (renamed from src/test-data/nist_x509/test60/int3.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test60/int4.crl (renamed from src/test-data/nist_x509/test60/int4.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test60/int4.crt (renamed from src/test-data/nist_x509/test60/int4.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test60/root.crl (renamed from src/test-data/nist_x509/test60/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test60/root.crt (renamed from src/test-data/nist_x509/test60/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test61/end.crt (renamed from src/test-data/nist_x509/test61/end.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test61/int1.crl (renamed from src/test-data/nist_x509/test61/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test61/int1.crt (renamed from src/test-data/nist_x509/test61/int1.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test61/int2.crl (renamed from src/test-data/nist_x509/test61/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test61/int2.crt (renamed from src/test-data/nist_x509/test61/int2.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test61/int3.crl (renamed from src/test-data/nist_x509/test61/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test61/int3.crt (renamed from src/test-data/nist_x509/test61/int3.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test61/int4.crl (renamed from src/test-data/nist_x509/test61/int4.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test61/int4.crt (renamed from src/test-data/nist_x509/test61/int4.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test61/root.crl (renamed from src/test-data/nist_x509/test61/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test61/root.crt (renamed from src/test-data/nist_x509/test61/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test62/end.crt (renamed from src/test-data/nist_x509/test62/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test62/int1.crl (renamed from src/test-data/nist_x509/test62/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test62/int1.crt (renamed from src/test-data/nist_x509/test62/int1.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test62/int2.crl (renamed from src/test-data/nist_x509/test62/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test62/int2.crt (renamed from src/test-data/nist_x509/test62/int2.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test62/int3.crl (renamed from src/test-data/nist_x509/test62/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test62/int3.crt (renamed from src/test-data/nist_x509/test62/int3.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test62/int4.crl (renamed from src/test-data/nist_x509/test62/int4.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test62/int4.crt (renamed from src/test-data/nist_x509/test62/int4.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test62/root.crl (renamed from src/test-data/nist_x509/test62/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test62/root.crt (renamed from src/test-data/nist_x509/test62/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test63/end.crt (renamed from src/test-data/nist_x509/test63/end.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test63/int1.crl (renamed from src/test-data/nist_x509/test63/int1.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test63/int1.crt (renamed from src/test-data/nist_x509/test63/int1.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test63/int2.crl (renamed from src/test-data/nist_x509/test63/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test63/int2.crt (renamed from src/test-data/nist_x509/test63/int2.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test63/int3.crl (renamed from src/test-data/nist_x509/test63/int3.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test63/int3.crt (renamed from src/test-data/nist_x509/test63/int3.crt)bin669 -> 669 bytes
-rw-r--r--src/tests/data/nist_x509/test63/int4.crl (renamed from src/test-data/nist_x509/test63/int4.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test63/int4.crt (renamed from src/test-data/nist_x509/test63/int4.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test63/root.crl (renamed from src/test-data/nist_x509/test63/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test63/root.crt (renamed from src/test-data/nist_x509/test63/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test64/end.crt (renamed from src/test-data/nist_x509/test64/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test64/int.crl (renamed from src/test-data/nist_x509/test64/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test64/int.crt (renamed from src/test-data/nist_x509/test64/int.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test64/root.crl (renamed from src/test-data/nist_x509/test64/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test64/root.crt (renamed from src/test-data/nist_x509/test64/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test65/end.crt (renamed from src/test-data/nist_x509/test65/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test65/int.crl (renamed from src/test-data/nist_x509/test65/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test65/int1.crt (renamed from src/test-data/nist_x509/test65/int1.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test65/int2.crt (renamed from src/test-data/nist_x509/test65/int2.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test65/root.crl (renamed from src/test-data/nist_x509/test65/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test65/root.crt (renamed from src/test-data/nist_x509/test65/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test66/end.crt (renamed from src/test-data/nist_x509/test66/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test66/int.crl (renamed from src/test-data/nist_x509/test66/int.crl)bin372 -> 372 bytes
-rw-r--r--src/tests/data/nist_x509/test66/int.crt (renamed from src/test-data/nist_x509/test66/int.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test66/root.crl (renamed from src/test-data/nist_x509/test66/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test66/root.crt (renamed from src/test-data/nist_x509/test66/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test67/end.crt (renamed from src/test-data/nist_x509/test67/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test67/int.crt (renamed from src/test-data/nist_x509/test67/int.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test67/int1.crl (renamed from src/test-data/nist_x509/test67/int1.crl)bin372 -> 372 bytes
-rw-r--r--src/tests/data/nist_x509/test67/int2.crl (renamed from src/test-data/nist_x509/test67/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test67/root.crl (renamed from src/test-data/nist_x509/test67/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test67/root.crt (renamed from src/test-data/nist_x509/test67/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test68/end.crt (renamed from src/test-data/nist_x509/test68/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test68/int1.crl (renamed from src/test-data/nist_x509/test68/int1.crl)bin393 -> 393 bytes
-rw-r--r--src/tests/data/nist_x509/test68/int1.crt (renamed from src/test-data/nist_x509/test68/int1.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test68/int2.crl (renamed from src/test-data/nist_x509/test68/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test68/int2.crt (renamed from src/test-data/nist_x509/test68/int2.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test68/root.crl (renamed from src/test-data/nist_x509/test68/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test68/root.crt (renamed from src/test-data/nist_x509/test68/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test69/end.crt (renamed from src/test-data/nist_x509/test69/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test69/int.crl (renamed from src/test-data/nist_x509/test69/int.crl)bin393 -> 393 bytes
-rw-r--r--src/tests/data/nist_x509/test69/int.crt (renamed from src/test-data/nist_x509/test69/int.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test69/root.crl (renamed from src/test-data/nist_x509/test69/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test69/root.crt (renamed from src/test-data/nist_x509/test69/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test70/end.crt (renamed from src/test-data/nist_x509/test70/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test70/int1.crl (renamed from src/test-data/nist_x509/test70/int1.crl)bin393 -> 393 bytes
-rw-r--r--src/tests/data/nist_x509/test70/int1.crt (renamed from src/test-data/nist_x509/test70/int1.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test70/int2.crl (renamed from src/test-data/nist_x509/test70/int2.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test70/int2.crt (renamed from src/test-data/nist_x509/test70/int2.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test70/root.crl (renamed from src/test-data/nist_x509/test70/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test70/root.crt (renamed from src/test-data/nist_x509/test70/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test71/end.crt (renamed from src/test-data/nist_x509/test71/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test71/int.crl (renamed from src/test-data/nist_x509/test71/int.crl)bin393 -> 393 bytes
-rw-r--r--src/tests/data/nist_x509/test71/int.crt (renamed from src/test-data/nist_x509/test71/int.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test71/root.crl (renamed from src/test-data/nist_x509/test71/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test71/root.crt (renamed from src/test-data/nist_x509/test71/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test72/end.crt (renamed from src/test-data/nist_x509/test72/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test72/int.crl (renamed from src/test-data/nist_x509/test72/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test72/int.crt (renamed from src/test-data/nist_x509/test72/int.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test72/root.crl (renamed from src/test-data/nist_x509/test72/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test72/root.crt (renamed from src/test-data/nist_x509/test72/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test73/end.crt (renamed from src/test-data/nist_x509/test73/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test73/int.crl (renamed from src/test-data/nist_x509/test73/int.crl)bin335 -> 335 bytes
-rw-r--r--src/tests/data/nist_x509/test73/int.crt (renamed from src/test-data/nist_x509/test73/int.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test73/root.crl (renamed from src/test-data/nist_x509/test73/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test73/root.crt (renamed from src/test-data/nist_x509/test73/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test74/end.crt (renamed from src/test-data/nist_x509/test74/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test74/int.crl (renamed from src/test-data/nist_x509/test74/int.crl)bin337 -> 337 bytes
-rw-r--r--src/tests/data/nist_x509/test74/int.crt (renamed from src/test-data/nist_x509/test74/int.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test74/root.crl (renamed from src/test-data/nist_x509/test74/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test74/root.crt (renamed from src/test-data/nist_x509/test74/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test75/end.crt (renamed from src/test-data/nist_x509/test75/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test75/int.crl (renamed from src/test-data/nist_x509/test75/int.crl)bin350 -> 350 bytes
-rw-r--r--src/tests/data/nist_x509/test75/int.crt (renamed from src/test-data/nist_x509/test75/int.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test75/root.crl (renamed from src/test-data/nist_x509/test75/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test75/root.crt (renamed from src/test-data/nist_x509/test75/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nist_x509/test76/end.crt (renamed from src/test-data/nist_x509/test76/end.crt)bin651 -> 651 bytes
-rw-r--r--src/tests/data/nist_x509/test76/int.crl (renamed from src/test-data/nist_x509/test76/int.crl)bin352 -> 352 bytes
-rw-r--r--src/tests/data/nist_x509/test76/int.crt (renamed from src/test-data/nist_x509/test76/int.crt)bin666 -> 666 bytes
-rw-r--r--src/tests/data/nist_x509/test76/root.crl (renamed from src/test-data/nist_x509/test76/root.crl)bin371 -> 371 bytes
-rw-r--r--src/tests/data/nist_x509/test76/root.crt (renamed from src/test-data/nist_x509/test76/root.crt)bin624 -> 624 bytes
-rw-r--r--src/tests/data/nr.vec108
-rw-r--r--src/tests/data/pbkdf.vec (renamed from src/test-data/pbkdf.vec)0
-rw-r--r--src/tests/data/rsa_sig.vec800
-rw-r--r--src/tests/data/rsa_verify.vec161
-rw-r--r--src/tests/data/rsaes.vec834
-rw-r--r--src/tests/data/rw_sig.vec114
-rw-r--r--src/tests/data/rw_verify.vec45
-rw-r--r--src/tests/data/stream.vec (renamed from src/test-data/stream.vec)0
-rw-r--r--src/tests/data/transform.vec (renamed from src/test-data/transform.vec)0
-rw-r--r--src/tests/data/x931.vec (renamed from src/test-data/x931.vec)0
-rw-r--r--src/tests/test_aead.cpp16
-rw-r--r--src/tests/test_bigint.cpp2
-rw-r--r--src/tests/test_block.cpp14
-rw-r--r--src/tests/test_cvc.cpp68
-rw-r--r--src/tests/test_dh.cpp60
-rw-r--r--src/tests/test_dlies.cpp77
-rw-r--r--src/tests/test_dsa.cpp57
-rw-r--r--src/tests/test_eax.cpp2
-rw-r--r--src/tests/test_ecdsa.cpp484
-rw-r--r--src/tests/test_elg.cpp60
-rw-r--r--src/tests/test_gost.cpp55
-rw-r--r--src/tests/test_hash.cpp12
-rw-r--r--src/tests/test_hkdf.cpp11
-rw-r--r--src/tests/test_kdf.cpp2
-rw-r--r--src/tests/test_mac.cpp14
-rw-r--r--src/tests/test_modes.cpp22
-rw-r--r--src/tests/test_nr.cpp57
-rw-r--r--src/tests/test_pbkdf.cpp2
-rw-r--r--src/tests/test_pubkey.cpp625
-rw-r--r--src/tests/test_pubkey.h22
-rw-r--r--src/tests/test_rng.cpp16
-rw-r--r--src/tests/test_rsa.cpp117
-rw-r--r--src/tests/test_rw.cpp77
-rw-r--r--src/tests/test_stream.cpp16
-rw-r--r--src/tests/test_transform.cpp2
-rw-r--r--src/tests/tests.cpp32
-rw-r--r--src/tests/tests.h25
-rw-r--r--src/tests/unit_ecc.cpp (renamed from src/tests/test_ecc.cpp)2
-rw-r--r--src/tests/unit_ecdh.cpp (renamed from src/tests/test_ecdh.cpp)2
-rw-r--r--src/tests/unit_ecdsa.cpp490
575 files changed, 3750 insertions, 6299 deletions
diff --git a/src/common.h b/src/common.h
index 1ddf4d2e9..75bd41abe 100644
--- a/src/common.h
+++ b/src/common.h
@@ -9,6 +9,10 @@
void strip_comments(std::string& line);
void strip_newlines(std::string& line);
void strip(std::string& line);
+
+inline std::string strip(const std::string& line)
+ { std::string s = line; strip(s); return s; }
+
std::vector<std::string> parse(const std::string& line);
#endif
diff --git a/src/test-data/fail.dat b/src/test-data/fail.dat
deleted file mode 100644
index e7be16f86..000000000
--- a/src/test-data/fail.dat
+++ /dev/null
@@ -1,100 +0,0 @@
-# Botan validation file: expected failures
-
-# Each sequence in here should induce an exception on the part of the
-# filter, or produce the wrong output, or something like that.
-
-# This needs a lot more work
-
-# MARKER: Block Ciphers
-
-[Blowfish]
-0000000000000000:245946885754369B:
-0000000000000000:245946885754369B:AA
-0000000000000000:24594688575436:AA
-
-00000000000000:24594688575436:
-
-0000000000000000:245946885754369B:\
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-
-0000000000000000:245946885754369B:\
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-
-[CAST5]
-0123456789ABCDEF:238B4FE5847E44B2:0123456712
-
-# MARKER: Hash Functions
-
-[SHA-1]
-A9:19DA91F2603889267DFD77786E07A5B8F067D6
-A8:19DA91F2603889267DFD77786E07A5B8F067D62A
-
-# MARKER: Cipher Modes (Encryption)
-
-[DES/CBC/CTS]
-9F8789F30E3ED728:48C597491E0C3C1706:9076D5A743FC9721:A9A6C2AD38E682C1
-
-9F8789F30E3ED72800:48C597491E0C3C1706:9076D5A743FC9721:A9A6C2AD38E682
-
-9F8789F30E3ED72800:48C597491E0C3C1706:76D5A743FC9721:A9A6C2AD38E682
-
-# MARKER: Cipher Modes (Decryption)
-
-[DES/CBC/PKCS7]
-E5C7CDDE872BF27C43E934008C389C0F683788499A7C05F662C16A27E4FCF276:\
-4E6F77206973207468652074696D6520666F7220616C6C20:\
-0123456789ABCDEF:1234567890ABCDEF
-
-E5C7CDDE872BF27C43E934008C389C0788499A7C05F662C16A27E4FCF276:\
-4E6F77206973207468652074696D6520666F7220616C6C20:\
-0123456789ABCDEF:1234567890ABCDEF
-
-E5C7CDDE872BF27C43E934008C389C0F683788499A7C05F662C16A27E4FCF276:\
-4E6F77206973207468652074696D6520666F7220616C6C20:\
-1123456789ABCDEF:1234567890ABCDEF
-
-E5C7CDDE872BF27C43E934008C389C0F683788499A7C05F662C16A27E4FCF276:\
-4E6F77206973207468652074696D6520666F7220616C6C20:\
-0123456789ABCDEF:1234567890ABCDEE
-
-1D2FECD6F0F733F1:AA:DC3A72A9BA8138EC:67E51C4F8403BF6F
-
-D90246C39C191E98:AA:45AAF3A76E729062:53C1F28656B05986
-
-[DES/CBC/OneAndZeros]
-28582FD8797D3DB5:AA:D404FD15970CB207:88269176E292DE0A
-A2C23F6A496C7BE9:AA:829E7BE8C8A9B326:106E9D2E19FE874D
-
-[DES/CBC/CTS]
-1F807F8FB9678124B8:9E1CA14BE6538A35DB:88B23AFD0683D337:BAC170D943D262CE
-
-[DES/CFB(1)]
-105EFAA6251E7659:C5A1343F4AC4DD7B:C42B0F47482DABA0:48848E073CF89946
-105EFAA6251E7659:C5A1343F4AC4DD7B:C42B0F47482DABA0:48848E073CF899
-
-[Base64_Decode]
-3D514D3E:31
-
-[Bzip_Compress <EXTENSION>]
-64484953204953204120425A49503220544553540A:\
-525A6839314159265359FDAED210000009DE0000104000100032604C1020\
-0021A4D1EA0FD2840D03401E19B4D4B254EE89F177245385090FDAED2105
-
-[Bzip_Decompress <EXTENSION>]
-523A683917724538509000000110:
-
-425A6839314159265359FDAED210000009DE0000104000100032604C1020\
-0021A4D1EA0FD2840D03401E19B4D4B254EE89F167245385090FDAED2100:\
-54484953204953204120425A49503220544553540A
-
-123A6839314159265359FDAED210000009DE0000104000100032604C1020\
-0121A4D1EA0FD2840D03401E19B4D4B254EE89F166245385090FDAED2100:\
-54484953204953204120425A49503220544553540A
-
-[Zlib_Decompress <EXTENSION>]
-68DA734C4A76042247C7A4A4246710D3392D3F3F29B1880B106C380868:\
-416263416263414141626262436341626343666F6F6261720A
-
-78DA73742416700100E0260AB5:\
-3141414141414141414141414141414141414141414141414141414141414141\
-414141414141414141410A
diff --git a/src/test-data/pk_valid.dat b/src/test-data/pk_valid.dat
deleted file mode 100644
index 7298b3730..000000000
--- a/src/test-data/pk_valid.dat
+++ /dev/null
@@ -1,5021 +0,0 @@
-# Validation File for Public Key Algorithms
-# Not as comprehensive as it should be
-
-# RSA Format: exponent:p:q:message:nonce:output
-[RSAES/Raw]
-# Tests for keys 512,520,...,1016,1024 bits, and random messages
-3ED19:\
-D987D71CC924C479D30CD88570A626E15F0862A9A138874F7016684216984215:\
-C5660F33AB35E41CB10A30D3A58354ADB5CC3243342C22E1A5BCCB79C391A533:\
-098825DEC8B4DAB5765348CEE92C4C6A527A172E4A4311399B0B02914E75822F1789B583180AD\
-EADE98C200B7B7670D7B9FBA19946F3D8A7FC8322F80CF67C::\
-A54A45C5F534A6C727212802CD4B2A0B9D0069EFE32B1D239D3B13958BC49711E1CA5BB499FBF\
-7402B6006E654C719C5FB7614C7C00699866B38445228EC7663
-
-3ED19:\
-C5660F33AB35E41CB10A30D3A58354ADB5CC3243342C22E1A5BCCB79C391A533:\
-D987D71CC924C479D30CD88570A626E15F0862A9A138874F7016684216984215:\
-098825DEC8B4DAB5765348CEE92C4C6A527A172E4A4311399B0B02914E75822F1789B583180AD\
-EADE98C200B7B7670D7B9FBA19946F3D8A7FC8322F80CF67C::\
-A54A45C5F534A6C727212802CD4B2A0B9D0069EFE32B1D239D3B13958BC49711E1CA5BB499FBF\
-7402B6006E654C719C5FB7614C7C00699866B38445228EC7663
-
-1F1DD:\
-DA78C89EBDDB277831DC1591C26AAB1C11CE9721DBB3AAFAE8F73178BC2D60055:\
-CDA647FE7D18AE11DB26331116DD7F0C22D1E79E524D6886768260156827C6E9D:\
-CC11049A69951999393D2F48CF7DD27F99C735BC424E538F60EDB512815F88F17B71C27C875D0\
-5BD3DDE4B1573C61F8C91AE22D50BC2AC32422C87C34F2B8A40::\
-946F392678443684494FA6AEC5A862C2825CB3B27B6FB6EA5E9654A9C18503F41E8D6FD34AF40\
-76B5A703E14287F133E6A2B0222FF812309DEBE733543FCE97792
-
-35AF7:\
-B6B91AC270B7F066374A83555D690D67F0122398B3BFE69EE955F385A87C7736DF:\
-FF43B5A334ED37C059E693C68B9567C41E7EC17A3BFD922EDF50CC000902846A7D:\
-C1BDC66E04769D8D104B4FAC19AA8756FEAB153BF57E3FE305F2A6DA718EA7A140D8C4B5A8FC2\
-05E327DCC13554A378F1D19ACEAF5DB3D06266F90EC4C72ED6B5B::\
-73604C1C3F699A56053A627A46502A67D0B604009F811D2E3A296830F5DE6DB0820EF1288A37A\
-3DD47974D339FD06DDBDCA44C53F3A88765F4532A26DAC97BFF7F3A
-
-1EFB3:\
-DB08ED25044A98F91CDCD7A92FC81C376A51FF58329E2D2EC54AE71C25C17B639EF:\
-B99DBF6E1FD6D5A2986FBB818B6887AA41BADE5761C333EE98B095E7D551CC70865:\
-6BBB92A591C6A9B612EA82FD766100E7B37D8DE8FACDECE322B20E18D7932B854A5594FA67972\
-B13D79AA9D37CDE29386644D9FCA609A7717C55EBF568687015A2E0::\
-50825633A36B199F23931AD09DB38DBC8548AACC6A37F1923ABC6F94CE7256427E98E5A433A7F\
-0FDC6DC8C8519B0DFD94A5A98C8AE80D1B502C0EC3592173DCBBC8E5A
-
-22E79:\
-FC0A336E6CA2935826038319B45E921F77E4917D978B3177D162FB0CF75058B6EE2B:\
-B8551618F76501F4518336A579117533AB27866B44A4D15A4C0999D919024F1C558D:\
-483E61678CFF7AF78306C5E538D0AE750F1B172BA0BECAF561EF7D9C6369F713AD0FDD7C75F56\
-F1D4570B668D45563CE7801BD97C6EBB7C9909A9C454369DEAFB57E97::\
-ADE77710A5E9C390151CF6E7226E63692367567D1C02A7E5C1554ABE84E487B48EB18BFA20A8B\
-F42180BF0AD5A6E1A6FFC7EC45A4CFCFEEF1E3F3333B85C98101FE8E339
-
-EAF1:\
-FFE0213AED2397C0663C26A85DC88DD4C95AA61345C4B68492C3FB1F63B61B1AB1CE3:\
-FD1DCC4D3B4B474BF2269DB028091B4A4C8AA244D2F2D9C5F55FE449ECF5D2F2DB491:\
-BE889EC220BEBD6F542B5FE8E670453333BBBD438EA2DAB4718E72872189FB74E1D1D677C1D45\
-8D769C82D8CE7FE163E2384DFE458C39FB5E8ABB78E5D5D3454CEF0AA74::\
-4213C1FBF227222B30F20340E345ACD86F90656034F3B318E43D3BC1A46A0FCFFA2E0E6998826\
-97025096D999290CC80801E10F5CB9FC0BC52A2170A16B52B9AEEFF6C5FBD
-
-6B7D:\
-CEDD0A94A36B76B858DDC6936C74AD06FFDB4924DB40A67A92E1E04B2D8C40F79C323D:\
-B78925E051D7502B08DF6E08CCE50079CD135C4E598A0C4401AE7300580ABC4E8EBE03:\
-98F60C8C957EE09B5AA93A4F1260143AD426B5C4A3704DBF02006766910247D2629F867B50DB7\
-00C4BE6BE97571D00BB201B2B3F3A4D663DF47C0F54BC48556E5EBC34AD82::\
-7CB497661BE76C5DF706EB0C0501946ACDC5F29FAEE801A77F8977663C1428136DCBE39A27146\
-272635C3F793546D1EE26850612D784D57C5F3F3F1C14A2DD58E07B06C2773A
-
-3F5DF:\
-CFDB1855F00EF13CE24453CA18C30292853D7E67AFE568F0C03E1AFBB68A0FC957559EF:\
-BD6E7EDAC9168F48C0B79E5C8DEBFEE0344AFD7DF63632C9F10084605EA7EA2C37DAAEB:\
-F34B51F68AE00AB209B178FA4ABA876F1DCF438016CF7054A4E979B1D239C6FE087E492AD69C4\
-7C5F4574DA5C506AB9CE37E6088FC82BCFA7ECAAEC4C14F2C8C7D9144C351D0::\
-94450AA696DB0715A5EB2B4FBE5A9CD4B1396A6DD8748359947C809061E13122C5266368415EA\
-7D4AB343B7981229CAC73BBE2233B3DF2F706DC26F32AA428377A0172AC58C662
-
-17577:\
-C3DFA0C60823C8F5355CA1768BABB4A33C3FFC55CE89FD372F5D9B2B2B49DDD23C669A77:\
-EF50ED5CD6B6BF898586F8DAACBCBD5FEE637F56936C2535F4F5E30B35B9F5DD8B8D6D61:\
-FE19C87AA946B87FB8CA1C274DAC3D67F5E2D67EF2518BA3C1C6779D42E90FADC96C849065908\
-D836E74F5932536C2CA8F6B65ADCA245F78C6D4F3230D50264E804B460D6C50B7::\
-13AF743D2FE2542AE28DB8BC52119F3B563C8D800D88ACCBF66EEDF6C418D9919D21A7B4AEB02\
-882CD8BC201CB66DD81953E27BBC29584148CAD99A4AADB5864B403326A56B19F18
-
-3967B:\
-EA749A2B3E172EDD565949DFF7C6D6862CD6C0926221E02E48A4C57169DB99058F1AA0B1F:\
-FBCE4C37F70845A76B894DA16FE38ABA97AC9BB41502DDBB3B8A324D49ED6BCFE424AEECF:\
-2C6BD8FEDCB431F2F5C4EC93841BC7C96E5AF33CD0A92C40D552F18F27D1021122F1841402059\
-41BCD9943C17FB14EAB112BD0298BBD73280611DD873EDB7F8431840D01618564F7::\
-06D86CBFCCCD3053F2280DF34E2EE6CFD7C8F9A2C2E1F610918C160BEB3D96C677A44B0F26BF73\
-8AE8A94764ECD03AF8F450761CC58698C2D4D62C8357A97EF09811E5AD7272888398
-
-2B62B:\
-B9C09DF3CFC53D3C72EA055D8F4C10E4D477CD657D37F0ABAF4EEA736AC1B2628B00726F0D:\
-FE01AC6F0BBE2BA6C593FB96A0C24829183D1D99F5CF39909BEF7B2F0D8859D325689CF93F:\
-DEAEE8D8F4D64EB0D88BC82DCBF7883558A44886105BEAAA2E193ED843C956521F155A750BEA3\
-76E179B54465574C75E817B38BC51C2451739DCC8F6A55193076E4654CCED925DFDB4::\
-AD285E351DF685D52E53BECFF44B24288C323F1E3ECD960D0773D530A7D4D622473222BA35F50\
-78ECD49D2234FEBE178AC099BCAF0C6D11D6309099BEA61DB86AAC27AFC2452034CCD5D
-
-A57D:\
-EE13F2AF183D15108C8A537E0FE9B39B3ECAF21B3E29995F121C6C0234FAF590102E90B46BD:\
-F369E93A0B0B6F459077A41C4548218D32CB0C2F7E3227EB61E06A2D77D5A638DE0DCAFE987:\
-BC46B68B8D7CDA2EE172E33D3D4B0A0C3A6174C69920BDDFF99795F36178BE629970182EFF3D3\
-A1D796AB6EEEA3FCCA7AC719436718619D86D8BD6F8F4415464899CCC852E104CC5841B::\
-5F85961809D44F4D5FA6161F1F69DCEEF6B4D9B1EAC9378595A329761480B9658CC5C5A2E0AA4\
-F63B96E7961AC450C0C37B57BE0956BFB8B4613C9B4FF88C0849E02CFD586AA03847482DA
-
-13B57:\
-F7B57711898D0CD9F7A01F3089748199E36657205D9886C225BF2CB2E592745F139B1C4EEFCB:\
-BFAA7B146C59824446B21716A991A09742D9A84B94F7F0A16BF0717B2D9C1A4665C3E8C17E35:\
-913167F67F74B1AC7D534A9A6C5DE71227B7F53BCB806897284666E147AF50CB263433F938DD0\
-7B5609DA8E0BE690220B57D99F4051AC8D5D67E86ADE626F1EEB0771C62DAB8F4452A637E::\
-97A5809F41C9AF2CE06CB4E43D96D0762B5317D3DA5B56F38493D4D8A75CB3C7361801887C921\
-0D39B5772BA7F32D302F91CD622CDD9FAB50C3A14AD95824692660D1631AC601C310DB91D61
-
-2FF3F:\
-F6F1763D1518036D58CA36D95E429BB9B47B2C064227B8C8875E0B16326A09E8397EA805DA825:\
-FF0ADACC5EE6B8D4E5E94985C9DFCC826A650A1AE1CE888ACD44D474483873E855FEC4EE7C235:\
-92D02535AB6B255F85546AB69CE4223E63F4355ECB57DC8DF1F0E56505721A78233A9D94A5B60\
-1537CBEAD6E092F1ED4441B32510883B2CA7C2211D04785E78E5A1AB4EA07E4983DACC4DA1C::\
-E131DB04F4578910C3DB88C909BF429D29D02541219925CB4447493CE13BA756D5EAC4D68EBBD\
-3AE853844EBD5E3914F3001A5B722D4EFE0C1203D89B9045440145966B61D3BA1CED4AD32C773\
-
-22E97:\
-E420CB77F5D12BA62595E0472843C39756E9CB097992EE1CD06F96EFA9AC\
-C96D664764A674C953:\
-E65E2465225710AF7467023D6E9546BFCD04BBFEEEF6A29302B584ED6C9F\
-E4ED4E0680ACB9A79F:\
-B2D4480F64C8E6D357A260031C3940D93380AAA828FC80171DE482B4788A\
-F1373EA3833F2D547\
-B5AC63279BFB8E68A2BF5C9721352F650E0F00E1932D9106235B2A99D74D\
-133374CFB08D9FBD0::\
-072FB6A4F6B90C43226E0ED5A5233BE19529055EC3005D161AE60506A98DDD5B5E60C48FFA2DEE\
-0CCD2B4F3F39938D52A5FFD3C48496232C4FD6C05D05E72BACC87087908FEFC6849BD196686D7F
-
-3EF9B:\
-F6F758693253F88229EE11BB55982A8D27B424032BDB3FB47DBEE09ED159D54D2B4F3D9B3E540\
-97:\
-D3C1DBA4606571FD58FF9CAE5B0B74CA2F496F444C37BBC0672AE5CC22547EC5CA90837A68654\
-77:\
-26B0E340A506CF587FE2AEAA4BBFF8E8A721C5DD9F96823274EC3050C3AE7C04ED8D102044AAA\
-86F4AE7BCDB8D53FB0129B152E4CBEE7C176A7945BDFA561D03554EC6135205A0B0D7FB79B98C\
-63::\
-6D48A0CA04F5E1B1CB5C8C58A14A3F79AE1FE20583D6A22BAAD4BE1F9CDE028935E7246C2DEF2\
-BF591BAB9AB2974AC6EE226031207754FF6E0FA032CED158AD41B9183FE13087C5C07624B4192\
-B1F1
-
-15465:\
-D005A4FCE046350601ACFF864B0D2B2A09E38D5E96F2CCD6AFD0A1C52270FCE297219A52EB10BD\
-AD:\
-DFDF0E254343E651DD4EB4B04B881B8274565CCCE054DEA6CF2E24B18B1B124B9C455A898C6D98\
-9B:\
-105D43C035EA626D0474851CA5EDCBA0C4848737F0C24653AC2C0025D0076A7164DFC6BE2F383\
-3D34CC52773C4A9E5C29D18CF02558D3A3A0BA45BC142221933923066F745386E4FFCB12600AC\
-DEDB::\
-5AD148B4FD171F7CF6D44F69A5A90D96097D20C2119A88692490D9D86F1CF3D00DD0D0D84D71D\
-3634EFD7EADCF1052161608355D1FB00DA6C36679C51BCF079348A62C1D6BD5E094F9CD9095EB\
-828057
-
-1D9AD:\
-E2698781666556447427B2E3956F7A8A9C089021158415144C4C48555C4B8AD95862C275C7D31\
-9FDF:\
-E7588730EDF12A42C40BF58E0E32E0FEA473D683577C7901F46B26793DD002B6EBA0F9E72D79B\
-1B97:\
-B31908872EB8E97BDF94B976F04F24546FEDDD4E20D91B6555DD4B4B8E33EABE577AD922C5EEB\
-3EFE8E060EB69763D9D9072F121DD26097B262A765C1556BBA32AC3D80FF23538ED50CD759480\
-5D8165::\
-94A809E73195D7EB2155623CC8B383C28B971920A4399787809EC0CC2E6B41AC9027C0B939157\
-AC45936DE7CA116F625C01EE6419010061B8CD2D0A9047F89FB5B5DB630AC86AA5572A81C326B\
-6906355D
-
-32623:\
-C83A47D71C360BC385D1A52A792F209596F5B71A0E1743B7AE19ADEB0C84E3A74288884786AC5\
-F5B4D:\
-E72046AFE6C5478EC868F602A71316FBED2FDC8D872D48A5EAAA05235EBFC42A4DFB599C13BC6\
-1D8A3:\
-5C5CE3F7AE9AF68B16F451F67057F8C041398A53C6FD194BEC1CBBF0F074C2A45C5C88ED48E4A\
-215E32CDFABDA45C92F24F94CED95E8C2DBCFEFF9506181BAAFB8EB6F5688ACFB42C0AA0DD1DA\
-8CF4B760::\
-1D7BCBCA46326BB722340D45EAD0825F5FB1D6C9FF3C7841C749815500A227990592D599BD210\
-4F53C9D2DE460CE8078222A3FF34218F89FE0065E4FB852E623024987FAC1AD0A12EF239BFFB8\
-781B38A86B
-
-1F471:\
-FD762F93472C2FC5B3198306AC6E4D18088B0A65AD4975EE26FDC78C52C4B7CE3E754532E95A5\
-B548BF:\
-F15450F4E38CB8DAFC3153725CC289DA9F0F218CFC65F6D62BCE770F4D42763CFFADFD26DD236\
-82F419:\
-C4BD415792D696D83CAD82285A0E7A06CD7F05455653F13F56DC4D463CEE6753B6237B301A511\
-2D7C8995815650C38113272BD0F6AF0D5D51D7E5EFC82B9DA66242B5A71FC6A6C0436DCBEB86A\
-3C1CCDB75B::\
-EBE9C9D258C09B1F708235D5CDC2751923A993A9176241A5554356C752C62F081AEBFF2E13300\
-2B1E70F5902CBE6C8DE8B12080FB9CFE04C1E7EF7036D0A6D07CA091DA3B085FB9159BC5107C7\
-28F55FAA25A2
-
-2DF8F:\
-C3362EF39B78C21469D23C2FEC1642D3EB7A7B72695A14FD07A0E6D616B0C50884540BCE16597\
-1AD3833:\
-DF631F65CDC45053FDDBA18E67E47F45F14D876E4D89101E531303735B38C883621A2CB7C16AF\
-DCBF26B:\
-50F14DFFF4F8B138F12159A52BD7B22BCB6979062C8EFDA7E9923A7EF43996C954EF15524745D\
-3A3E5BE1A57D416B02F11D9F7BE36BBF56CA3CC22DC27DAADB3423B4788B5DC72BD0E6D3083F3\
-303AD92AAD72::\
-5F5BA5370BCD31B61BA12DFACE38C80A3941C76091E3CD629DB5B6BA90415D83EDDE9C640D84D\
-8D671F13974DB70A85ED0956EE53ACBCE54EBC328729630AED05321A2FF3C3FD7F1DCCEE8968F\
-9317FE00FE3244
-
-33801:\
-ED0A07AAA76BE91DE67ED0EB199779B16FCA57E376724DDE07B11C538ECA422B15E20D2668E6E\
-76E6023F:\
-F053CA61904163A5AD824276A97ADD3153B473CC1A45C401EA87DF2CC9150B2B8BF817499A2A0\
-E2EF7C3D:\
-585918DAE91862F4B8AA6F15273D1CDB9FE2ED4D7F0AAE8AB18D2568BB844B37297FD3B7AF38C\
-A29C3FD944DF17C62258CB0A4774FCFCF3D46C1D8A96EC87E935D38D9069F337998C7960DE1BF\
-808940E2E5ADD7::\
-978782932C74CE5E40602583D3A3F4C18444692C62F13B571C2FBB0BC3512F5305A90298EE626\
-C3E32AFAED17BC3CD85EA6C05A8F84E8262160AD9486EC5706560769494E0B3E90CA6B752DCF2\
-75FEEEBAEB1C78AA
-
-28F63:\
-F69378CC655534C08A24FF41A6984AA981AA71574EFBBC565ABC63320F1CB5A20CB599FEDFD12\
-559C884A9:\
-C954A6E1207C0C36D39ECA530B5496D91A12175E2BD9FDD2DD897542694DF50292D9313625249\
-3F5FDF347:\
-6D63D56180ACB06BA7DBE50E01F9D50424B9545CD054AFE4BFD6BD4B14B718014F2A9E712B3EB\
-EEEC83B1209F895C709186E9D898CC9CED462168B129534CB241D6C06FB2CE1984D04C2434153\
-AAC472994AA6D3B3::\
-4A2046DBC2C49E68FB37D77CFF89E2883610F0076AC081FCB9684A4962BF8A21829EB10E94C35\
-C5816FADD1F1CFC4405FE9833F79CD363A512DBACC6517D98305FB38F17F5F04CBB3C8E944845\
-C3727295CD5A097824
-
-3C283:\
-D9E9285C4E77272100900893E78AFF01DE4C6CF03EB8B7B62B4615DC09B58DF98ACCA559DE476\
-255363DB7B:\
-E756DE8333A525E410D4E896B4E8C4404B55C919BA168F97B6E0B6D1922CC56EF3BCA5991A3D9\
-822EF04725:\
-3134FD350325ECBC1E8E1E702C1CB3EFA940122410B2A31BF90B7578D8B5370AE8C961CF2824C\
-5D5A8B298F84CA31F57353C432A22C17C9CCA6501250A6B930E4C043E634CD0308057C0E719E2\
-20478022C4A13D27B4::\
-3BF6E6EC491B9615E640A19A9C50AA27AB57E3493F96C4271CAE56C377815CCF2A65867CF9327\
-7948D6ADBDAECFA629E41E72E20974735AC615692DB76EB7CB83F9388FC86C86C615E13CFDBEA\
-9567A95E2D6B61FE6077
-
-E505:\
-F0D1129E96239792FF1B59BE8D2B755018BD8CB83DE5D825C04685917762185A62A080DCE9D98\
-D389AF0040F:\
-F4227E1F8DE368420D5D6069E03709168A8BFAED59C8E85C8294317C6FFB98332D736540CF888\
-EEF6C0C5CA7:\
-72D86399CF78FC56C6E3FCFEB75AD0399692D3864AA1060E5D92473E82BC9950D037D478D2130\
-994A2ED377D8ECF987048E0014A1227D818C5913CC1F8646B0EE10961A3189A031073867D7632\
-62BBCCA2FD04AB7DA443::\
-AEDA2E28A4DBD01A7F288202D1D3D83BECD2DDAC7E6CB38261CAC58F5DB02916DFF53A9FE8EF5\
-70CC804209081D465560CFE9563C8A217581DF8FAB4E1F7FC22AB8D89A9D1BD9A78C1AFCA5197\
-BCF6BC9A8D84AF53A5EBAA
-
-3DEB:\
-C09753C0621B13376CECE340B0B0048DA5F4BAA4C8DA1F0E7EA92ED44E5DE757971F155A6AECE\
-BE751E485A9B:\
-CA4B0930AB38FF92E10A4AAC631797ACAD2924219FBF36E4AF18DC918BB40574B072F23ACC1CC\
-2C4B5ED15187:\
-C82FA6530BBF74AB38EAB8C116F5AD50AB007BD36E2BF91B9E14AE69CA2639E6FD928FCDBA3B0\
-AE7A1E58142B37167B41885DC2B6E07DB003944BE7D1815F3EC442B47FD4518BF3B31909DAD3D\
-950ADF4FBB212B31C9B62F::\
-03B2926F1560ED49557BA17D127C669D4DA2B37809F14C0ACEE845F6AEA36EAA118125D94F9D9D\
-017C9EFAC9AFB2EBA7C4DA17B95833CE1EDBD846761E0F7872247C23EFE8B2451CD4F5F84C6888\
-159705A9C4AAFC3489C2AB
-
-F4E7:\
-D8658E89C4E85DD9EB45D4584265686E8D19E9AA823D5C37532C6F9EAE8BE236713DCD3DB23F4\
-14C55D8B6D867:\
-DC3A02867F7A3BE96A167491BA202175E8902776A9F3D9A852929F27DEE0FF99F5C321A8D5663\
-F7CF074D7AF01:\
-A77BC6D9F770F51BAC0612C4939F10AC9F336B61EA6D87E3C5E25B053792D9A90F990A18CFB82\
-08D027D7C63E14FD4076243803D4EF226C4E17C801EAA3265AF361B8434EC8AAC8144777FC005\
-41898C637A7681353C99CD7C::\
-3CD72CDEA001A4F815D1634599DC6BE03371FD68D30D2AD40FB38E1ADD92057E4481822E5977A\
-94EA02F9DEAE1D59DEC6F9158D45D0841A981D4D9FAC7C766A8F9E92BA06B67AE058CF022FE39\
-FD7373230B831AF141C3CA721F
-
-10C8F:\
-D946C37A4DA5F1D01ECE1ABCCA98DF361D2AE47BD1AF421464106FDCEA6DCBECFF3B91163FF9C\
-0AF06EF9FE368F:\
-E3D6B43DDFAD06AAA4941129A4FAB542C41BC55834B4D9BA01C5A4BDEBA010B0EA2D125C23396\
-B669B8CDFA5651:\
-FCCB925AC2AD6E6E5855455E84E266CAF5E6A397AEA993003E80F3F7D3A1B83E3A1DF9F87233C\
-BC3F2969152057EE85254B84260EB6D156DAF844C994F03EEFC0B4446B25D6C1B4C464238871A\
-5EEFB45DC37794DD64E4A8C175::\
-3026BC29CE98BE196930D34F12C2DA7702373BF4B15860DDD5FD61DAE4EF0DBDB353DAAD8091B\
-D89723BFAD2AEC3CA127594A9A8F2E7244AD821483EB73B014DB00806A8C5BECAFC92FD79609E\
-7F9469EEA28F21BF4CB1AD468E4D
-
-D89D:\
-D65E29ADBAD552696C44154EA2C80C23F49A604DF256730AB1BDEE5FCB9D9C2480CB1EBC78830\
-DCA559F40ED42F3:\
-EEA2E85BCCEB57BA0730F0D01940F79A55B91D2CAFF54B709E7616364B020FF9F640C4AB1884B\
-8EF031523855693:\
-702D36984EFF9FDD16A879C177768B4C497E384E657CCE78C9DB496F0898FC3DE110E46A96798\
-38900A5177027E9AF0907A8074BF553019327FE47DCD86E11E4C545D80AC4275FADD2E0909236\
-E55C6846317BED4D286A8B9D5122::\
-3A3E20F621512BA40CBFA6CECA990404275CFD2D6465DF62EC70A3CF0AFAA337D6968EBFE5E66\
-B6FF9666BCC800E80F4BCEC9DD33076DEA1033A391AB220DBEEFE6257505F8DA1F61EA0219BE7\
-B93A89CEDD5EB1E6895EE81DF52DCD
-
-96B7:\
-BA0A5FCBF606CCA93394B2874ACD6B27E8A56B358ADAABE8FE70577C37B13EB508278ABFA5C3D\
-055419150FA77145:\
-B8399927DAD237158D4385C3D52A5237BAB2FDE90A50CA601CF8C9A91316D69E8AF3A66DC400F\
-884FFFCCA4B4D6E3:\
-1BDAAE1316925E851F9A25903F3551D8EB7DD69B81A63D9574C961CB8A3F2ADAE7341C82D8C60\
-DD6F28D947A40D48063FBDCF4AF69D5B355C0C931850129EB8384CA5B805692EDAD9D5A26C0C9\
-D2A02B195BD8617DC39ACA0F349B7E::\
-7660C59184EE406D35A4B6909A5711B2F7053F948DE92C3D75947191406959434B529C035AAB7\
-785DDA4B14D9D741085AE1ACC5113AA0A3E93A26845F0E6A25DC88C4865CA046F35A1EC6E8E4D\
-AB59055DC49955021EDF85A50FF3D08D
-
-1CDB:\
-DFADFD5EF2FFE2F823AA107FAB9388C6E4614833F697701882301A874CF2D2CC8C5E8D881DE3B\
-1C86D043B0EAEEE87:\
-D5483867A334313530C629B9B6386CC1A385716FEF988EA995DE8987380FDC1F2518388107C93\
-9DA0E1F3D869A66FD:\
-E1B889BB7FE5A95A69CEFB78A20C748F3F44E9734F7ABCD7D241E9831DCD3B33A36622F21EE32\
-FF85FFBB1C56A379D8ED3A0CFF791E61BD6E4822AFC05F22E356CB10899DF3B2D5119BD9350FB\
-901A261995D616FBC5F851D0C787E31A::\
-04D5337CD443A196514E2FF4A3C264481DA91FD1A01C8C819BD376222A824CA6527F7C4884936\
-45808577F17E896A6D9A39B6A3E9CDFDCEAC46A2160752D4F30223FBEC4ACA5A01C3AE3CAFC34\
-ADABDF661BF198C7A0EB4C696C60D590E9
-
-FE1D:\
-FC7C6FE9C0AEB5586DAD9FE052587B0174899B7BA9336E1F43AA74DA97B6A51C1095255F88F25\
-18070C79CD3D1753E3:\
-BA97ED086E482E723CF61B68685946173D5E3E18E08755EDF817671144D752D388C6CFFE89E0A\
-A1B0C204E9BDD749DB:\
-ACCD4BA9136BDF04D0DE4EEA9DF329AD891D115E2426A3AAAC41F69F2AE156D01BA34B5B2515A\
-7CE7191A0266A7EB280798D6BEE627B65AD3A8D7A5E94603C79DE429D9EF8BC9C4DCCDAD768D0\
-BE24E89AD29FDE7978651ED712D17F4269::\
-66F0DA8E2D30844A391FA9320732CB75AB1ECC4D6694B0775DA41D029A8A8FDD0CC7AB74E52D2\
-E2D522AE7F336D3A7C21BEAA708C933AFF48BF117C99062D899052B2F9CC5C7C86DB7F2A5CF91\
-95A1CC8E73B82ED6F3B4C7AAFC9760843E15
-
-2F99:\
-E2AF62AD078155F452BCDD17DD1F37F73F22652E4D341AE558A261FD958E7304FB6A7DAA6F1D9\
-4F670F2A6163ECCCFD7:\
-E716A2EEE122C98651180F8AFB865C6617389489B69462D9A18570A4DA0A1006AFCDE60DE41F3\
-33908DCFD82C31C39EB:\
-1350D7DD6D558BF7B2CC13628D12E6DA39F925D6F966103BF00529005E6B0A90A63FD58A67446\
-7468B065EA3E48636B9B409EB4167443699A47B435ADB68847D1EF00C90BB890AEDC6EB57BC3E\
-8DB01CC990F14E6076AB5E7DFE5B7C5246DC::\
-46DE5E9C22FBBB39C33457C66F4C447E922EA5B4D822BAFA60FA072B83628D34B27316B8FC418\
-AEA2FA0C6E495C474BC205DC35F32BE6FADAC38D2BE7E0CD1AF1A548908F0D5C1F97ABBC1A3AB\
-C30664E46579E12CC9624DFA7D431D44ED4809
-
-E3D:\
-E7D355D9F62F6E79567C02305D34EBE95852FD5E77123BD392ED843E3D28C22FAFF3390E7A1FF\
-42E453730ADDB98598BD:\
-D6AF51AA7C89556E79A491895000665242EE272FE3E18E79A6CDD9B7BA694784BF1A9611C9FB1\
-0183105DF0535DA57207:\
-8B7800B682AD7562D7677DF8AE845D1A67582F5400D32CF51B044DC7DD9507C5074BE468AAAE7\
-A6C862E7C5267389A93D365CED7E60D70E0FCBCCAEE2ED4CF549B7FE6BB2A3D561AFE19B9EE0D\
-094082921FBF7DA194B884189A659E72989DB2::\
-815912EA98FAD3D186E4E778617398B99482FD96B642B5D97C76B401FD028C0925017DA2938DD\
-756289DA08F8409F73E0D382AC7709AD0924AFABC918380C2A5B00804BDEB99B249FDA0AAC227\
-083861D9961EBDE7A64935E2B71271B9558CACB8
-
-37337:\
-C3335C0E3243BB8172670A390A4C6F1D51CC249F8AAFDC77B53CA05912808CB2A7AEFF1A8CF56\
-129D45C80256C6760E9F1:\
-C8978DAD5BC81B1DCE811A010274BB838F641C996AE49B186018BFE91EA04A54E8488CF31D9E1\
-DD1ED2486CD817CB7F05F:\
-7EE901DD41DF722A51579A4499C02E981D73664634BD6A032BCECC326E1CE5C7247ABF9E62358\
-77312D282F3D3F6613D3B7BB97F963B4437C69C6EDFB6DDEDD519F72BB99E155406A7577AEBA8\
-5390AC7EDC18046D639C70D5EBE3EBD73466DF68::\
-4B2E3B069A2B0559A1BA2E50170C0DC28930B7D2F6954DD02D4FBD2D97975D8FF1E2CA851640E\
-D8522DEAC48A7FBCF85DFB18D698F9D3DEFCDDACD99AEBE52651CB2456420497507D3CE55CC4C\
-E411249840D776AC2952FA5011C68DF7353F832FEA
-
-4935:\
-CFEE1A3877BEEC28653154CC1E158B7DF10BB6BC046A0DA3A4BCBB9545964D34BCDB256508D47\
-7B4C2DAF0C3A15BF602487:\
-FB2AD04D99FFA45B66A5A60F1F674107A384D121C5B463177FBEE5964A1B3713BFD37CD051713\
-2B74F85B792DE1EE71E7CB:\
-8E90BB43D3CF22F8A7893F4B36C746259DA901FABECFA8F4667798AB74DAE54C9B2539DFE6B25\
-211EB9A1E169B609B3F84C212B4A568CE1B86157780612E41E90D20B6A1F71507D16992FA88A1\
-1D9C897C8E98CBCFE6B265E31A1B242670E23B5AD4::\
-54F84FCBF1573D4B08E67172693B2BA017EA34E8D27ACB16C9A43B0CFCD0C7CEC122C1B8ABEE8\
-FD58CF82F98FED112A31FB4DED936143BB442F947BACED07555041DAF78785C63D3B323347F45\
-BA800E78E545FC115D873BEEDEE9AA14D281439141FE
-
-DBC5:\
-F75E869AD89EC4CF9BB028E3A67A40533FB4BDF8E663DC038E70A19C23B37D49ADE4CFD219C3D\
-F67DD18A0CD6869494EC05D:\
-C921AA94CC7653F9D02548B5DB56A46FC5304A9308CC0232773537EA52E03D5A2E6CAB5061B5C\
-788B357BFB34C4CA782FCEF:\
-7B766FAA923F1925F89D91707735570A0E856AEF65FB5232A1EAEAFB1966BCADB826120DE38D4\
-6513368A864290B36A5708F970AC9C114743964ACCC95E100AA2AC1A0A4993B34A70BA336968A\
-9C7CCDC264A06BCEA69D47092856FE451BE7892B17F1::\
-5DCBA27ED4BA89D25550AE6587846322D73483F60EE2F128B025C496A0440680FB49B49A57CAC\
-9479ED3210A27BC31F06257878FE3278D79DE65C14083DAD0B29ABC32C4C1DF53019267C69843\
-8FEE0609C3E2492009F2E28B39A04553F6D6B18D16D867
-
-20B7B:\
-EE50E2D3362D0950E6A79003E342238AD710D03737EBAE5BAAB7A0A4FD7A7F6AFA814E768D9F1\
-2B16C52A5294A8652E4BD44D:\
-C9977D38FACE5D6003FA12B76880D2545BC15A78FBB19DA19FBDBCB5C5916DFF18A35E10E0479\
-FF9F5C5D807D219F2A10D64F:\
-A298A470C3B161484FC89CB9CCF39F6ED2E141447DF74EF559CB049F2DDBF1DB354864814E961\
-37E790390AF567253B3461D3FE0FD359D8C59268B0E6BB401A17F849414D6B33FB43DB254ED55\
-7CF14A97FBC72CE7F13D1B0F607381D009C88C64889BB7::\
-6C777A801C39D3E984289AA21D01456AFE5946DA4C236373B3FCE7DCF15621DA90871AF969CBC\
-06E671DFA7105892C89BE8649B3F27E28461D1C02C071C7D319F8F5A3D5A53B1A66D033057980\
-7B7F6AE0C897A71367207A7BD3263B10F4C3824BFD11B8C5
-
-C31:\
-BFD406DD82D7EB42637387460A82E2948FCBF40F9CBD8025F1B02499ECF9B84D5777C596F3004\
-814F746360BD6F599526E4099:\
-EC593281958D49E5E4D8CA8EC3C68A00A19CB520255E19E1A6813E724A0B7A8C7ED9ACD221997\
-E2CC915570F702A58CB9B4B1B:\
-06FC724F11105899E12F70570719F342CF56476A1631C7391196F856012032C97B94C10865CE4\
-BBBD6D524316B0A6DD4796F56B62FCF585F83DA7D138EAEA0FBD7E9E7074C5F1D835C267D2DFA\
-369EFE75C2D1AB473A29B035750AB3E048A5CAE8CBB7CB7C::\
-A34426C6435AAAE6C0A176881E4EC4FA6DCF1963761C36144B109F01BAC3ECC7FCCD63591C708\
-6BE2BF77EEEE7B707CB13D19533FB82AF97F80E430552BA461DB9E6DFB37B573C0B8875C86C90\
-60342235A2727EE1B291F9B8F89A84CDE67FD48BDD923AC1D1
-
-3165:\
-E13F572C3892DE9E82619F265EF1D0E028AB2112A9F6B855883837C930AF6C50DE5958B8EF9E7\
-06E8A5BF1FD041FA89D4E1A66F:\
-E255C42A2B88D2E4B1FC51167ED335964D980670B30B9EEFC8E896A52DCFFBE8AB5C15D465C06\
-9040312DB7B9D9C62D990A78B5:\
-62505EB7C1E4AB70E230CF8B9974CC32845FCDC37174DFF0CEFF7BB28FB44D4DC9C326393C4B1\
-85E8B2F5E306CD56D33DCDA16DBB33832F3FCB437AD3A31D7205C87BECAFBF42C81CFFB14D430\
-9B1503604015480BA539AA79653455E481A34FD24D6086C04F::\
-00B5D962C18B90010043C6B3B73DAB6644EBDC9BEA758C890F60B8F5694DB3419C29968AA245C\
-AFCD6784E91608670E50F6C9E726200ACBA8C776438C2D35E6E0CCD52E2B73EC9F50DF0BC864B\
-F45909AFB80AB9CD3DD2C2C1246E7AE78FC759669C43A1D69A5D
-
-139B3:\
-E87416D7D28BF6370DBF37061938D4098CE25E503F6974CBB36494B21FE81AE18DA11C25C0077\
-E8F147115B259B2663733CA24FF:\
-BDE29B664ED4544404CFB420E81CCC2875CC6088A82D193167CCE66EFA4D6E30790D882F4DE4F\
-D6852568E8A81B52769C8D4E039:\
-5B514F002EEE84D142DB23D38386460AF5EFDAA7FBDE017347A3AE359573338DE196215D4935A\
-E0F8EFD5929FCFF748FEF07FD42C9614635B249130F291DAF70F8193991EB2D7D2B77096395A1\
-12C0E792F76B4049BA7037D4CBC4D2964DE324FD456B52E4D153::\
-662807DC23C41CA24C64A2E5502C389314EBC3C9949E93DA2D2BDF7FB1C1EEC21619C373948A7\
-C62F2B902F77B7B5BD5823ABA38991CFE6A60C12FAF6C1FDFAB2AF539CACBCA7F805C33875D89\
-85B3C7642CE9551738C214BAF9F465309CF94F91C2029D5900823C
-
-BB4D:\
-CF8454329613DFADA528D9556A346FD8566F5B1B42A5EE1E972F0A7B8D03DB800C9A04D93DE07\
-ECBF14CD67A11BE27F8909F603B9:\
-F67C6ED7DDAD52B15215D9A1798A099BCF20B7D65434CCA74A279BD63CDDF9D27F381410167C6\
-7294535784F860BF22CFB9E90501:\
-ABD2BD2EF35FF7CAB549E375FCDD9396CCC9F6D51F390DBB06AFCDFA2690BCF4E7B4EB8FD3470\
-2CF7C272ECB64A8D3EC50F551FE8548DF5D58455D8113940E65D8D32864BFB36CD641410B6013\
-7DA69EDDA58A45EA19834031E788204E4C57B7CCB300F8264F2150::\
-26AB09BA08816E7EE65791E8B5539DD6D19A60A4559315969EF3ECB299334F6A9838502555FC7\
-449D80B3434C4C824805BD1F4BA3537D7C0C8DFE56792AF5664B8337031C393498AAA558FA892\
-78988D33ED4DD0BB896F44ADF623A78F385E135085288BCFDF5E31DD
-
-2EC05:\
-C5BBAA73868BB968A5A3693AE84E7FFC58D7B77AFF05BED1B6D2CFBB62207F95CA33CA7BD2900\
-0A1592C9895CA60175C4E8EC9F7F3:\
-FEFA4B1CE3D3A3A00FDA17D05E0A95D4AADC7118801B54C04E06A6D6F417D07322EDA0EB9E867\
-2C3CD2C40D90D50D8AEBD61ECA747:\
-F294399D778469FDE1D6062DDA214686C51069A8F4EE2DD4056D68E3CAA76FFB149AB5B3F2D09\
-51190411B4795CA893A87CE2832FD728FCBB865491349EF9091BEC02FB4611AEFF9B88E7C5D5E\
-3CB2F26D6311FE4742DC234F12A15DCBFBC09DB18ED8D663EDDF3801::\
-6A01851AB2C0F15AEB5F3C0F7C4ED4B80D0DB1075B25352DBDB2DB7BA6DFBD07AF4C262AD0C61\
-5E8885EDE377738406391BF6402C3A7EE8BEFCF26C91DA0F4D9FABD4A6F06E76047B87B8EE0A5\
-D9C8A04B174504F1E3C4E6A4DDFEED36FA4F5E78F63ABF4838A89DB8EA
-
-1B30D:\
-D0E3CCBAEEF5BA9BAFAD06D5B5C6727D5AB85B23D1C231BC0A18EE4F166D4EDDAD542BFDDFF0A\
-9185F3EC41216768774239400D7567:\
-C55B49B03706EF2293963E81A301DF8856C42FC2C2CB10E1CD36E1F91100C87718D06D20A1C7B\
-0DC125D0029104A6B957513DD1926D:\
-881A8AF4FC9C7F9C48102D904F44829E80A5F8879B8E65792E36B8F15AE189DD36AC9E976BE57\
-A69CE59BD455116C3E281C4371CE0A89A4B59B12CEB51948FD3CEB67B8682B966B9874A67AA61\
-C497E72AB8516F595B582BB828C94AADCCABB51C00498CF7D5BD8CF005::\
-25816413403B2DC77D9345ECF1B02C9A95F715AA3A46E8EB9DAE5E7953FC30BA601F22CD28DE3\
-C0397699C004631FF297CD48985B13629FF9E8527FFDDDEE18E6D371DC0CD75353590C8DF50C0\
-9032D16C3CBDBFB72C0272D4816349B07459C2F7020955B6A88FC03A0DC4
-
-349F1:\
-FD6F20281B82FA202413D8E4C9A6873AC3387FF46DEED6E320F80430A1B8B6BD8509FCC0AD982\
-DDCB2583CFA2EE092838881C8F292B9:\
-D46FC162BE2FEA78106D7111E94AA9CE05067D4577E32400FCFB80085976F75DAD9EC175532B0\
-C2E3DB59CEE5F00B02B361754F27A77:\
-0BFEDB7551AD05FA01CBCCD7EFDA1FFE2BEF0959D0707B74047F7CB64A165AFE80737F259D741\
-1D5C0BB7713470325EC4C282D7B4F5CEEDFD9C57383AD0409A76BFA7D9F391BE001F3A3CB535A\
-DE0D2726EF9F7D33D805E6A607B19AA83A7457F3911DAE74145E2FE732A0::\
-4685DAE11C6F04EAC0BA5FC5017CAC0F398B0290D128C857D0F791A9D5B0E19329C86461C1D04\
-F08EA31FA7B64B899AF5414C3B9183338AFE87278D74A1E7B2B40A7B2973D2C4F13D848A9F81A\
-F279622E1CC097296CF370634B0DBE6FD31B6763B6D9F22A5CC1E85A9655AA
-
-38D9F:\
-F4F791961203FD4D4015567EC4CE6C4C281900A0E73EC013C766D0211F20CD369B698208EBC76\
-F9573942A8FED30CEB201E4508776D31:\
-DEEF6180D28D8B4DBADD5274DE22A249FF83E8A3E77F381B01A455FB3BC461BCCED640A6CF399\
-B48DCC2B35B5250BF82212F49BF0101B:\
-B52F8BF8BF76798AA7F876E0D76D4EB5821186244A5570D26029F2E720B966A610D4275BA74D1\
-C369990F6174F6DFB4090F3C6E98E3A0363019FD98C1EB913F0F5AE47095224064FA01EE862DD\
-089A6A16B6AB78719927F571BC04A2D1CCF90906D93C3AB5BBE89FA368385F::\
-455F2109456B04D35ADB476EBD40DE17B5843DFB011872A444B14DBB3EF1EDC9508C16DFEC97B\
-29047F46E5837284AF8A5EF12B28CBF61BAB7EE7B92ED5D60B121FA8EC4B8027FE9A63E24E85E\
-4E7E01817073AA40AEA874710452C3C5067106BFF3F2DA855AB7DF04787D0711
-
-26B67:\
-F160B54868F1B3FF0AD90572170B554F75E7F49A579783BD6338F55AD88678DE5AFF6BAEA9F51\
-159CCC80B84B196C357B0B89F58EAFC55:\
-CF68CCDA550EB334438AF72DE86D8CF18B0D218E1A15B2061E1EA663083905762427533CE71B4\
-04B965D37124DB8391638C62F5F747E41:\
-41C35AD24402B4D134126B140B75150CA4192AB757E03F243150FFF9B69B721C51DC09716782B\
-494948522185A1EEAF642492DE7B4523896B4A73B264FE8A5739754DE7FD1261047F0446C9B44\
-D85EC72262A03EFE848EF19E471BD110D380C0E555D0E8B8377DBFE07B38A8E8::\
-B4702064042C93F7B2BE232DC34B8F8EB59554DB7B68B98F1B642A91F1AFA89F6D33BE1DD8B61\
-62767D444B3D8207C578DC83A69F85BDF8E4784A266C9F474A556C1423C54C9940EF602F1063D\
-BC0D6CAF08E05D628A2426DA8CF6978A41D4EA0611FA43BC5C6BB92C39F2486468
-
-238D3:\
-C607A2D95AB46A416CC4694E087C93E73EBCAFD1738D7B5CFEBC322FE0A1632099A129596C3AE\
-955C77A6171A7BE65E0B9610842556B7AB:\
-EDD4D4CA2759A11B0D256830C17CE7DE58E7152B971246CCBB7E52F3863173C1819F633F3AD7D\
-5EE1217F747169718EB8EC14B68DBE6D31:\
-EB8006B8C13866902B142447B8A360719CDBFB017B1A9473565648B9940A61B495412881BEC7E\
-023B410186C8F57F555EABB860469C22C155546F78C9DFB957707EA6F4E51E79E1CCFC3A8C7CD\
-8B560EF11C28509F034832DD095F3B378BF2AEAA6ECB1813E0462955825A3EC14B::\
-6ADEE0AECBED2E017022BA21FC0B369E1CA9D7C9A3359A53FDE22A817E0C8A8E4853433CF4C96\
-E20B72F0AE6102065C6401C31B87A7CA48EE75494EF31BE7AB42C7B127E558716CC57E9AFF019\
-AF32FD0CC1C7A09922A46B3DF31C8094D4F996C87C980AAA49A50FB4F6B97AEA4530
-
-FC65:\
-E51741CAD444F02E7F689DEE1AFDAA02C6F7BD29847F3535C988E7284F6434C4CD8FAE24E04AD\
-8AD605155D264DA6DD31AEC0919B3FBCF27:\
-EB66E3C33FF2BD0F27072C71455B8CD72B732345FA06B94C2F4A3D799C2E12DDC3BF2EDD59B4D\
-4B29DBBB96C3346DCDE5EC1E3B2030C5565:\
-7C06B972ECB5E6457E7BC929E2095469A724A641F93DA43EF9C2AAE756D2A5558C7F21EE47612\
-B57DB9104F90C52567DA8E68208D487AFEDD30F2EFFC3642FF010591075AD1B03D543B1E3E025\
-D4529A1D3970BE040AC8CFDA9C5B5B41F2E6E28C7FFE8C2A17123D5CEC05BFA3DBA9::\
-4CCE57B3471D119AB5D0D8EDB148B38C48CCEC514E11E6A00C023448374F011C78E2D1ABDE688\
-C3BB2B48733FF9B9523A7AB3B01F6FE116293D8E36080672E4A726E2796ADE6097A2000097350\
-C99E36B584B652880930942A6918BB0DE28DB94C846AEEF8151BEE6A3E96D423B32097
-
-C407:\
-BE39B346B02ACDF3F067D1CC0689ACA4811AFE9509B1513E9E4B52E6BF648F219253824105114\
-E749DF1857758C5A0C54830B1ED96B15E301:\
-C1C2031D5F29D74B4ACCAB0C211A1FB29A7087BE34A800AB601363662CD998574314F6A60F76E\
-A153DCCE7FE75BC7D13C859B45BED8CFB259:\
-E2C9221D1C5B3C297E54881C4A484DC88E229A1F89CB9E03A7A836C0478696ED1448636BE98E0\
-6A549BAF0BE30DA4AC1552B17211662DA4D945F0849900EA02CCAF1215EE1B631D795BE58F572\
-CA1B498961780B2C50A88C67A3EDAA950BA986193BF10B3DFF1EE9E0F6D8814F4EA821::\
-0F19E9BEA836057F18CBC1C1A7ED08DAD6D58FE84864755FDAD69BEC2BD1AD9D\
-DF0097D21B05268737898F852643F3DAE32FB5097D95B4AD70A74EF2E7AC1E77\
-14FA57436A904AE361EDF9451EC406C9B726DABD0269EA5BB9F92A74BA4808A9\
-51204A92C6EC3AAC9466F2086CDC4EB279
-
-1DB8B:\
-E1677D97157A28E686A6DA2327E0DB9B1BB00C0A286D2939348B44B14A1484F5C32F1281D9250\
-3DDEE248145FAB855F41959C7372AED2D7647:\
-F86F396FB930A154377F68536927C5EE34F9A948AB1887AF13D296505F4762F459015CA892E5D\
-92F44938E3E4F855130A624322F2D0D5698A5:\
-6F1FBD316F2B02DD8917432A5E941C511C482F93CB179AC4C7DFC34C334932976A1D8FE9D7057\
-1CB02BD8A34125FAF0E0F136E6C3EDB74F3B0F2D8188AB73FB25DA5A3B1D6472B4009A6F53AAE\
-0B58FADDD971B808118230C88AFC628B3DCF85A238053642BCD1F1478BE2B05514A56ACA::\
-B3D24948C2D3BFF08B9B3B11818E0517890DE8FFCB40AB7DD40AC1B0FBDA19E2678C67C53C6C3\
-F921CC4AAF05CAC7DA47B5CBF6EC5731561CF5F42FAA0A394D1CF7FA4874AE7E344883D3982FF\
-B91175E56AC49D21B01859D93787AAC3AC1C24A03D73C93E1E43981D860C7DC4C84D307A53
-
-3CAD5:\
-BAF9A508017229DEDAAAC51B93F8E12A8C10E489AD9CF90CEB127EF503C1F56158F92972A3748\
-DD4CD20AC162DDC4DA061626176525E9A80365:\
-C8504C3E93C15C6241850609EEAED406F18E0E5B9EFB9FD6BFC0D474D35D7BDAA63CA925B3A1F\
-4EDAE9F9A99C1366D6EF5432188EB672EE86A3:\
-6BEB86F20DC86874BC052DC6C032E40E2E555D563D6002A6C269FF9C335680C0BCD901D02583E\
-F30A3FC3E68AB218CC47228EF9E6CC14930CF78CA67F5618323C95605D73BEC5389017B77C300\
-D0361AFEAB7E97D7215A8B826F91B9BE823D2467032EC6A58A9DF42766CD912F6D3EFE2AE9::\
-765765BCEAEF80D33430417318FD4775357D8DFFFBB4147B60EC0BB7704E5801A6E329B2D7A39\
-587DE75AE2143671AF854213664583C69CDE7A26BF7F108513B9F0BA6CDF81B28A65C7E2AA541\
-F4BE5817761F146AB1ECAC76EB2EF1D1FC42A5F4D10C93CC2F3D2556CCA71A0215B96257BCA7
-
-203B3:\
-C9336B9F9A8D36E22D93739B8EF9506C3A9A6BB976ADC8777BD29747FF186681B5E77A5ECF525\
-3B1E9AE531EF7B32EB86FEC641AA718916C64CB:\
-BC37BB3C56AF232171EE83DE4113C79CF78E675B7E4E1F4F6771384949382CED626507FA5F489\
-B3CCFD69E18191C21AFDECE4D9A17BC7EACE0E9:\
-2C4B930C9ADEBCD1E36957E1817989B56304B53B03C9BA009875825CCCF5B0D77A7F7F76164EB\
-0B35DD262817D8E1EB5C498ACF16F4D4CDB0AF8918E54E7F5EFF050283D533598E4E6CD128E58\
-CDF5417F520F0980671FEF7CE77E75E64EF2261F27BD50ACA5C68D8FE96F33B85A76337556FF::\
-1327DCEBED97BCEFA5EC0D6F4BFCD98B28AB14C555D31480C81F31E1E0FECC2DC4608E8BED5F2\
-AB89237B3B44C46443C4169E25AEEDE620C7625B18B862614DE26DABACCC21901218D667D27C8\
-A676EAA261E575579E06532DFFA1EC9E18F23D8A94B6DF6DFB5C52A30F9AFD22B6590081DF745\
-3
-
-2487F:\
-DF3FF505147F8C7CD7352E57F5CCC3661B4DA5B003BF7D3DE39761EE8CAD575B64BEB5332DDD4\
-C3ED6BA64162633A0453FE4FBF33AF34329C5759:\
-BBA02FF73B4C0ED4F774C4A878D696658CACEB13F56C9A936193C28F3FA20A4056213B8A7E710\
-23806DB7C0D49161C59E2F88B00604E442AFB909:\
-A527A2D970C829A7C3E0FD2BFFE9590B3A3C8E05C3DF8EA923AF156DDC30222BB304CFFFEFA4D\
-F81A63B597FF983052C556E69D6CEDEA86518F9A5A301D03E6686D19E346780EDB5DB589C9047\
-C18E6CC6216D4A0C2E14505E744E3DED365DA0F1B1FF00EAD5FEC05E6BC9F7EBE8408AD89757C\
-A::\
-57FF544A0A4E5E892217382BE63F656D0CB49582414DA7AD5257C09AAC803D60CBCFAFCCC00E8\
-DA84D02AC0059CA11868996F8E163C226FDF23C7C7F7550AF30AADD03A484EA81DE3D6411BA9B\
-0642532A22A57D01953BA8D21814B72AF28EA499070938224BB8F98A0569F00BA55D7D4FE6813\
-D43
-
-35AE7:\
-CC072B3228FDB247BBCD39BE7CDE954BF98133426E79C6416E8658BE8DF09269BA3E5A5AC0784\
-065895D3E03355DD1DFD7EFF7F0859F317F8A32DF:\
-C78470AE335A28BB07ACF2DE39A1C180481C0F5DB37C0B60B97F68D584B24A3C39A4C315D2D20\
-04105D774D966892BB0659DAB963C298FBC7720E7:\
-6B18E5D6236AEB054CDE9DBCCC8710E2F8505F7836AD84B4F90BA5E1F96361871DD99AC16913E\
-8168A74A1B39E607B6FC0E47799A5E55970D53A9D5B0708D7BF7FFF88CB9EFBAA18F6A0101093\
-AD2272A1829594206B329783D299DD139F1EBF85C7FDB18330D91223ADAA6EDB317F6C54854D0\
-02F::\
-42F95CD54C8F50ECCE32D08DD5C66A8D2B5D20B3E3A5FF70CB772CB6706120D666EAE0C608E42\
-FBFFBB3C064D7810B424A640EC7E01930A76B2EFD6618A8C967F126CFECDC61476C7BD0981A0C\
-86A0A50B5F04166FBDE23479CBFF6430A6C5D433AD4BD7F0F0C9A47D060D795191FD49D8B71DB\
-F8111
-
-4813:\
-D55EB495A0EDD8784C918DB2C9905CADB34AA873865B61F959CC39F3944444E4E411CA490B323\
-FF92A47E780BF90FD861EB630ADA012F4B17C8FB19:\
-DF5304947138D4539E8D0DF7F5A521DA90D0A79468FBCE67108DAC5D904ED820444C84FE09C09\
-93DF8CA649AED14E7B77A8C8E96F3EBBDF6FEE063F:\
-407D8F49B0A0162D162DB9E89547FCA67DF28597E3EDF4024225A815CD16C113EBC2406DD8D5A\
-57C7828E80C81F87F6AAC25E69382C4F23B6DAD015EB4A373D48025188A3861E6DD5B6430CD21\
-EFBC0DD48B80225810831F23F75E4BE2FB5AE9A6191C633F073463FEC87B33C5B03D6ABC3DF82\
-5EDCE::\
-A9FD95925F1EB6A3D6D1396DDD8F459FE31135A07BE71DD9449596F457DF174124B2D9A4993D1\
-15055EFB664EDAFB73D51992E366D6010299E0CA65EA40CA76AF496EF024F72706C04AC618A50\
-823FC4647868F607B6CC6BB489AD6D2041970074452B8A0826D4BB0E9463D296C0DC54D241736\
-F59B506
-
-1E497:\
-F9DA4CF8C42981521AE47857D0A58BAA9B0D7EB223646D19E3D1F418B980FA9BE962AFB73619A\
-09D3B308E7E42AA3899FB9194C6325C3AA423CEC03B:\
-D6E7608CB975895E638794C140060A7B19794890E373274D24D29B786D1510B923CDD83EE844B\
-78035219E4ADFD085A91752B4A0DEFC8CC3411904C9:\
-677C0ABB673F029F63CDC4854CECC572EB8FD3AE9EC5B254CD64803CD853B8AFBB958399D077F\
-8F0F8DF0F109C780B89D317D293953D3C814F8F9EC1E4AAC029B6B895453D951090558DA2614F\
-94DB90ED3E62164D12E2A5ECA60234E153274154B82181FD3B060E84EFB9718F643ADCA016EED\
-2C89D40::\
-21E9AACA4B288AD3843FEA09406E17D94599BB610FFB02C86EA9843076DA91ED2CF55EE3D32C1\
-F6C53B5777DDA632D05403DFD77AED342521B988ABED48ADCA7FC1F4E3599949F257A5CC27102\
-18FE6F7E18554C9C26383198808C32B41A4600C19FF249291B788B8C438C999B2872F8CBA86FA\
-FE8838E96
-
-12B8D:\
-C6C04E18BA8EEA6AD830FE2652FF3547F4F693F41B681B516B2F397BE89C2562D259C0FC3698B\
-326290366331582F687C0DE212C30D1F573A5494DDA9:\
-D4D610D560F7AF67828C7602E12EC69F6665DADE3E339619DCCD53518009DA9EB019D4DF7D14D\
-29B1CAEB46AB04A414C50C1073E61BC85310144730F9:\
-F55E6FEA0FFF7EE032AD7C94208C337EE80B2AA0F4F2E0D066A05DC8FB528EA638539DB948203\
-33CA86D759086CF2E78E9695BED9B1DBF8DBF3E362801C685F688E36D7C41D37BF4B4DECAE181\
-6070518246FF9B73E807BB91B7057DBC74B8991E0B7E1C79FC1C1F87C780D7221FC476494D1F4\
-AB666DB3D::\
-27B21E28A286DD57100FCFD98CCE8C2ED2F1E2D2108E5A02BF96A0125AF563DA0EED6AF54BB8D\
-0D993BA772079EA644A2884E7160776F31F5F11D7BB47495611B30441F990FC107667F740C08B\
-660232EDD4A83484AE029E34326AD69E01EDE3461B54733580773B1DFE807CB54926980213896\
-7F59F59826C
-
-52D9:\
-ED557EA9DB53E4E24795FAA88F8414BC67C6354111CA244E2AC0C99C48A0BEF2FA69E69AECC74\
-F5E6DC79B0E2EF849C95E881CE9BD5B60516408D8A8D5:\
-D08480C28C9228B2E196E5F672272551E456E80086EA3A0300D5440978F35420211823516D2D1\
-30D444602DBEF4E68EAD7AF41F06E970BC95D9E90BA8B:\
-EA763D61DFA0624CFE25EEA744FF0AC80C5C85C4ED6A7E8C2303A1CAC4010931EF4D9B9414A98\
-ECB5300CAFF1AAFEE877813545EE56F7DD26A6005F142F771F4D3D1A97CA5995F91FEF25B1BB7\
-72B12AFC6A1D37A1CDA7175E5CE22571A3F8CB88664A06FC907FFCBFD5E6BF3FD2BFA98D5993B\
-D5D949EE887::\
-BC9AC00C07CB8BAB375AC69C14556D39DA85D019BA1D776CBC4857546AD44E857E616EC312839\
-E2A9AB55C3432373682255A1CC06BEB9CE7C3973E8B4FC02C1729B992AC40C0B371195E0A5CAF\
-80F074D0608CA75885F63C340C96A1E29237C64AA3D60F9EE59D425D757ECF8CC9009DE2B2AAE\
-8AC3786F639B3
-
-17549:\
-E60CA06397622C744F64ECF95F3264F1C8C819FE0D596877859DC7DA2EAF6CFE25907E4D018D8\
-FE457EE7113B09AE7E2D14B54A7AD7C1F294FAEA719A2B:\
-E3FE78DD4001FC135E4185121D5E8F6BD766DFE45B818DFCC1C2DC9F1E1CD4D1E9F5F7D42582F\
-36A918E7787D446E93DF1CA90AE6A52220D9A1D2683F89:\
-C0D448DE6D8C704B5AFBA03AFD8DCFE4CDCA0493A9D64D095B0A19320861E5F42B0EC566B82B1\
-BBEB4198815AE19238EBCEDF59FE26E4283E5942CF77CD1B23C5B901A542648D28051B5F99416\
-3C877D57FE27BB3D3B54CB929F9F4C24FC1B05F9EE7BCB7E1414DA3843032657FCE85787A1185\
-F2BE2C025D100::\
-C9E14845932307783E85CF97F3D9FCAB04C3872E5767E04AE1F954E7A45956CC7FBA483DB7891\
-36702B48446B177F8D36917674732972990053F5896D35D563C975962C4C405F522DD44E5D007\
-2AE7A403AAA1C8DB53E47E87534148B55CCC38896A8105A583D363D3C5EBBCA3076729F69E127\
-2B24F12AB7DC983
-
-189F9:\
-C630CD0B8D86A93343EEDDA96B43122C8DC58318F5664950CF34CECDC9EF3796F71675712EDD7\
-D08E675F491EFA99383EF1DDECBA36CFB4F2CEABF3BBD4B:\
-F9012CA0D0A2C91BC317819EA8EC23127357B84FF6F4B4995BD3DC6EBFDFFE8A7809C42B4C4D6\
-4267CDC77D29FEBAF99355F00B4D64872C7B4A466C7195F:\
-C42CF8F1ABF85A849137F421EE51F3B2237D052E89F62D2F8576EDFBAC6D926285096C4F5AB82\
-10D467F2ABC0A8C99FD39EF76EF51CD479B9DA20F082ED598E006E0EFE884D33B59D5F52E969B\
-D42F7997447BB052F70AE020E7E1FB6E8BDB90E5B8E53AE483CD29970184BA4BE51747BDC1D75\
-2B214497705D75F::\
-A2BFCB298708CC1D0F0E5B3817F669757CA02AF173BD04B6C77ABFD7446331E4E7E2526DA90D2\
-E79B60ADC06284F72FF053854CE1EF8E449FFB70333450887EFBEDB4BB833696105AF4109ECE8\
-E24FF9AAC5B16C3D3467B081967C1534782C29205706E199ED51D2FC87832C2ED5568EAD28F66\
-8009908AD66834A24
-
-26175:\
-BD3E5ED73F6D8751F6B7F6A9791AFB12A42AFC6BD4E2F73C14146945ABFD1073BFA87778B6805\
-891860A636884618ABB924E681C26C44D08A6A2354351EA5:\
-D14A005FB2E1CE65F51F36F10C23211BDA04159AA1E25510CC1A7BD643A76B923BA0ED4754516\
-1B50AE0E137EAC684D9064E258D0389818695715431B6695:\
-01224CC754FC5E4922AAE8D64BCF2EE50D13765F80317818CB3973B187BF3C17DED4B3AF27C93\
-8BD0E36F875A6D953808B590444A1B0C161189A93938063C80A78DB5DB689BC4AAC587F0DF6EA\
-119DFFE6CA9B67549005FA4FF451354174175D2AB236B3D6A1E604DF2D5ACAF956AA42B82A5F0\
-3DED91DA07039C464::\
-466BBAB71EF00D9436CDBDC02DA1C7CFD3D59AB48D60E82A87C39097BCF8DFF3D6807D6DD73CA\
-D16101245515ACD333DC808C9A894B9BD754F6921C518C5E9E16F71B6009B078E15F53CA3400F\
-0BD927D2416BE129DEE6035BFA74E3D8630A70055C229BA3B0AEA304D8F77A8407DD8998E124B\
-93DBD1EAB29CE11B558
-
-32C0D:\
-BFD70BCEA35FB6BC5C4C753CAD49FB6E86985D6F3687AAD9CACA49753676D121AADD87D175D17\
-EE5D80B9D6659B00289EC4475BF003D7D400177012ACCB72F:\
-EA764CF0C0D3583F0C4B4F9D096E1E4668439343F9A937EFFCC1A0E589BD3B64F4F14D745FF1E\
-38D720E581A64A3045F70B92A6BF2031E67EFF656749EA1D9:\
-A4F527A26115BC6402C7DACC1D8925A28D5AB036B56677634DEAE7560EE6F79DF87293564556E\
-155C8CBB934ABE781313AF7DBA88D65D0DEF4975AD6284A5077CA35CE49F1DE12FB46ABBB3072\
-C2B17FDDD93D010408F9790A9D1896FFA362C43FE3B61B6065A09F715E97B353BB471F2AD94F1\
-15CAF8A5FDE6B91826E::\
-80C7B635AD6C6499764DE4AD8F9EE1654FC83763B4097E4AFF6713EF1B3C7D627B291CDAF41D9\
-D8567758D6F9107AF7ECD0021DA4F54FBF979F1C1AF24993B46347008F51BA00F3AE1386B5C9A\
-D29B378FE434CC6B620CB2239CE94D5C2755FEE67621649B526505A49451F4469B29003DF8396\
-C2213475FE7CC671CF0D7
-
-D6A9:\
-DD24EA4BA93BCCEA6C7676405EA6F04F13838390AFC51713DAFE299D36362C525F6C2D1CD4DB1\
-5DA08B743005F46E243BF34F285A9458575DD61C31F12A2DE5:\
-C152185775ADD140C1FF045BCADC81A81DB36BDFB61B6581F78B29B9130F8B7F3D31C508524E0\
-B487F441F01BA831D8C05F23CF47D14B35DFA5402F0A9C003F:\
-14815E63D355877FF38F110A6B5BBDC86633936B9B28669E66E6DAEBC85A213D40C63080C5DDA\
-21237D04602C02DD480E753E4230206DC216263E56E129566D094D5B574ADAD461C04D3D20145\
-855F94E02ADD5854E89C48EF18330C5F9BBF7D1EC9638E4ABD835755DB84ADE864E3AD2DF04D6\
-26E91ABD952EF451292CB::\
-2A432208D0CC726487A772598BE3DA4799B484D4C28ADF06E2A914BDF7ACF826080BD56DFCBC9\
-C1E8DB37AD3D57E2EB42CC5589E4DFB2AAC63B7F61A05FF744CDF6D68441694947B2EE1003D33\
-E25F706C4EA70EF39DE831B520B39FB7DC02EF7A9427ABF86900053DD316BDE944ED001CAD53F\
-4C6E68C336B3050AF52B081
-
-34213:\
-E35B81A5A1B6199B689C0484C332C4E9CF8237BA3B3215A3C50B9FA9704BEE13BBF8D96B8FCB7\
-16390A4A52D9E0D8066F4C171DE3007C0E3CCAF7E7ED0A3974D:\
-BBBDE5B062860702D894E1B70C555330E8CAC1688484C94DD8C9029487E181FD32B3E4A263789\
-43B5AA33DA24676E240973076712FFD89A66A9B58C5BA83C69D:\
-96BA67D8ACBE483DB6CADA644C2D8A30710395047775A43D5DEC9F2C1E81D2B5D3D926B27DE20\
-7A7000189AC87F10ED06DE57793C301A9B05958537C9E5D486B3769BF41E9B18904C5D1EFF9B5\
-A90C040E1E5FF21E872A06FFA9C5F0BE274A346F425D46BD3B666CE2C0D9843DC4067C04CE019\
-FE447131D78A610A5BD648C::\
-7A7667774523649C72636F1A0599A0D1865B32A14E9C50201849A6DAD8AB96D1CBCE55054BAF7\
-31947DDF6645937C9C39D9F11ACB9D2A3DBC7C16EC7CD5CE13AC82C85DDE8213E769A6440B67C\
-1A78A1A8BE142D50A9CF127EA9BE1BA252B21460A4C8A196B50D7DF022E289B6C0977D13C2D57\
-FD0F4F90675C7E8F018EC780F
-
-# RSA PKCS8 format: KEY:message:nonce:output:password
-
-# If password is not specified, the key had better either be an unencrypted
-# PKCS #8 key, or encrypted using the empty string as a password.
-
-[RSAES_PKCS8/Raw]
------BEGIN PRIVATE KEY-----\
-MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEArpub5dL9a8aZji3a\
-w3205ODGa/HgXylGNDWCanG5V6smkqiDZfpr2Ldh+HL4hZCIe5NOBf3DsTCocit4\
-BMyBxwIBAwJAdGe9Q+H+R9m7tB6R16kjQ0CER/aVlMYuzXkBnEvQ5RuqUIthLugh\
-lUEHgzdj+vd8magYEJnkatQ3v43GeIYYuwIhANrmAnvA+cpZoFav67qxSSn8jSZl\
-A2QMncJquHvLvBRNAiEAzDPU9d6kbx81gAO0J9vUI5iKA4gTiQRUkmgeUoRHSGMC\
-IQCR7qxSgKaG5mrkdUfRy4Yb/bNu7gJCsxPW8dBSh9K4MwIhAIgijfk/GEoUzlVX\
-zW/n4sJlsVewDQYC4wxFaYxYL4WXAiAxtWZl8m1fSBhTkhLJJ7ZZqAojlyTkPYJZ\
-q3JR3z0fZg==\
------END PRIVATE KEY-----:\
-01B40EAED76EC2A26C41DF58CC23516E7974537ADDB1D3ECD0DCBAA4F09458AC\
-49675A20D51CC2415DA2992AC5EA983E5EEBB83B9C8C276C68E11158756904BE::\
-32E6A9BFF82BF351E96292947AC218E977AEEB069D09CF438DA0B96478DF7A18\
-53EB8BA770C16B5024D31B6C2D2F83E867AA37C9AD42E7F13369F171BDF2308D
-
------BEGIN PRIVATE KEY-----\
-MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAxYJRkiu+shjNapT3\
-ra+jaefGrLY6mH96JR9cbnBCZhNktqLa8Cn0y4rJVGuScwtqYKpmy46jS3d+AEqy\
-MOf2fQIBAwJBAIOsNmFyfyFl3kcN+nPKbPFFLx3O0br/psNqPZ71gZlhFzvXDpH2\
-pis8mkPPCn15KPe81S9vjaZVYzxiAZLpVWsCIQDmkmjzvCF/8Eq8ReiBlWjA1b0H\
-FV+IcMbHs4RzBDv2KQIhANtKd1FZFnuaZSWozIEhbOwXUh/vB8ZhMKFyMzzQTgA1\
-AiEAmbbwon1rqqAx0tlFq7jwgI5+BLjqWvXZ2netogLSpBsCIQCSMaTg5g79EZjD\
-xd2ra53yuja/9K/ZliBroXd94DQAIwIgZjnLdn9+HnIRhfrix52NDS5nY9yaisGu\
-kQlWG2ag2AY=\
------END PRIVATE KEY-----:\
-01453FBFA6B146374602261D86822493E2CCC960B75D2A124B182EC70F22FFBF\
-673F7E0EF0C54536C76B534DED77E1D044AA30FB075A0D52733C19825E1941C6::\
-AAADBBBEA2716C35EAD89736AA97A8FFF0078A07F48A9888294929B8917297CC\
-53AA9CBA9FA9D80791F24F749BB1133D0A48C2117572DB73C5813881F4B5087A
-
------BEGIN PRIVATE KEY-----\
-MIIB4wIBADANBgkqhkiG9w0BAQEFAASCAc0wggHJAgEAAmEAotk6TE/qf3yBOcQL\
-jo0t6KVeOgtNLwCwP2dR7wp4bFTWUpMOx/Y4dQ+2izzRl5neyEHxIaUc11jMuua1\
-s+HW58L3WifM04yT9BQ5gkxxZuqA3+UjKeD9fs/qP+y0CDULAgMBAAECYGCO4xVa\
-kVWUMl9ZEe0tYto+K3fJObOz+c0uaxOMpsi9KPN/RNVl9iXa8kbvAeudDNx8FfI7\
-1u9FDLFfmZsSqDR/VVAvkMwXu4zg5uc9xmwhefdY+URTdt9IshAdlgMiaQIxANJ+\
-YtpDxwL1ROjnNEWKnrCd4gVsMBSsn+zRw0pUw3iVDt0kVllxXVMhbR+NNNNRTwIx\
-AMYN9PgfUr07e5p/3xE5rXJJpBTKktVB0APHORafHsauhs2rBd7F62ZWMfdTdb3Z\
-hQIwG9557hYNMloQ7pk19YMd8Zplw3wIfaRBZFR9e8jvPHbXyfW2rQ7yYUBKt2O1\
-u8jHAjAd7uQUUB+gLApNWoArSU1WlZyv68Hva0f2GjkdmyT6oEwNb4iul7kxOVvJ\
-5ppH/EUCMF13TTGrTH9qiNUHOoS8RLZmPoNwjePw02BYUBcLEwhUw+AbR12FlNf2\
-O3iiv1ounw==\
------END PRIVATE KEY-----:\
-010E1F619D8F90D37563050B014DEB3FA3E9B735F8D28D625682D6A4663E6B33\
-4C8B94E91A24BD8F88C29A890F85C9B36F80E8675275C9A8F79F4D5DDDB89129\
-4325125D4ACFECD291875BA10C24547BA43CE2F7B1AB9FA84AEC0627A59750E8::\
-296F935C38845C940F820C379F8032101EA4003CED8BEEE212F2C6F72EB430C0\
-ADF48B7ECDDB296544D8FAE80E2FFF084671E88A88334EB8E718FE8B2524358C\
-CF9EC32CEDF93087CBD39E784FA66B3BD32A427D69EEC93607A8352955C774E1
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIICETAbBgkqhkiG9w0BBQMwDgQI164w6OtruCcCAggABIIB8HCD8Ae9Zia6ppjK\
-OgZTy4I85VqUgHT1lcOjveqRTtnKeexhbhwR+M8kN4p4wiCHoLu+kNp2lX56Id7+\
-wt+PnN4HofDGkepxS7bve4emEIJN3TLMS1ux17Ste7cJMs4KAKLbtwh5E/slQeAz\
-/uEpTpKnyfDXbI21GxRdiJtHQuw7z+RpX1uuOIZB9t4dE5QSASdbtDJsrvekcNaV\
-tDxzWkZ1BoXcf2otaEW9yzFWlVCuerzc+IcsAtyt3GUuOkLAoY82TQ5XuJFpc2XX\
-J1GVtncjReFdzLyb1gZePiEyE9TZDtbzR2Q/iJkJE61hgNIptCwhe4nvHzMs+fGV\
-8zsudkfzvsgwb05qHt9CJVSs6Hd0frCJsqahpQSsiNUoV3SD2EsH44T5gJrTg3Ke\
-DJu46uIpMyM8VbFc5Ra6CSOuD5udSx2yV1klx7bMHWONzTOCLZnaZVT9cKC/4og/\
-em3A9OdPrfAZouqZsQ3j8u7ZS9Qun9WOZApjRxD1vObuz2VPHglIxp/ckvDJ8BJt\
-Sb4QEqFwe+Vd6tBiBTmK7Is8Fji5Ummbx0tLMSd/Xtw6jBtrrzyf85ywnFAAoTyZ\
-Or4ey/Mf5KDp4LscmXVgkAauBn/Q/wWjK+rdjTBMUW8eQFiLsQnv6087sLSdEUSm\
-jg3w4Mg=\
------END ENCRYPTED PRIVATE KEY-----:\
-012E1CD97DB414715594E404B8B0BA9C3928CDC2CCF5F71C712C462B7BC44B90\
-F36869701C7DE17111C575CA752F66AE583371242868409A9486C5104B10A03E\
-780AAE94878F0599547A63C9AAC97802FCE926255167BFE5ED84F5389496760D::\
-3ACD3EC198014D833BBF4DF281C82C96777C9534584CC926F9DEC42E7C1F846B\
-582A267B95EE4CDAAEA7AA953330BE584BDAF75089FCAF66D386AFAE39C9BF70\
-B9D21C0E4C6590C67302AAC0A8917A3F33A39F7F921820E8DF6E6DF85CD6B6E2:\
-password
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIICoTAbBgkqhkiG9w0BBQMwDgQIXbcBBmYh+DoCAggABIICgFFUCKS9lRmjJR33\
-Gndp+hSXD7IHV1kpR6ayZcbGGfYlqsDc63yaWcLiROTQzZ+DMYxaFxePhd8tKtLP\
-38iw/MyXa6IRAYA/C6JHPsXATrKRc+Og8cD5pCxc4STCrt0Wg/SCWl7V6nbnnWco\
-vfOBUHXmflnvQYMEUahsu6lZkR0wJeSyK8G5dMKb4IZ6vOffADQ0U8UuYYK+ymfJ\
-bv5XKXhfje0Iesg6eReLdQMxLI1CURCg4oio1aQsfTosa0wJ9deSry0cjXk7K4c+\
-7MROei4UWXT0Otv1CFYR6zbmBrFbds+CY7EaqoVzgsBcNPLmWWdFlrKebquGc8xy\
-HoIvJ9e/YSnE+YU+C/LapQpmyXoqcQB/Gr4Zdrb3+5ED5WYzgVY+jw8z2f2DAGJt\
-bdzzL9JvFuEG4iZ1vNi9TSy9CyEgoqTyxfcLlHZY9BG2iIhu8pajkjnYmrxodSQB\
-uRyYNJ/T9vFOJGUWHbe9Zii82TedNUBnF0G0e/aRMxBT6wQUrsB4Q2P6ntIIHuaW\
-8q0lhOG7MRnC1FtQ+qSrzpMTX9i/01F0YXegnzeiww4ROMTcO4vUtIRmF55LZv0v\
-8YOjZClzYQP6nNhpHX/+jDpZy+4GFXPVmiOhqjnqJtRbclu+CcDZG6NRFH2V9vrg\
-P+leIuPeA4hV20lbkG3xxrlnxEUAqMNCC+uwj1zTVdNKY8AlWK7umsdWiAPIIITY\
-GQCn/D/Jom7PzbMSVa4HmvsGntPxXP4PxrwErWbCNOZpE2fe0y+tiZidaoQZqmUj\
-UDvM5gYsamu9O5UcEes6QneMr6+NakYwWNl14V3jNB480sI5z8R5bmJW+tGRmYr7\
-/+MveWY=\
------END ENCRYPTED PRIVATE KEY-----:\
-01C4B6CAAFF5ABF4FA027C945EE26974E77DAF3FDE5F51899CD64DD7DDDCAE09\
-A164D350597E445481C1E8DFA352538ACF03C9AD621A37FEF184D5CE6083D701\
-E8AB5141299695AA577E89FAD0DD849FE04E4C4268834159071628689AFF6982\
-AABBC3D451597EA8D708A2A7E52646C5749207DD1648361D5F5E85F95EEF7B08::\
-8095B914D477DE2AE3F2AC7648B32EB497B7C1F4FF298D4B82F0A77298574E94\
-530DD9FF57A205499100D5920999182E1CED1F25971B27C0C3BCB06F0507305E\
-E90AD35A00469341B47A6E2E1BB7DD792F6543F74D1FDC2CDBD433DC7C9728F5\
-58DA656E5134FC174723012151360E0310B31D4112FF5CC5829B0709F8EE7303:\
-alt.alien.vampire.die.die.die
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIICoTAbBgkqhkiG9w0BBQMwDgQIfbv0EM4sRhcCAggABIICgIOfgSDzsjOhLX+b\
-1h3lXZiIw4nhiyV9q88CDEyB0x5y+aNkWipVetWoRPqZ6oAD6qE4yGQRhJuSa0o7\
-SzHQlZ7aqBAjtiNXw3Q7yeAP9lagXLolhnIovOKbhyj9iyblgKQgzTerbevaDgp/\
-jYTWXutKLhvjZeYVH1lRBgQYw3z1jIQQDRxw5ok4sYwD0/fpv9WtQ0Rr7XvdDRDB\
-PUhDqEu8GelR+qO7yH3M8Q5qhnTxHRpDWRU+K7f3XRNwJQTdiwWJtSJtUdrSpqYV\
-cqhDzejL3BJZRTcMbjsmq/uABwL5X9prXG2M6j2+9SrQQTWFQrLsyRIGXfKbKN8i\
-wFXaUNzGFKMskk7N6ywkiLMvAIhcaDO2ATm1bHunAcTeuIfdJfdpSWcQ6oz9x9Re\
-ACnWiQ0CRRYQlSYib/u0tt28rwOvCj4F/dSSUMyXegVz0gq3koGNwk3pbHEVvvUm\
-1bqiGQSr2d7DJ+ffe5IoIWB9cUgLeTFP4BBC1hegjDfTsaGEYPVFv5Qxi6W0BaN8\
-cq/HVWofFqu9jXeGgFq1W0IjYU7zftoVc9DyKor6ffDoDzYbNcivd8OcDydLnRVI\
-aofPN+fBAREXHuSz3cYr+arBe5PLbaHTz0iCi4zZUCWU83Usz8oLAtwkK/Ta4rDR\
-KLdv8RB3C3z4r811tWuTrgvoZeG2a4Xa94rb6okHWqOXbSHV00Z2eaqqLIuc89eX\
-JDu1iJrfARsaCN/Xu9unUnJWBRcqGzWgDRMSjnOoUhTCtjKqF3WDTsOfS1n8RSQs\
-F0zMsrXMiHXrWfcN4gDB8q/uz/laLapd8BTp6IZ0oygsHc9J5OHy36TLfoPhObo5\
-HcVJbxc=\
------END ENCRYPTED PRIVATE KEY-----:\
-01C84780E9F341C7AC81703D1E1727D134E08DE7F80636F38284BC4EE3D55F95\
-9DA715879A564E46D8BF83F6D6AAC70B8A55F2825B2875DDAC312B90068B25A4\
-323A2BCC9079126838965F0F40261ACB7B0C4DD634C3B3E1F4DF71FB6A969F9C\
-D0CA6860437AC97C10288B514EA51CCAB169A0E52C54C62133371C9DCDBB399D::\
-A22AF2E3FDC9AD8215510CF6B55118A720DE36C84DE8CE00FA769325E03BB0CA\
-81BBD2960E834543443472E58754F9ECDE84D32B4F7CB2C2A5A14A60CA91C908\
-0D3AA675E56E53B2198627938C9B00ADAC3F07A50AB0622833F2DAD34C73D0EC\
-5717613E02A58936EEA60928C1A894C589FE4995607B1AF62C2BE8FD3E8ABB83:\
-foofoofoo_bar
-
-# PBES2 encrypted (DES-EDE)
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIzgSAjcnspfUCAggA\
-MBQGCCqGSIb3DQMHBAiupWhsYLF7rQSCAoC8ySMPx/GEUvnlb4pj/KjYaeyUJ7En\
-9jzyLKNhfP2L+aCLao3FRSXEz3UL/Bzqx15XW96xfADw+LOXbVfM+HDyDwTm8W33\
-XQbjSyTCf+4hG+XZdzCppTo5jlGLv+3St6Tx/V4D4GbN7mZnO9tSHKim2qPzITE4\
-PCiV1pzDkOFDz/BtOEqL4AQaelBHldyyTrsSBuBVk5iN20mZ5SiEA7bhSuyBxIYW\
-QAqo2/M1JSvqXzXfgcLUNWG02ROmEc1hEvGIdZZAnjVHRUaC8oecTZlROCGyQ0ec\
-5HJt+hSVTtjVvVYRyR9k0Qn+E2tz1VBLFTxXdL2bD+vbGXhHUKLG0NM1Ks9Xea7s\
-YHTGb1wvwxAGh9MoK4bWeEl14fDRIlDlEnHtt6CpF+hXhOcI1UU9MHDQhXqA6E5w\
-+0FtnGMdxd/RgSkOvkvmMzTlbBGnA2W93R3Vv66iiDVIUO4DMAxOSlH4lZmn4kiG\
-gXHIu2BpYiR/CaeKCGDW1L5Ii/T5gnxYz6rKE1NJihRlrCplGe3ip9Ra7K4h+yA4\
-S3P2OuTjImCwBI1uL65vwnPLvdKuA6exGtI6eTyoyL3XN8Wt8LAXQwn1ijVNMXej\
-f/9zQnrdkhgYwQU5yvCi5yi5ewGi+Lqfo4rxJV2lt2b2wDfHoUULFVpIHlpUsWnR\
-aVIwa0t7S5gq/lFRxbnhsHBREJgZWP9kN1XHv8hrEcyedFO4aFj2J6I9GX1vvqrp\
-F5o4a38RBjfmR8FDsH9Au7IvuuH/TUipBybgCbIUyvQADexibuthq5MI2lpmS53c\
-vo6QOp6bwusFSPUE/qbDoW4lX9SWi3vF/RcQs1j7opsDbhqQk+G05h0R\
------END ENCRYPTED PRIVATE KEY-----:\
-3BA94D8CC1749902F4599D63A527DACA74870714BC794813247D000DCF31BC57\
-E285CE5A1236EFD1956723B800C3C19094185EAAD7C744DA4917E34D3DCE5FCE\
-F4E6D797510B7A5BA67087ABBFB69FCEE5D8A98AD9A3D3B2AEE9876B9358562F\
-460A0D6C4B5D98E3D305D6B944832859CFB01072C6FCEB5D0558BA7D101458BD::\
-1185126E43C7B5F8D15523E65DAEEB6526CDCF2C8901DC7A1EC836C22CD4C344\
-1C24B16AC8ABC3E00A95C6BD03EBEC74DCA1EBD0DA6E61395452587B36DCD734\
-7184C9005177839FEDA5273007DD0AAC0E8C87A3EEA71F7DBEDDC7FDDD637A2D\
-FCA2FA1215DE8C332ED4BA093B6443C65B32AF294D8A56A1BF8702C1B9086E36:\
-foo
-
-# PBES2 encrypted (DES-EDE)
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBoTBDBgkqhkiG9w0BBQ0wNjAeBgkqhkiG9w0BBQwwEQQItEsDvV486kcCAggA\
-AgEYMBQGCCqGSIb3DQMHBAgzfU6L9FUlJgSCAViXz0OqV1SBvbiF0sEH8GsMQJwB\
-Q1RVEjyO8uncdbujalyVCeLukh/H0W0unlgceVMSdN7/nQBitkGkvLSoWRv9hYc/\
-UlkCMcq4R3Fx2hLF6Yquq/DyBgF57LVyOpomRa/Kj8TYjfZkx3JXJnRsqjoLhTbH\
-USzwv3DkKV5gljZqLTXdPAYFyWw28GAb+3iNfzwhudblH5JXaZ3X0GWSJEium0UC\
-WPpvBGlNOUyoMFo44q100ywORYAWl/Cc7UNXWMFLQT773FypPsx+bcWpA6Lmx665\
-POrVFb4rTh+AGX9f6Kp/yfgY1VJxuju55imTaHIHZUf6phAnwoTDI+UIZTw1IwHT\
-JdYbYaxjEZglCx0u9wZT5J9IwQVKT7/eLjowV4GS8zDr/tlssDMixQboJ/dRmUYp\
-jcwhnv36cThFx6GoqWMA7ShTVT//QDpvBbebuDOnlSmqq+5qmw==\
------END ENCRYPTED PRIVATE KEY-----:\
-35489193F2E4B7B7FC7A52CB4A3AE2F7F97C02CBF43A60934CBD8AC221592666\
-92767C6C587BAE7B73E63EA470A07EA67927923FEC2ACDDB1ADDDAC75E8FFA15::\
-29772BC15B6095A66060CC76884B3E4C77A2330A880D9FE64B007C1DF792CBA5\
-B3422F9BDDF51C48E567F114776566653A7F7DDDB8686BFCEBC94B224D7CB0B3:\
-i_am_very_poor
-
-# PBES2 encrypted (DES)
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBnjBABgkqhkiG9w0BBQ0wMzAeBgkqhkiG9w0BBQwwEQQI9uqEGDMT/W0CAggA\
-AgEIMBEGBSsOAwIHBAiMfWZMW3qofASCAVgcAhB3yW1aNLIQaoo+WlTe6IRLjKWF\
-itkCW4/m6qJRvR0Yy5BTyDy5mD4QyOcVwvPGUPs6q5R+tjfbBb1orWttBDXvQn38\
-OMD8qV7voCVlDgljidAtSLmHOHy1jq7gCeyKdyC3XEMX1RZa9NIS5/fyJtrcQKxd\
-ktclLolFkiujbGH5i+LiRHWJBE8+9StxBdO+v0PE0FYR7vwxj05xKieg4UiKAVfp\
-C3+iX5XpVqMI+FTqtz/+4sm51ZgGRpz3vmNRJWqh3VqDWiwN8/w53qceDfjmNm5T\
-SfyA0K0dfSkaylprLFd666567HjDXGJlxtA4nM8N1yahRWMz/ufSd1u70dfN9l2L\
-mjghOP+WWverl+Td1cNHRE7/rvkOuhwLJpC4rnZHA4rnIxzwcQmsapk8rsu0S3I4\
-tdZEBhRZsoswIVQo030K6x9DZHMSIpghSc6BlMmu2Jbnew==\
------END ENCRYPTED PRIVATE KEY-----:\
-35068206D5C287A47F95BD8ECD11E557D86EDDC993FCAD94F03D86C1BC97E2B2\
-68E637ED1A6B0EE459214E0F61099B74469AD36A3A37217182C42B0C48A4B413::\
-261D5A9298BE592400EE703BC27C2A16761F6C855607D9AA62A9B36307FC5100\
-6EEE06E59C55C9606FFBCF8DF74A98B5C9FBD17F0D7ABB867B4A7CB8DD5DC15D:\
-give_me_$$$
-
-# The first bunch are from an RSA DSI document
-[RSAES/EME1(SHA-1)]
-10001:\
-D32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30A\
-F38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D:\
-CC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C\
-4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77:\
-6628194E12073DB03BA94CDA9EF9532397D50DBA79B987004AFEFE34:\
-18B776EA21069D69776A33E96BAD48E1DDA0A5EF:\
-354FE67B4A126D5D35FE36C777791A3F7BA13DEF484E2D3908AFF722FAD468FB\
-21696DE95D0BE911C2D3174F8AFCC201035F7B6D8E69402DE5451618C21A535F\
-A9D7BFC5B8DD9FC243F8CF927DB31322D6E881EAA91A996170E657A05A266426\
-D98C88003F8477C1227094A0D9FA1E8C4024309CE1ECCCB5210035D47AC72E8A
-
-10001:\
-D32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30A\
-F38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D:\
-CC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C\
-4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77:\
-D94AE0832E6445CE42331CB06D531A82B1DB4BAAD30F746DC916DF24D4E3C245\
-1FFF59A6423EB0E1D02D4FE646CF699DFD818C6E97B051:\
-2514DF4695755A67B288EAF4905C36EEC66FD2FD:\
-423736ED035F6026AF276C35C0B3741B365E5F76CA091B4E8C29E2F0BEFEE603\
-595AA8322D602D2E625E95EB81B2F1C9724E822ECA76DB8618CF09C5343503A4\
-360835B5903BC637E3879FB05E0EF32685D5AEC5067CD7CC96FE4B2670B6EAC3\
-066B1FCF5686B68589AAFB7D629B02D8F8625CA3833624D4800FB081B1CF94EB
-
-10001:\
-D32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30A\
-F38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D:\
-CC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C\
-4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77:\
-26521050844271:\
-E4EC0982C2336F3A677F6A356174EB0CE887ABC2:\
-42CEE2617B1ECEA4DB3F4829386FBD61DAFBF038E180D837C96366DF24C097B4\
-AB0FAC6BDF590D821C9F10642E681AD05B8D78B378C0F46CE2FAD63F74E0AD3D\
-F06B075D7EB5F5636F8D403B9059CA761B5C62BB52AA45002EA70BAACE08DED2\
-43B9D8CBD62A68ADE265832B56564E43A6FA42ED199A099769742DF1539E8255
-
-10001:\
-0159DBDE04A33EF06FB608B80B190F4D3E22BCC13AC8E4A081033ABFA416EDB0B3\
-38AA08B57309EA5A5240E7DC6E54378C69414C31D97DDB1F406DB3769CC41A43:\
-012B652F30403B38B40995FD6FF41A1ACC8ADA70373236B7202D39B2EE30CFB46D\
-B09511F6F307CC61CC21606C18A75B8A62F822DF031BA0DF0DAFD5506F568BD7:\
-8FF00CAA605C702830634D9A6C3D42C652B58CF1D92FEC570BEEE7:\
-8C407B5EC2899E5099C53E8CE793BF94E71B1782:\
-0181AF8922B9FCB4D79D92EBE19815992FC0C1439D8BCD491398A0F4AD3A329A\
-5BD9385560DB532683C8B7DA04E4B12AED6AACDF471C34C9CDA891ADDCC2DF34\
-56653AA6382E9AE59B54455257EB099D562BBE10453F2B6D13C59C02E10F1F8A\
-BB5DA0D0570932DACF2D0901DB729D0FEFCC054E70968EA540C81B04BCAEFE720E
-
-10001:\
-0159DBDE04A33EF06FB608B80B190F4D3E22BCC13AC8E4A081033ABFA416EDB0B3\
-38AA08B57309EA5A5240E7DC6E54378C69414C31D97DDB1F406DB3769CC41A43:\
-012B652F30403B38B40995FD6FF41A1ACC8ADA70373236B7202D39B2EE30CFB46D\
-B09511F6F307CC61CC21606C18A75B8A62F822DF031BA0DF0DAFD5506F568BD7:\
-A7EB2A5036931D27D4E891326D99692FFADDA9BF7EFD3E34E622C4ADC085F721\
-DFE885072C78A203B151739BE540FA8C153A10F00A:\
-9A7B3B0E708BD96F8190ECAB4FB9B2B3805A8156:\
-00A4578CBC176318A638FBA7D01DF15746AF44D4F6CD96D7E7C495CBF425B09C\
-649D32BF886DA48FBAF989A2117187CAFB1FB580317690E3CCD446920B7AF82B\
-31DB5804D87D01514ACBFA9156E782F867F6BED9449E0E9A2C09BCECC6AA0876\
-36965E34B3EC766F2FE2E43018A2FDDEB140616A0E9D82E5331024EE0652FC7641
-
-10001:\
-0159DBDE04A33EF06FB608B80B190F4D3E22BCC13AC8E4A081033ABFA416EDB0B3\
-38AA08B57309EA5A5240E7DC6E54378C69414C31D97DDB1F406DB3769CC41A43:\
-012B652F30403B38B40995FD6FF41A1ACC8ADA70373236B7202D39B2EE30CFB46D\
-B09511F6F307CC61CC21606C18A75B8A62F822DF031BA0DF0DAFD5506F568BD7:\
-2EF2B066F854C33F3BDCBB5994A435E73D6C6C:\
-EB3CEBBC4ADC16BB48E88C8AEC0E34AF7F427FD3:\
-00EBC5F5FDA77CFDAD3C83641A9025E77D72D8A6FB33A810F5950F8D74C73E8D\
-931E8634D86AB1246256AE07B6005B71B7F2FB98351218331CE69B8FFBDC9DA0\
-8BBC9C704F876DEB9DF9FC2EC065CAD87F9090B07ACC17AA7F997B27ACA48806\
-E897F771D95141FE4526D8A5301B678627EFAB707FD40FBEBD6E792A25613E7AEC
-
-10001:\
-0159DBDE04A33EF06FB608B80B190F4D3E22BCC13AC8E4A081033ABFA416EDB0B3\
-38AA08B57309EA5A5240E7DC6E54378C69414C31D97DDB1F406DB3769CC41A43:\
-012B652F30403B38B40995FD6FF41A1ACC8ADA70373236B7202D39B2EE30CFB46D\
-B09511F6F307CC61CC21606C18A75B8A62F822DF031BA0DF0DAFD5506F568BD7:\
-2D:B600CF3C2E506D7F16778C910D3A8B003EEE61D5:\
-018759FF1DF63B2792410562314416A8AEAF2AC634B46F940AB82D64DBF165EE\
-E33011DA749D4BAB6E2FCD18129C9E49277D8453112B429A222A8471B0709939\
-98E758861C4D3F6D749D91C4290D332C7A4AB3F7EA35FF3A07D497C955FF0FFC\
-95006B62C6D296810D9BFAB024196C7934012C2DF978EF299ABA239940CBA10245
-
-10001:\
-01BF01D216D73595CF0270C2BEB78D40A0D8447D31DA919A983F7EEA781B77D85F\
-E371B3E9373E7B69217D3150A02D8958DE7FAD9D555160958B4454127E0E7EAF:\
-018D3399658166DB3829816D7B295416759E9C91987F5B2D8AECD63B04B48BD7B2\
-FCF229BB7F8A6DC88BA13DD2E39AD55B6D1A06160708F9700BE80B8FD3744CE7:\
-087820B569E8FA8D:\
-8CED6B196290805790E909074015E6A20B0C4894:\
-026A0485D96AEBD96B4382085099B962E6A2BDEC3D90C8DB625E14372DE85E2D5B\
-7BAAB65C8FAF91BB5504FB495AFCE5C988B3F6A52E20E1D6CBD3566C5CD1F2B831\
-8BB542CC0EA25C4AAB9932AFA20760EADDEC784396A07EA0EF24D4E6F4D37E5052\
-A7A31E146AA480A111BBE926401307E00F410033842B6D82FE5CE4DFAE80
-
-10001:\
-01BF01D216D73595CF0270C2BEB78D40A0D8447D31DA919A983F7EEA781B77D85F\
-E371B3E9373E7B69217D3150A02D8958DE7FAD9D555160958B4454127E0E7EAF:\
-018D3399658166DB3829816D7B295416759E9C91987F5B2D8AECD63B04B48BD7B2\
-FCF229BB7F8A6DC88BA13DD2E39AD55B6D1A06160708F9700BE80B8FD3744CE7:\
-6CC641B6B61E6F963974DAD23A9013284EF1:\
-6E2979F52D6814A57D83B090054888F119A5B9A3:\
-02994C62AFD76F498BA1FD2CF642857FCA81F4373CB08F1CBAEE6F025C3B512B42\
-C3E8779113476648039DBE0493F9246292FAC28950600E7C0F32EDF9C81B9DEC45\
-C3BDE0CC8D8847590169907B7DC5991CEB29BB0714D613D96DF0F12EC5D8D3507C\
-8EE7AE78DD83F216FA61DE100363ACA48A7E914AE9F42DDFBE943B09D9A0
-
-10001:\
-027458C19EC1636919E736C9AF25D609A51B8F561D19C6BF6943DD1EE1AB8A4A3F\
-232100BD40B88DECC6BA235548B6EF792A11C9DE823D0A7922C7095B6EBA5701:\
-0210EE9B33AB61716E27D251BD465F4B35A1A232E2DA00901C294BF22350CE490D\
-099F642B5375612DB63BA1F20386492BF04D34B3C22BCEB909D13441B53B5139:\
-4A86609534EE434A6CBCA3F7E962E76D455E3264C19F605F6E5FF6137C65C56D\
-7FB344CD52BC93374F3D166C9F0C6F9C506BAD19330972D2:\
-1CAC19CE993DEF55F98203F6852896C95CCCA1F3:\
-04CCE19614845E094152A3FE18E54E3330C44E5EFBC64AE16886CB1869014CC578\
-1B1F8F9E045384D0112A135CA0D12E9C88A8E4063416DEAAE3844F60D6E96FE155\
-145F4525B9A34431CA3766180F70E15A5E5D8E8B1A516FF870609F13F896935CED\
-188279A58ED13D07114277D75C6568607E0AB092FD803A223E4A8EE0B1A8
-
-10001:\
-027458C19EC1636919E736C9AF25D609A51B8F561D19C6BF6943DD1EE1AB8A4A3F\
-232100BD40B88DECC6BA235548B6EF792A11C9DE823D0A7922C7095B6EBA5701:\
-0210EE9B33AB61716E27D251BD465F4B35A1A232E2DA00901C294BF22350CE490D\
-099F642B5375612DB63BA1F20386492BF04D34B3C22BCEB909D13441B53B5139:\
-B0ADC4F3FE11DA59CE992773D9059943C03046497EE9D9F9A06DF1166DB46D98\
-F58D27EC074C02EEE6CBE2449C8B9FC5080C5C3F4433092512EC46AA793743C8:\
-F545D5897585E3DB71AA0CB8DA76C51D032AE963:\
-0097B698C6165645B303486FBF5A2A4479C0EE85889B541A6F0B858D6B6597B13B\
-854EB4F839AF03399A80D79BDA6578C841F90D645715B280D37143992DD186C80B\
-949B775CAE97370E4EC97443136C6DA484E970FFDB1323A20847821D3B18381DE1\
-3BB49AAEA66530C4A4B8271F3EAE172CD366E07E6636F1019D2A28AED15E
-
-10001:\
-03B0D3962F6D17549CBFCA11294348DCF0E7E39F8C2BC6824F2164B606D687860D\
-AE1E632393CFEDF513228229069E2F60E4ACD7E633A436063F82385F48993707:\
-02E4C32E2F517269B7072309F00C0E31365F7CE28B236B82912DF239ABF39572CF\
-0ED604B02982E53564C52D6A05397DE5C052A2FDDC141EF7189836346AEB331F:\
-AF71A901E3A61D3132F0FC1FDB474F9EA6579257FFC24D164170145B3DBDE8:\
-44C92E283F77B9499C603D963660C87D2F939461:\
-036046A4A47D9ED3BA9A89139C105038EB7492B05A5D68BFD53ACCFF4597F7A686\
-51B47B4A4627D927E485EED7B4566420E8B409879E5D606EAE251D22A5DF799F79\
-20BFC117B992572A53B1263146BCEA03385CC5E853C9A101C8C3E1BDA31A519807\
-496C6CB5E5EFB408823A352B8FA0661FB664EFADD593DEB99FFF5ED000E5
-
-10001:\
-03B0D3962F6D17549CBFCA11294348DCF0E7E39F8C2BC6824F2164B606D687860D\
-AE1E632393CFEDF513228229069E2F60E4ACD7E633A436063F82385F48993707:\
-02E4C32E2F517269B7072309F00C0E31365F7CE28B236B82912DF239ABF39572CF\
-0ED604B02982E53564C52D6A05397DE5C052A2FDDC141EF7189836346AEB331F:\
-15C5B9EE1185:49FA45D3A78DD10DFD577399D1EB00AF7EED5513:\
-0812B76768EBCB642D040258E5F4441A018521BD96687E6C5E899FCD6C17588FF5\
-9A82CC8AE03A4B45B31299AF1788C329F7DCD285F8CF4CED82606B97612671A45B\
-EDCA133442144D1617D114F802857F0F9D739751C57A3F9EE400912C61E2E6992B\
-E031A43DD48FA6BA14EEF7C422B5EDC4E7AFA04FDD38F402D1C8BB719ABF
-
-10001:\
-04A6CE8B7358DFA69BDCF742617005AFB5385F5F3A58A24EF74A22A8C05CB7CC38\
-EBD4CC9D9A9D789A62CD0F60F0CB941D3423C9692EFA4FE3ADFF290C4749A38B:\
-0404C9A803371FEDB4C5BE39F3C00B009E5E08A63BE1E40035CDACA5011CC701CF\
-7EEBCB99F0FFE17CFD0A4BF7BEFD2DD536AC946DB797FDBC4ABE8F29349B91ED:\
-684E3038C5C041F7:\
-3BBC3BD6637DFE12846901029BF5B0C07103439C:\
-008E7A67CACFB5C4E24BEC7DEE149117F19598CE8C45808FEF88C608FF9CD6E6\
-95263B9A3C0AD4B8BA4C95238E96A8422B8535629C8D5382374479AD13FA3997\
-4B242F9A759EEAF9C83AD5A8CA18940A0162BA755876DF263F4BD50C6525C560\
-90267C1F0E09CE0899A0CF359E88120ABD9BF893445B3CAE77D3607359AE9A52F8
-
-10001:\
-04A6CE8B7358DFA69BDCF742617005AFB5385F5F3A58A24EF74A22A8C05CB7CC38\
-EBD4CC9D9A9D789A62CD0F60F0CB941D3423C9692EFA4FE3ADFF290C4749A38B:\
-0404C9A803371FEDB4C5BE39F3C00B009E5E08A63BE1E40035CDACA5011CC701CF\
-7EEBCB99F0FFE17CFD0A4BF7BEFD2DD536AC946DB797FDBC4ABE8F29349B91ED:\
-4046CA8BAA3347CA27F49E0D81F9CC1D71BE9BA517D4:\
-DD0F6CFE415E88E5A469A51FBBA6DFD40ADB4384:\
-0630EEBCD2856C24F798806E41F9E67345EDA9CEDA386ACC9FACAEA1EEED06ACE5\
-83709718D9D169FADF414D5C76F92996833EF305B75B1E4B95F662A20FAEDC3BAE\
-0C4827A8BF8A88EDBD57EC203A27A841F02E43A615BAB1A8CAC0701DE34DEBDEF6\
-2A088089B55EC36EA7522FD3EC8D06B6A073E6DF833153BC0AEFD93BD1A3
-
-10001:\
-0749262C111CD470EC2566E6B3732FC09329469AA19071D3B9C01906514C6F1D26\
-BAA14BEAB0971C8B7E611A4F79009D6FEA776928CA25285B0DE3643D1A3F8C71:\
-06BC1E50E96C02BF636E9EEA8B899BBEBF7651DE77DD474C3E9BC23BAD8182B619\
-04C7D97DFBEBFB1E00108878B6E67E415391D67942C2B2BF9B4435F88B0CB023:\
-47AAE909:43DD09A07FF4CAC71CAA4632EE5E1C1DAEE4CD8F:\
-1688E4CE7794BBA6CB7014169ECD559CEDE2A30B56A52B68D9FE18CF1973EF97B2\
-A03153951C755F6294AA49ADBDB55845AB6875FB3986C93ECF927962840D282F9E\
-54CE8B690F7C0CB8BBD73440D9571D1B16CD9260F9EAB4783CC482E5223DC60973\
-871783EC27B0AE0FD47732CBC286A173FC92B00FB4BA6824647CD93C85C1
-
-10001:\
-0749262C111CD470EC2566E6B3732FC09329469AA19071D3B9C01906514C6F1D26\
-BAA14BEAB0971C8B7E611A4F79009D6FEA776928CA25285B0DE3643D1A3F8C71:\
-06BC1E50E96C02BF636E9EEA8B899BBEBF7651DE77DD474C3E9BC23BAD8182B619\
-04C7D97DFBEBFB1E00108878B6E67E415391D67942C2B2BF9B4435F88B0CB023:\
-D4738623DF223AA43843DF8467534C41D013E0C803C624E263666B239BDE40A5\
-F29AEB8DE79E3DAA61DD0370F49BD4B013834B98212AEF6B1C5EE373B3CB:\
-7866314A6AD6F2B250A35941DB28F5864B585859:\
-0AB14C373AEB7D4328D0AAAD8C094D88B9EB098B95F21054A29082522BE7C27A31\
-2878B637917E3D819E6C3C568DB5D843802B06D51D9E98A2BE0BF40C031423B00E\
-DFBFF8320EFB9171BD2044653A4CB9C5122F6C65E83CDA2EC3C126027A9C1A56BA\
-874D0FEA23F380B82CF240B8CF540004758C4C77D934157A74F3FC12BFAC
-
-10001:\
-0A02EF8448D9FAD8BBD0D004C8C2AA9751EF9721C1B0D03236A54B0DF947CBAED5\
-A255EE9E8E20D491EA1723FE094704A9762E88AFD16EBB5994412CA966DC4F9F:\
-092D362E7ED3A0BFD9E9FD0E6C0301B6DF29159CF50CC83B9B0CF4D6EEA71A61E0\
-02B46E0AE9F2DE62D25B5D7452D498B81C9AC6FC58593D4C3FB4F5D72DFBB0A9:\
-050B755E5E6880F7B9E9D692A74C37AAE449B31BFEA6DEFF83747A897F6C2C82\
-5BB1ADBF850A3C96994B5DE5B33CBC7D4A17913A7967:\
-7706FFCA1ECFB1EBEE2A55E5C6E24CD2797A4125:\
-09B3683D8A2EB0FB295B62ED1FB9290B714457B7825319F4647872AF889B304094\
-72020AD12912BF19B11D4819F49614824FFD84D09C0A17E7D17309D12919790410\
-AA2995699F6A86DBE3242B5ACC23AF45691080D6B1AE810FB3E3057087F0970092\
-CE00BE9562FF4053B6262CE0CAA93E13723D2E3A5BA075D45F0D61B54B61
-
-10001:\
-0A02EF8448D9FAD8BBD0D004C8C2AA9751EF9721C1B0D03236A54B0DF947CBAED5\
-A255EE9E8E20D491EA1723FE094704A9762E88AFD16EBB5994412CA966DC4F9F:\
-092D362E7ED3A0BFD9E9FD0E6C0301B6DF29159CF50CC83B9B0CF4D6EEA71A61E0\
-02B46E0AE9F2DE62D25B5D7452D498B81C9AC6FC58593D4C3FB4F5D72DFBB0A9:\
-8604AC56328C1AB5AD917861:EE06209073CCA026BB264E5185BF8C68B7739F86:\
-4BC89130A5B2DABB7C2FCF90EB5D0EAF9E681B7146A38F3173A3D9CFEC52EA9E0A\
-41932E648A9D69344C50DA763F51A03C95762131E8052254DCD2248CBA40FD3166\
-7786CE05A2B7B531AC9DAC9ED584A59B677C1A8AED8C5D15D68C05569E2BE780BF\
-7DB638FD2BFD2A85AB276860F3777338FCA989FFD743D13EE08E0CA9893F
-
-10001:\
-FC8D6C04BEC4EB9A8192CA7900CBE536E2E8B519DECF33B2459798C6909DF4F1\
-76DB7D23190FC72B8865A718AF895F1BCD9145298027423B605E70A47CF58390\
-A8C3E88FC8C48E8B32E3DA210DFBE3E881EA5674B6A348C21E93F9E55EA65EFD:\
-D200D45E788AACEA606A401D0460F87DD5C1027E12DC1A0D7586E8939D9CF789\
-B40F51AC0442961DE7D21CC21E05C83155C1F2AA9193387CFDF956CB48D153BA\
-270406F9BBBA537D4987D9E2F9942D7A14CBFFFEA74FECDDA928D23E259F5EE1:\
-F735FD55BA92592C3B52B8F9C4F69AAA1CBEF8FE88ADD095595412467F9CF4EC\
-0B896C59EDA16210E7549C8ABB10CDBC21A12EC9B6B5B8FD2F10399EB6:\
-8EC965F134A3EC9931E92A1CA0DC8169D5EA705C:\
-267BCD118ACAB1FC8BA81C85D73003CB8610FA55C1D97DA8D48A7C7F06896A4D\
-B751AA284255B9D36AD65F37653D829F1B37F97B8001942545B2FC2C55A7376C\
-A7A1BE4B1760C8E05A33E5AA2526B8D98E317088E7834C755B2A59B12631A182\
-C05D5D43AB1779264F8456F515CE57DFDF512D5493DAB7B7338DC4B7D78DB9C0\
-91AC3BAF537A69FC7F549D979F0EFF9A94FDA4169BD4D1D19A69C99E33C3B554\
-90D501B39B1EDAE118FF6793A153261584D3A5F39F6E682E3D17C8CD1261FA72
-
-10001:\
-FC8D6C04BEC4EB9A8192CA7900CBE536E2E8B519DECF33B2459798C6909DF4F1\
-76DB7D23190FC72B8865A718AF895F1BCD9145298027423B605E70A47CF58390\
-A8C3E88FC8C48E8B32E3DA210DFBE3E881EA5674B6A348C21E93F9E55EA65EFD:\
-D200D45E788AACEA606A401D0460F87DD5C1027E12DC1A0D7586E8939D9CF789\
-B40F51AC0442961DE7D21CC21E05C83155C1F2AA9193387CFDF956CB48D153BA\
-270406F9BBBA537D4987D9E2F9942D7A14CBFFFEA74FECDDA928D23E259F5EE1:\
-53E6E8C729D6F9C319DD317E74B0DB8E4CCCA25F3C8305746E137AC63A63EF37\
-39E7B595ABB96E8D55E54F7BD41AB433378FFB911D:\
-FCBC421402E9ECABC6082AFA40BA5F26522C840E:\
-232AFBC927FA08C2F6A27B87D4A5CB09C07DC26FAE73D73A90558839F4FD66D2\
-81B87EC734BCE237BA166698ED829106A7DE6942CD6CDCE78FED8D2E4D81428E\
-66490D036264CEF92AF941D3E35055FE3981E14D29CBB9A4F67473063BAEC79A\
-1179F5A17C9C1832F2838FD7D5E59BB9659D56DCE8A019EDEF1BB3ACCC697CC6\
-CC7A778F60A064C7F6F5D529C6210262E003DE583E81E3167B89971FB8C0E15D\
-44FFFEF89B53D8D64DD797D159B56D2B08EA5307EA12C241BD58D4EE278A1F2E
-
-10001:\
-ECF5AECD1E5515FFFACBD75A2816C6EBF49018CDFB4638E185D66A7396B6F809\
-0F8018C7FD95CC34B857DC17F0CC6516BB1346AB4D582CADAD7B4103352387B7\
-0338D084047C9D9539B6496204B3DD6EA442499207BEC01F964287FF6336C398\
-4658336846F56E46861881C10233D2176BF15A5E96DDC780BC868AA77D3CE769:\
-BC46C464FC6AC4CA783B0EB08A3C841B772F7E9B2F28BABD588AE885E1A0C61E\
-4858A0FB25AC299990F35BE85164C259BA1175CDD7192707135184992B6C29B7\
-46DD0D2CABE142835F7D148CC161524B4A09946D48B828473F1CE76B6CB6886C\
-345C03E05F41D51B5C3A90A3F24073C7D74A4FE25D9CF21C75960F3FC3863183:\
-BCDD190DA3B7D300DF9A06E22CAAE2A75F10C91FF667B7C16BDE8B53064A2649\
-A94045C9:\
-5CACA6A0F764161A9684F85D92B6E0EF37CA8B65:\
-6318E9FB5C0D05E5307E1683436E903293AC4642358AAA223D7163013ABA87E2\
-DFDA8E60C6860E29A1E92686163EA0B9175F329CA3B131A1EDD3A77759A8B97B\
-AD6A4F8F4396F28CF6F39CA58112E48160D6E203DAA5856F3ACA5FFED577AF49\
-9408E3DFD233E3E604DBE34A9C4C9082DE65527CAC6331D29DC80E0508A0FA71\
-22E7F329F6CCA5CFA34D4D1DA417805457E008BEC549E478FF9E12A763C477D1\
-5BBB78F5B69BD57830FC2C4ED686D79BC72A95D85F88134C6B0AFE56A8CCFBC8\
-55828BB339BD17909CF1D70DE3335AE07039093E606D655365DE6550B872CD6D\
-E1D440EE031B61945F629AD8A353B0D40939E96A3C450D2A8D5EEE9F678093C8
-
-5:\
-C7FBA2CB9FB24C6034C9E239E9350080AC8B9CB2DC8D428C5A1DA72767179679\
-1021093809F5F79052ACACA1EC1ED7E019818D8B2D417E8FC60812EE1A67992B:\
-FD06033468C106ADBCAA26AC4B6BD24CF4919EA5EEB99458D6E3C758ED606D63\
-9AA3D3B0BC36CFCAEC3507AD0280BF6E9F9C3EBCF41A0B33A95CC6EEBBDD57EF:\
-7730307421:67C6697351FF4AEC29CDBAABF2FBE3467CC254F8:\
-1A025CC4A2C1B8488760786162C62EC677F6546F329D84E6EE0DA11379573D17\
-92526104BF637DE57807C4394C492919021DD81ADECE3530D8D2BC1802EC2E88\
-A46C9C5E8FF11E34D7476530B7E11DE0236992DE293355494471223263664199\
-01CA2F27E4A996512BDC650D76280A54D1DE2BE17D6E59EE1D156745036D8DC5
-
-11:\
-EECFAE81B1B9B3C908810B10A1B5600199EB9F44AEF4FDA493B81A9E3D84F632\
-124EF0236E5D1E3B7E28FAE7AA040A2D5B252176459D1F397541BA2A58FB6599:\
-C97FB1F027F453F6341233EAAAD1D9353F6C42D08866B1D05A0F2035028B9D86\
-9840B41666B42E92EA0DA3B43204B5CFCE3352524D0416A5A441E700AF461503:\
-D436E99569FD32A7C8A05BBC90D32C49:\
-AAFD12F659CAE63489B479E5076DDEC2F06CB58F:\
-1253E04DC0A5397BB44A7AB87E9BF2A039A33D1E996FC82A94CCD30074C95DF7\
-63722017069E5268DA5D1C0B4F872CF653C11DF82314A67968DFEAE28DEF04BB\
-6D84B1C31D654A1970E5783BD6EB96A024C2CA2F4A90FE9F2EF5C9C140E5BB48\
-DA9536AD8700C84FC9130ADEA74E558D51A74DDF85D8B50DE96838D6063E0955
-
-11:\
-C078DF95FFF0FC15570627120760AE74601094E47D0C879075B1F1A3EC33B255\
-3490AB1484E588C18A62A166876C5FD1F9790C265CD5ECB5ADA8BE03D5ACE4DF:\
-CDECBA049D6379CAF66158D85E5A1CA40ECFB849E832109B6E018DBE5F2DC8D8\
-63DDC8DF00D93BBAD5AA1EEEF896AEF694D253C11B806547D8F3621F6C0B7041:\
-7730307421:67C6697351FF4AEC29CDBAABF2FBE3467CC254F8:\
-40BD2CCDFEB88BDBF6AE80EE37045142EEBA60D51063335F6145BD30223A1635\
-D18C4E67FAD80D158BFA711A6BBCCCE8980A171027083D2D4E6B7DA2C465ADDB\
-D1F44350C51A9E03D808EB5784F0A3602B7E23903CE4530DF3D45829375E1113\
-7FCD639874F71E68742B9C145D21ADF4C4C8416B54AC4A01B25AB4CF1570CFBD
-
-13:\
-C975657B7786E7335EA9B72E0DFE6FA895F5F7CE9E559CED9E6C9960ECECFCC1\
-EC9D515BD14849E798B4D699F7C2898B6C256A63EA5F33D2FD77A51232B722A3:\
-D502E40CEA5B850C45E3BDE7E05EF0B13F4AE0DE9D93FCE969E5A119191785A6\
-3E5C181BD0CB3F440A1B519B3961B2FB519A8526BF29A3DA6DAC68261F70149B:\
-7730307421:67C6697351FF4AEC29CDBAABF2FBE3467CC254F8:\
-4B4B2F855CE4E8D5675589DE93335E31C1EC3ADA263855252DF49BD4836DBF29\
-3E07BE72C537B9C7685B38F7C838E067BC9172DF032C1F7AE337310A41A5F103\
-B00E662E3F78E04C234825A3DA6D31CC84D591EF5E8FE970ECC2C0B23E280463\
-25D88534EC256FED8C501034F8017C771983A07EB60E396F97418AD903282B59
-
-67:\
-BEDC7B14D1A21178D999DAAF657792371C8E55D29DA042030BBCAF411D36FDD2\
-F2A1F79DBEF6B61AF19A750562ED9C7A73386929951C9D330789504FB322C99B:\
-DA9ACA1C011181903DD4C24863408D49E4E134283CE92C65C842B753FBFBA463\
-4024837D6C1C17C18254BD8CA696F85BFCEB2578BD41B2584F2F47D6B12C18F7:\
-7730307421:67C6697351FF4AEC29CDBAABF2FBE3467CC254F8:\
-11C86DA2269774A6F24161A81B25D913B1A8C9F7332D066F96AE896221BF0B30\
-63C2254FF1B082721C18BE2BC3F0B1E0CEC028D8CEF7C762E985A6C327ECEE03\
-6070B9BCA0E6E41EF72B8404C7874CBA08E2D05612D69D11DD14C1EA42E605A2\
-92AB1C5A19C2F0EF39441225C783BC573775A28857F8AEFFF4C7748C164C8A79
-
-FFFB:\
-C7479D7196291025D82523AC1840AAF09C3FF8844A444A9FED1C63996FD34566\
-B75FB997746D175CB1B253C470AF4CBC5A0EB9969A85EF32A12C75053B8D7681:\
-EC73649E669157A56375BEC8AA903491543605C6A55AA7E4C804A0A8854C1363\
-56485CF4595B5922FF408E2A364F19F8BA82D658CD179118227BAC50046802B1:\
-4920414D20534F20475245415421204920414D20534F20475245415421:\
-67C6697351FF4AEC29CDBAABF2FBE3467CC254F8:\
-B73D7477B95133222DF24ECE7F6FC3E183DC7378503F2DB0E95CCBCAD9134CB4\
-7F5CEBDBE94AB4063E473A5168CB7402E75B2423E5774FB328D2D463AB79D62D\
-46DBC2AE11382F90AB2D63CC061816991062C17B08FF6D29DB1F646C57BF122A\
-1F23017207DF6630B739134995B250260907096971F530E8006B06534A333974
-
-11:\
-FAEC2B060722051B29D1A7E1D3E060CE3CCBCB29CCFC68819F26BB7566B7C5BB\
-D02C16C5A99E7F8EC22AA7050175DEA2C6C8939A24FBFD9015DA5C33C9E13985\
-F6E788E3BB02771A4B273B4C9D376E8204E469EE1433CE4ADEE78FF6B0B96445\
-673D5A0CB10156647B5F0418CC47A3469C6D0027D6AAEBC402D2DDBA1DA5B693:\
-D4795D21407AB236151E75957B45907F27BCFCDC38A0D9E322B1F2810FADA359\
-61527F1834B1909BDAFDD8D6B779C60694E36380BA45CFC786FD28C8310AEE62\
-30432FBA0996E87D22F7792D101EA4C171AAE38956762E3EDB2DCC8919BA0269\
-F9CDE6B3D95F6D9EC93D22D118FCC837B2EE5990D6E84CB181D3416FCFFA9A23:\
-7730307421:67C6697351FF4AEC29CDBAABF2FBE3467CC254F8:\
-67114A6F725F764D578FFB44F36CEB3A2B51CDEB1183AEA7201337DF4D2F9A0E\
-7DADE80202AD35BE2C5A209E493D31437189B95C86B53EE4B849536F94782E03\
-35E1501978588A525192001D2D1B1C521A31F94ADC1A3119D50E07318246D352\
-61F44EB0C2677F0E358E486A82E2B971996C926474F3199A4686ABAE7AFE130F\
-BF419FDB7B92CB69D8FCB7FD1536234C9B82409474F9968BF16CFBDFBB57EA34\
-C01436A684B8C521A435462CB6A6EBDB5DA4D97AAD2662738810DBC40C2616D3\
-241D47085D53D92518BB24D26B2D7E8404ABE334E6C4848DEE793F0EB6B61ACA\
-D0BAAFB220CB2C9ECBCF9667ACA41661B21E0A68E187DCBB39C3D7C5C31A7771
-
-# These catch a bug in versions before 0.8.7
-10001:\
-D32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30A\
-F38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D:\
-CC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C\
-4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77:\
-54657374206F6620454D453120286F75745B305D3D3D6F75745B315D3D3D3029:\
-55BF28124E5DCC8B92E4419464AAD74B9D489259:\
-21154AF8EAAB2063615CE16397CB0AE8FA55C94D8DB6A1738F90CE17B1F2B77C\
-57A5E2B7D892FCE8715B950070C2AEDCC6972A5B06BB20607D948FE755E24EBC\
-408456375121DB3A0205F45030DC840EBFF0ED359449B670B3AB77B9E8167658\
-DD73AE971C6B131F77C3A5143974393A2121F2F457146C7AA22DD56A7EEE86EB
-
-10001:\
-D32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30A\
-F38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D:\
-CC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C\
-4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77:\
-454D45313A20286F75745B302C312C325D3D3D3029:\
-825B0D7E7CCA6E1DE021437268D678C0CB8427D2:\
-039FB7DCBC3ED3DC57BF06055A269E47C00119FBF1F55FEF6E4174F9859C1BBE\
-FC40B0A73E128FC5DF5DC6DA3C292BD13E428CB90A181983FA2383B092375B1B\
-66FB2263174CD75266AD03B1DA49FC5BF69ED911017ACB87FA405DC118E8EE69\
-26C7ADE4392802C8CBD26D7534B8347F9C6C40F7CB776857F45EFF31D6D17CA5
-
-10001:\
-D32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30A\
-F38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D:\
-CC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C\
-4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77:\
-454D45313A20286F75745B302C312C325D3D3D3029:\
-20A708C1E55F288CFAE84EE6A521D3268234673B:\
-80960E4DF6DBD44A685EF7175BDCC12A53EC5DB0C8CD2866D72C120274D0F525\
-88A71E97B449B65A9E0D36AF3A6C3437440163444EA9CC03C26FC52596576B54\
-67CAFB8F171A2156135FD8CE93F7BA2E1418A4646E977DE60B19F1E7140B28EF\
-C241AB3068FD4F0B70332962F253D67B6FC41D60806D0E6B62A81C759C24F405
-
-[RSAES_PKCS8/EME1(SHA-1)]
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIICoTAbBgkqhkiG9w0BBQMwDgQIvr4d1PWvUvsCAggABIICgHacnCUtLfHl6orN\
-3TlqanvKYD4NVYiXpM4lhPbOk43UDH4iR+uEXmoGbt6HCjDJuFLt8HNcxMO0jrrZ\
-fjD14doLd5Byv8oldAKBHz4GHP2wGxb0l5vPqHE9WgDN/NKke35TJLuzkrV104K+\
-hir+LhhwDsDCV71jqsVL7ld2+AxCKF8+1uC+uSOoD91tFAXPLt2BApqByMJ59OMQ\
-MK5LKsTQJivywXSyQHVXVTCkJyx0jiChpr/ns+ABsZ7BVD8B+C2QTY4j9w4F80ms\
-dJkdEmmiRtIIPZoHrLKisPjLWE2oBgMxwfgE0twL6LgjMPAKaXPX5z9rmD+is0D7\
-BovbmCVNDLNvIB0z3ehP/EzP9V2WtPfpjwnKL746+Hy4h5bdt7pVUYjWiTxXpiAr\
-twjm8R5OUseNYrsVf2mitm8VRF97egF9BTQ74kUDQPKvwDSfVxkaOPttfo7xB0j2\
-GYRgXOsO/fosiafakBs3ARLJ7U8vjq2JtkTbKBtWvlJQmc3VHALZ64Ukt7epOlV3\
-W+hE1Hd6YnAuzCQIgPW8TtJkcSeUbH2NtR1ZCY7hUnLmqbiLAVqNezmYg5HIKZIQ\
-/IWMonvvrJimIRzz9F+EUIGM1JjgMrIIQ2zHIB8Hp0IhLNel+pWtSAZ/CDSTbOkP\
-An63u+Btp0CNGaIYPBNkW3rN9rKSRn85QFAU54LKRrtY3agVJs8VCH/jU1nBNl+P\
-pti1MKjJGAa8yCjn15jLBmS/PSRmLT04XwlDEuxBrfsAy8zScQkvMYLlVUj0JXJj\
-uEsBmm2wi8aCsD7cylqyflyePKOSAlig88cmFGWR37nq2HP8Gfi6IrzSFcLFyeOi\
-SJjGj3U=\
------END ENCRYPTED PRIVATE KEY-----:\
-B2207519BAFEA1FFA5561CE47F903CE59DA9FE82DA7D4C867A92F28F180D:\
-FC0DBB14EEF2D2FBD6D75C7D920D96F5057C45DA:\
-C1659606D25D6D3274B0380373D8F0F740EECFBE0E7C5AF20F22ADFE54063E0D\
-B5AA23737992C216A66550E8B0D1730684588B1CA0FEAC63680A7EAC2EB6DD73\
-EA5B2DFDFE2A41C47D28027E9400FD71A2A8109271993C629A39A9B006AA11AB\
-E798FCB1297BCA3B42CE1BFCE817928DC3BDD7661BFB2CFEA5B1C2D02B48B821:\
-ilikepie
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBgTAbBgkqhkiG9w0BBQMwDgQIeNQ67v0/C1QCAggABIIBYDTbkO1cl0ur+Osz\
-kTIQYqsi+YChtwLeTE0HipSPbuvlsFI5eoQvKjaEZjSMjsZwT6hX9zVbaclDFu7o\
-fOzrEwGSGXoquFzS0GfbtynnUhk1IAPviLRdesPFCrRWFByaTRC4y2G3zT0bopo+\
-Q6as/Tk28V88dpN7qC0Q5GlAaPTzc2PAy9FGc4lnu71WGQQOVByZ4LFomBPez2F8\
-S95H85Q0OZADlp+7gGUjUtlhZqlmn0b1OGNIsU9Ua4VntOFODr2AWMhoKpmZ2nNd\
-9Nc97uwP4jx1F8hfQP3/eRlG/FgYPX9FtVPAmKV8NA1QoBIIrfW0T8/JDnOYsxA1\
-/EwyNoamD1UJ3xq0kHS9a6c1zU00l7fgc1Cn+qECu93FxAffVN/cpA/+QwQwNXhs\
-ypmHWNSJuTUwx+MvjO/aEUAaGFN5HNwiwjOgoPecnSbHyPeyc7Fy6fVp6bjYuCJH\
-gjnIOR4=\
------END ENCRYPTED PRIVATE KEY-----:\
-A3208DF23DFB014D257B4C3D7238A857AD:\
-0E151CD5DD9014F9BCE7BB3500D1E3A7EF3F36F8:\
-374FCFFE225903D58CE988FC469AF9B6D660A90A48FFB7DCE207888D871587D5\
-0494260231664CB03C18A427B04BED666770B503B6EF08632A00D9D03888B1A0:\
-unguessable_password
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBgTAbBgkqhkiG9w0BBQMwDgQIfovX98csqwwCAggABIIBYA3nZapMLCVG6H+1\
-GVg9ThDA2RPjb5bI24AU8UcRV08Tw81SMQmZ3BCFgcbUlcEAM8BlGfc3g4KbxSt0\
-P8o0/ImCsZG4tcjQqw10CjQkG7Wg4WrKJ7wVUoKenR+9vPkzDtAFLctNqfWgbtmX\
-hD/O0twe0NT3puypunDReKq0HRu4LnMnXBzSNg9FHFvW95KU3JX6Lk0Yt77Lb0nk\
-663We9Tdr5kQnONjai5Q9gPst8suI6K9miInimPWgPSyCVy8Yp9Epl660QOpS3P4\
-mSg5ZPCT3pzcyKdSK/I1HfFSuXfP8+XYixjNHGjX3TZWl/x0g0EACowNlKQi63s2\
-9MRpBpMxu5Y/AhrpZ2GwUPQnFxmJXKOIXoSaTSzAW15QwfBGybB9F2goM3KM+xEY\
-g177HF0JWHexJGbMurT8shUjwrxFb190hoHIUYsmVN2qRT4tFNsUYAGjDAE287SW\
-YX8pFFg=\
------END ENCRYPTED PRIVATE KEY-----:\
-8F6B78A9F0D0F35BEFD38B:25D6DBAA5DEA01099646C5DD25589A10C414B6AE:\
-0091AA69E80C2690C78B99D5BB71002BDF019B12CC6ED5F7ADB0D2AF7284D1E2F\
-E14E372C71FEBBCE91309D7D18EC979DACCFE11799E31BEFF9B4D25D2B9DEF8DD:\
-akira
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBgTAbBgkqhkiG9w0BBQMwDgQI4boeHBzsmTgCAggABIIBYNQg9WdcjfVuPIof\
-D5/vhwOE3m3fxFqPmEeGf1m6729KiaVGuICWos3o0+rca6zGwulfUe++yARG4TW4\
-Ug/kjQhYVBZ6C+0cU8HmkpyO7mNcOrIGLJVgYmfcZbIm5DKS4g8vdLLF+mC7ic3n\
-ccBmbAN7JpPUjUiPVLlmNU691TajXdf0H14oKvmagjW9revy6KPrp9Hm0DkA5k9m\
-eMc6CyVk5IUijwEQyl5kwgCZMvR1N5ojum+FS5/+m4oOOPlowypEWPJYIIrH8vqv\
-bL/ZrBN1BsNKo2vkFvgs2AUJWhtuCdOI30HpVuI9t8crCZ2jHD1N+UdPQK474xhj\
-7/kTvM+LxAJm5ZKbcTJ8IlwVvEKvjN3+NPHpOIhThNI7IuBiLbljf5Q2hO68fUrL\
-D+6blox9MfSfpObyHzAk1sz9TnglnwgszUnnQDnF0akbR0sjmAntr2J0SPQ04Ore\
-GMrVEDI=\
------END ENCRYPTED PRIVATE KEY-----:\
-E729D4D596553F96AF:36FBC9529B999745EF9F19DF5A7C4E783013C661:\
-02A9176EF95FD74880B641C1E67367F3780B59456EBBDC05A4B6EEC3D3F8B8ED\
-E063DD1E2300E24CFABF475C8F3BCCF987C043A9A839976ED7B3995752EB3A746B:\
-It's my hobby, Sakura-chan
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBgTAbBgkqhkiG9w0BBQMwDgQIikN0UUeS0WcCAggABIIBYB5e4OfogtTUEoKL\
-N1xxteoWJirrMjzmXFVbief3OhiPTrLLAHZxQFdvnljURvY3UTUCDAJsBwgVfQlt\
-v0sYNdgxCv3seyb4f+MmDQKppHcaoPUfoE6R7J35lwE8eZs7S7sQIhA2loBuYrGf\
-V7GJ1nr0zWzb+JfRoOypMWbt0f06PMfJGdjd9dWaiR01L8PAHwwNNNREtbobrGcc\
-9jrw3bUDwMW/hkJIIrrPbQ41OqIJsQ09x+1VVBqaqcS/dy9wnB6FmUT8xvGY8YMx\
-ru23dTzd7ONBVWmhOq3Sov6o0i2eaFG8U656/L64qlw74lAUgJOVlZ8YNUEgaegc\
-rOSDDAe04/Piddbq8wpgpkB3pqJzFkleNVSBfduZaQ5azdtgpNKahIneAPbltnKm\
-hJVZ9OZImRKQaVOVZfqM5dJoohTrvTee+rT4n9O6/YcBgoP3QtTscPLSHyaQB8+A\
-X2ppo4M=\
------END ENCRYPTED PRIVATE KEY-----:\
-45A04558B8:6587ECBA1C8A7BA7C2A8B4DAE9D4076D85CAA2FE:\
-011F8E0F8A7FAF157D2C5938B137AE3A8A2158F9784E1F09E205A7C7C71505E7\
-D50DB8E967B1CC637EDB766B12570328B7C7832DAE3F79C25D14F26DF0729F72\
-6C80:qwerty
-
------BEGIN PRIVATE KEY-----\
-MIIB4QIBADANBgkqhkiG9w0BAQEFAASCAcswggHHAgEAAmEAsgsx0714GvWOspp9\
-CrFOjZ+rSKi2q1nt22CJM/vGvtVr3wfCvaszroOths+vl8OzNFWJWXLQjYx6vsiX\
-n5lcQyzeXW7Qd9VCRGoTwgd6aVvhHjfqEBttQVDJmFf+R1wrAgELAmBAvkCqFlo4\
-WUsprIqPhkscOg+9VJ+EILOVl3e1z+suHw/0AtJzhBLLGJwxBbQ3L+N3a0aQYOwP\
-uiYXuJbt7KzaKWnFP0XHzme+6X3zOGai7+2xM0CkIiAzNqdHJ49xneMCMQDkL4WP\
-uwc4vo4biGjfjqqdb29RLR3JLZ+b3C9c0LZYlW7oA/L4zeaWs1TvobkCuWMCMQDH\
-vwG8rUApjgPiBI+xv9ZNy4wt07LJMAVbi8oIW6nQsqSO5wVT764dxyilCXrMMJkC\
-MHx3AwiUj5NQqpqnfwWTouGCmc8v4bONP8lg1AQUwI1oyCF2hIe2IK9Ki2tvfDAI\
-BwIwNnnpM3URf7JeJl5VvB0L5qvgaZbTqzukXskIjep0IaUVm1ZHRW/pqwfFREhn\
-TvX7AjA/Z/CkJNDAkHNUTW67+VzPRulGiW4+Lzs0f+laa/ZL9SizJ1nS+HtUeREG\
-Ya7AO/g=\
------END PRIVATE KEY-----:\
-F5BF1834145D40D0A09D6331204035F76EB7DC981734E09CD1D755B46484675A\
-447F8E58DDCE287D6B8CAE8BCCE3833A9A5F:\
-C91DFAC04EBDD389B0A172520B3D189C6E19FDFB:\
-75CBD6ABBDDA5A8DF4470955E212778FD872B0816E659C42F9D796A48ED86EAE\
-FFAE39EB4D25A218A5EB6252DAC6A73DA23B35D967286C673FC9A603AC9B2803\
-A8F75BAA72A22A3601FC0A1AD9923CF8A75B749126E2C98BD3AEB4EE2FE3452F
-
-# The actual (internal) name is PKCS1v15, so test out the aliasing code.
-[RSAES/EME-PKCS1-v1_5]
-5:\
-DA8D6D0AE1B959B8A446CE3807F195BC6737491490206535AC8F85E5D6E5C18F:\
-F74FE3F3CFC5BDF517A50A887676E7CC2D20C509758B7657ACAB73DFDD581D07:\
-426C696E672D426C696E672E:\
-C66FF974AC57FF20D15AADF04D472ECF48F945F50945822FDA962591C160072A\
-AFAC9AB61302ABAD458A2528D610C73DCD:\
-11F10A948BAE2ED28555EE8B36028C8AE3001E8AE76DA4567A59DD59EE8B490E\
-54617009CF6E346360BE39E22B432DD7B50F0C41BEB1A6DF655E486FD5D822AA
-
-C3E9:\
-B90114E3BA96AD3076C08F63255E07A6BA0F46C0EC9332EB9081EA81100FFF2E\
-D3F886DB2DE1CE4F01ABD44D477DA8E61B66C65A9FB666B1CA8F79FC7B3EF25F:\
-E67921A8F5C8C04169E8CCEDE6EE147CB3B1E139BFA6CB6789E24238CBBA10AD\
-522B4BBA6F3B3138C7B038856F01C3735B2B61FDB18A47DB57D5B4B5B52B6E77:\
-426C696E672D426C696E672E:\
-8D4557C36F53ECB344131ADE3F85684BD10DCE1B84BB9B95A8AAF565D73283C4\
-46251D7FAFAF6C84FB216C627EEBEBD0F38C0E4C2849BB5FD95E453C9F4729E8\
-B54E0AA5700EA7ED197A0A64DA43AA33A0D232ED403F2DD5C519FD070242DBA4\
-6FAA023D4FCA255AABB85A9AEC28DB83A6:\
-9642171747FA6A731DF3D17AE28EC0AA0FB8E4046CDC0170335610B1FEBA9673\
-8E4A7FB6BD7761A035B41161696A2270AD429C09980005307A6F154B65F6CCAE\
-0C7C9CC1FC2E61BB52B5AE4AB41618023B673201D14C83DFADFDCB21BC7EF65F\
-CB497A7625E324F1ABE70B045D465051C4668A02B5F38F25606FACFAF62296FD
-
-11:\
-F233C84BB80BD0BCA772A629AFAE474650A81C10B863747364DF21776B1ED919\
-39FE9011E45B6C317F7C913F1A2E9395797C2E778FB97A0B1F57AEF663213557:\
-FB5B0E26BDD59E3494998727361831FDEC1715C0DB65E0FFF318A2BE9B33993B\
-76984F868CA9179807F29C1DE6C5489C1D43C76BBB7959BBF85922016BCECC43:\
-4C65742773206F7665727468726F772074686520676F7665726E6D656E742120\
-286D616B65207375726520746F20656E6372797074207374756666206C696B65\
-207468617429:\
-2D76481668E437FBFD3DF446DF2BC5F7F0EAA857CB913E739D5CDB6042D32ACD\
-BD332E5A99EDD3B4B210FC2937440EF8EDA3EEDE33D7B7:\
-7B8F8AAC5BBC997CD4A1DE682FBB96AC8E80C6FC2102B1E7926D9AAD97BC10A4\
-6F981BE12F8F1B51F9A9E1F8D8B7AED9CC42F2AC0420368341D994D942071766\
-79B5F2187FB6BD8F962B678CC379009D0A82ABB9933093371B71C6CDECEED957\
-EE08962B0A94C7DCF40325E5CE38C61C81D327AAE5E140F345597EE7774B8A11
-
-11:\
-C768A0691EA020997054C37D371440D61BBE79DA842AB00DB0FED730D00BEFB7\
-A466BEFED1BD928211E7E3F56B59A275135C80EF31B6F7348EAA7887E798FE41:\
-E12F3186A97838D1D57671508F249E538C85DCFD34CFEC3A98DF3A16C9559408\
-5A7F706FBAD2ABB69D654BDF2EF64C11A0B20CF70BA9AF62E416031C090F6D8B:\
-57616E7465643A20437574652063727970746F2067726F757069652E20507265\
-66657261626C792066656D616C652E:\
-22FA636CF24BFC2DAA1ED4FFA8D8D65370A45AD16A24454A2132ABA993A935B6\
-EAF3932BF7AFCC89CCE080CC4AD06914148C164C659A24468DAC947B73BE7B5B\
-09FC516E16EF7E89AE02F590EC23:\
-A0DF6D9AB85D31C7AF2E9748005C10E245A25987BA91990046FAD410E9640CE9\
-DDB51D11E8A05423D80CA8AEA69AA08A42D58AC8609B0D1390F4FBB6E48EE8D4\
-FB031A13CBA1050240E1CB5C03793CA0ECBCD543718B3DF51F6ED411512ACE95\
-FACCEF2A127D731AC0E25A47722C07FFD1A1DD5DFE0B1EEF6EDEB3C8C654AAD4
-
-1300D:\
-E8E314B7ECD4CEDE513D6E229A3A3A0E1D0DAF974ABDA9997E1978972FD0863A\
-FFD6259861CFC26F136DEBD1ED9CB227E091823C21DD79B57E8ECF67B9293113:\
-CE47F1506E6DDA70A95A6EC56E34B9F3F929D15C92DD4AC537162C6E3BD6C4EB\
-FD3C51D08BA61216685A333062EBABA4B5E647C81550C7FBE132A1D48D7EF00D:\
-486F7720646F2049206C6F766520746865653F20204D7920616363756D756C61\
-746F72206F766572666C6F77732E:\
-25B8D6560A33737B64EE77A02D5A3BA53F0F165468CCB98E7DBC6DFFA4C29033\
-A209E8B6821A3A7CF9EE89C02B42CD25F62FAFCE56B80E703897A3299F78520B\
-A251DAC421CC5A0B52E0E4B15FBB1E:\
-5A188A2132B9331B1072BCEA281DAE53070C0AAB0722D583BC7FE767BC85443B\
-5E36286AC568246781792CE04FCEA86D26124F14F3E8ADB69CF1E8A0A1D86E3E\
-0AC0F141C18CCA5F1B8228AC2996E81938B6593F37A603A41128D4CC0D453610\
-42B5F86539BDBAC1B1867E4FE351F599E955B452F675B0945093FE8310A70C9F
-
-13271:\
-D4AA40364C695FC262073498EAE363EAE585720A8AA211D37CC2BB74ABDAE7A8\
-B6D9C55D5D8E3A0E4D3B39D57D543E8A17F697FBBD45E32EC53B9240188F7EF5:\
-D4420A0041902AFD838833F2EF3AD89AFCF3EF66CA5B20036692BDC45FF861B2\
-0BE756CE35DCEC97A7BDD28DBBC09315E5B7E0249E61772436CA728C7639A8B5:\
-5768617465766572206F63637572732066726F6D206C6F766520697320616C77\
-617973206265796F6E6420676F6F6420616E64206576696C2E:\
-25C23B57F9C9E9A3A2C08F3320214F5365B1A70417F5A6AFDAEFDCF76D4CCA56\
-3D9F9625E2BA783733DE9691108973AF66BDE07A7E8854035B972387BEEA4DBD\
-4A2081CF:\
-985B3B945917B229B8274441C174B1748627F6A83986AAE295745694174928AF\
-8D6E3D309A8FDEB57F3BFB73AF2B776D13278028E7A7CFDD3F489AD3A46B2045\
-409683AABDD1C01CDF60ED850D4C918608ABC5B58C9BE3A438DB0D6D6B9C1019\
-C9498E17233D5092165471B0A1DAECE0A68104539FB85C51648176E8B7AEC1B4
-
-1A11:\
-32A4716E0F397B9340565530800F691F9E457C2C5F8ABF0A8F62971B89B43584\
-EFCD7EF66765E8BF6B84163D914364F855DF8F6C82DD49BEF76EDB1397257215:\
-360C8C90CA0B2216B342A9681EEF05BB8CF8DE2AB8F0997C97738AA32B88B956\
-D94515E35FE96238974AE8A8F0164E0FBE25C1161D7A1E9D170B821FEAD5A3CD:\
-4772617669746174696F6E2063616E6E6F742062652068656C6420726573706F\
-6E7369626C6520666F722070656F706C652066616C6C696E6720696E206C6F76\
-652E20202D2D20416C626572742045696E737465696E:\
-DADE975E4B9FCE8E3010EB1568FFDF1BCDED9A454796A0DFA6F793093A2FBE25\
-813FC6EADC4225:\
-06DE6646853E49A067C85492FCA580E49D286981CCFDC4E13B5642489CC19E80\
-3A69116BC2D75CD005B768F3FE7AA780BF7E5A2A3EA53085619946DB4B3E9DB7\
-592A8D060CDF185B3AB2C1BD551587EA8AC3745FEF60D945387B27C2001CF7A9\
-EAE9A086AA58B769A59CC4D09BCF9E100ED630EE44889F341C8DCCF52F003CF1
-
-[RSAES_PKCS8/EME-PKCS1-v1_5]
------BEGIN PRIVATE KEY-----\
-MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAt1wZLCQfj0PUKyhr\
-fWhKMm1DnCH+sT6xKHwPiyH1UTbaMaXjoKLKdfwK42UwDgJHGcSfQ9/ZYjj97o8P\
-8YiBSwIBAwJAej1mHW1qX4KNchryU5rcIZ4tEsFUdinLcFK1B2v44M4Z6+AwBTtS\
-Kb4KbbDsY3vruqonUnKa/wxxIhzZdero+wIhAO59Gs349up2k0gUJhwl+ght6JOs\
-cjb84p4QGQfob0EvAiEAxNK6zZ/S5MDLsyq1sVLOXRPc0JvBuebDtitKwdg44qUC\
-IQCe/hHepfnxpGIwDW69bqawSUW3yEwkqJcUCrtamvTWHwIhAIM3JzO/4e3V3SIc\
-eSDh3ui36IsSgSaZ187Hhyvle0HDAiEAmIKQMDlgg/7bJV+gm28s7qMpWyFfT+HI\
-oGFH/wROJlI=\
------END PRIVATE KEY-----:\
-A7AAF7FC80A74D35A163A575173A094DB366949207150DBFFF1D0B9DB01A43:\
-77BA577E606EF4A69F7C66726923ECDAB4EFF065BCAB972AD9EEF7478C09:\
-AF1F80B3057046EDE4EB139FE4954141350325E0D8291D1431F73FB601F57DA6\
-05D986965EC3B141E7BD467108EC29003C7F56315E11FA89708588B7A562A738
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBgTAbBgkqhkiG9w0BBQMwDgQIndH0S5IM+YwCAggABIIBYPxUf3adJCBZMSwg\
-whFKB9mFbB++xWg9UxkyZwpUsqReJMloMmtyYqGhAVvR753CWAkSi/l4cUK9hwnO\
-zs0vbQcU8MfwihHed61SwDqVHN2gp76KwdFtXKAsPlQ2WHBp2azO4VySxIYu8yMr\
-zpl5o6dnKqX9p0m38OcuMOvWiWjUbPdtNKPP9/t9xUY2dYdxoOJ02h2dWRH1bYth\
-jXFD5Zf0dgv958tcsUvCd6Omn6zyYvm0k0j8XFr3btJN6msWALYadCN7QrrJDsZL\
-eKD+a5eu3AYHA7Kk4or3AAKGH4LfDN/JsFe+Z9PO1xdxwwEf75mJbOyG4LQWkDP9\
-+pUPkPY311fcblEOx9Vin5c3is/+QnackDvnKjwU7JhP7mLHk5sRwDVswN1DPA+c\
-mlC3M8/Bib94M3ts/U6EjE4r+JW3/bVsVslKelJ2zOEiqt9HK+wZBb38NgGWwrBZ\
-7Ik3umA=\
------END ENCRYPTED PRIVATE KEY-----:\
-6ECA65B7FDB0986062B70E8C68171DCAF736:A83BC3A6BA075EDE453B7338CEE\
-83BB8F5AE8B5968E3A99462181DC4E73F943B66E433F43D0E8E6F08DA14:\
-1346A7E48F0ED39B333041451A0A293DBD8E1C906B21200A1AAC228DB8C9FC0A\
-9A24DD2B434E2279051106BD625AE24DD1554704E57EC48D659AA3E9515D2B41:\
-password
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBgTAbBgkqhkiG9w0BBQMwDgQIjb2KJZiMO9cCAggABIIBYHQXbyKPzgfuHZYm\
-b81zMQ7Kk4w5O+3XrNpFjSiRppkx3stZphGJ6vtI6NwDKb7mCf7arfeCzMIiF+gg\
-n4j27huU1KRl8SRSD9qaLaqrYrHOCpxnG3owavB8LtWacGQq3tD1/pyw/DXM/H3F\
-bdOd4q2ByvvltRAREy+0PjAwRaGBCdF3bEUP+ikIZ1zUUAhGalil1H8pPTf+8W04\
-/4NvlCyhWPqNwUEZJhFzzO1IRrAWSvn0PZAg0CHsNGHVwCRGB5/MfdEvvn6D31V2\
-wDFR/BzgNmPo7jFo7x83C/RRP/HCHHMhfTg3LHxehf1oCGI65Pj04PyHkYSNmyXz\
-QbQoP/Z6cTcbC250Q/2AT0xPamF9eAnhAcvu8QRq7M7wQQtW1z2+B/kvA5mf2020\
-4mGslEX3Iz08lZcdMwghw0xwVBZW+VCB1y07JXE8KxAhlsEj6aIbwg0KBM+d+npX\
-Ddyijnc=\
------END ENCRYPTED PRIVATE KEY-----:\
-64E8425A6B898502A081B6B78A0546F4BF2DEB85E187ED:57893B2A6A4AA7863\
-785AB8FFA68E81F3239BDA659E704833319DF5E3377AEC911AA90F205B1:\
-871A94A51ED756EAD36EE976354D2D6DE467CA5B8C9D198FAFA6D5B24BFA674A\
-20F89CF53B85F75F7E17481E212F2BF543AEC428B841C79E3E36CFD75BB7CA8D:\
-pkcsv15_isnt_very_secure
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBgTAbBgkqhkiG9w0BBQMwDgQIbcPIyX5hozwCAggABIIBYIL0VCCWjld4Zk1N\
-0s3+Uec+axsZm1cuOEm6KKqiSDUPA5bIwWJFTksEWqEfspq6VkQVGGD95hQY4a7u\
-PflXcQ2PcFeTe5vvKNcQ/5lnSY56gidhFIHYEUQMPXjzkruxzbnLMBN5Cc4oFf15\
-YnF4B3uZjsb9e0k7hb1h7lSbf1/Y2du1xdbhvXhF3q/uoCsrnxeGnjKIwesA9skS\
-U8gdojj96STbZl78HZ9vbS+RP9Dtg73qCQkeWnMz4pES9GZ1u9HJ7Q/D4sU/NaOq\
-Gg5y/WW1oNqI6Q8hTtat6oWE0pBnD5q8xuovlycEk9PJbh/b4waGh5Lc/CFUV75b\
-gxAbqn9OIzeXVZsKnHU+JQpgX3x/3+dGHKGd54w1N/0a+N8YUNyYXxyDlU7f4zNp\
-fuc2uwzfxFm4spigfxTTul+E90SMMZOIVHSp58cakq+ibeprcp2zMJcxO2EpXfas\
-GfgFhK0=\
------END ENCRYPTED PRIVATE KEY-----:\
-1548C7CEC500A26A59D493176E3B6ECECDC23FFBC485D75E4E20C978AD14F9C2\
-5CC19021C1328B1A061E317559A04326628222:66832C587BB0FC43A7380A:\
-022092438BAB2CF4A6C50D71EE39419E2E11C9E9644E0B9C2221EF81098FE318\
-8E9BE0E6E27C02A742571C0BD757C6B7F2160DCFA9A734AB6E90BDB0EF27DCD567:\
-whereismymind
-
-[RSASSA/EMSA1(SHA-1)]
-5:\
-BE88E0EF4EC64120FBD9E0CC62E931D0DCB02D7FBC59FC6B\
-3E919777E5178DA0E1C83696670F02DF3166D8ACB5B09A15:\
-EC1C473C7D3ED0B090C7DEC82343B1E3C5E6018947DC6820\
-17941BA4754715A8599D779A340FD85FC6613A1757D5B51B:\
-4920686F70652049276C6C2062652061626C6520746F2066\
-696E6420776F726B20746869732073756D6D6572::\
-9F35898F6508FB66FBF266C8D057F4FA9FB875213FA62051AFC62ABA177D42F4\
-B37FBC6F7236B01F27C1A856EA2F8CBDF88AD9FB4FEFDE0065BB7FE6F8978225\
-074A8F220C3D328C50070A953BB4E852B3F56E84594CD289A14F8F8717F5A4D1
-
-4F:\
-F1066D3E8128C009B795BBC5AC0988D73A981C108E631AC43424D63E6C964FDE\
-6B0E331D4A1FE6CEF3B744607723F4BDB1F9683D69651813AC03C757ED2412A1:\
-C00F576BC6CD63F75ECA04FB7FA5CABCC3287CBCBF99EC456CB75E9F56E2D20A\
-7F8C99BE857FA9E819BFE02C08D0405CC5045BB97C3F766F734390D881B27DEB:\
-447564652C2077686572652773206D79206361723F::\
-AD50D554C24FDE2B4D312C64D17B25F471C32CF76E54430BE37CAD31E6C961C3\
-4957AB1B4D1D2AC6782B4A979118CF7FE58BA40FB0900C2C2F5BFF26134C9489\
-136EC16EFA0E82A9B01F1C6AE744E4D4C4D126FC6466AEBA86353E83D69065AB\
-A220F460AD4AE3AB3083732290FED091D4675864EBA47B0DCB7C858264574360
-
-[RSASSA/EMSA2(SHA-1)]
-11:\
-BEFBF638255034EFF995CF15A610243A48784CEFB89CF10A11982F5ADFA0C5F2\
-49B373E33900A1A4A957F38A1EBFD49C4C74A2D7E74EEF2168F18424C6B6A843:\
-E538D5D8FE4A5800F16398B7732FCDCBBA9D397A8E77A67204458F0A89F13BEC\
-8AADE35E2346F489FF7005398596BA8A496D48D114BDBCC6D9CE292EE6ED7C93:\
-447564652C2077686572652773206D79206361723F::\
-4B9BE36BE0AAACC62FFA857A34D8032BE865C0D757C7A7827AD5D5C6DF6C5FD6\
-FD32A2EB0E851A0D04258FDBB94849CA2AD78FFA2CCC56070219B8AC198D0F98\
-165956D027A6D0325619B8C1458F01EC6A34DA517D89F3F3046AED0F169A2797\
-442FB6E586C6099B7CBE4F07682ACF751E291123AC5DF312088A9D84A54A7D54
-
-# An official IEEE 1363 test vector, sort of. The vector in question is using
-# the RSA2 signing primitives, where the output is "modulus - signature" if
-# signature is greater than modulus/2. So we just use the intermediate result,
-# since Botan doesn't support the RSA2 scheme
-3:\
-D8CD81F035EC57EFE822955149D3BFF70C53520D769D6D76646C7A792E16EBD8\
-9FE6FC5B606B56F63EB11317A8DCCDF203650EF28D0CB9A6D2B2619C52480F51:\
-CC1092495D867E64065DEE3E7955F2EBC7D47A2D7C9953388F97DDDC3E1CA19C\
-35CA659EDC3D6C08F64068EAFEDBD91127F9CB7EDC1748711B624E30B857CAAD:\
-616263::\
-A6B496F4A802AF9092F1F561931D84DBD0B943EF34C102B94DD51AB01E1054BC\
-0E0572A1FB2DB034569883F382B74E449F6C80C4060FBC0FFBD3A9CA9D66685B\
-90873007D207C1D64C692D0111157BB976A4551E72DDC83C767A9D75A4746C51\
-9B73CE52C2BFBD1C3C431D254FE8BB4308FEA486787F239FD2944390DA49DE45
-
-[RSASSA/EMSA2(SHA-224)]
-10001:\
-FBB75326D3DC76F89BB46C6D66A8CE0F0E2167309750D5CA6158BF7306DA8C6ED2D0E9D62524\
-8977ED06900A5C23CC1F:\
-D92E794F850892F13B6CBBCE1C67E1C670ACF8DCF8DEEA2DF958529C1CF5D89E30D5D05787A2\
-5602AAFFA5B5007800B3:\
-7072696F6E636F7270::\
-0EEA6057C2FE9892BE77B7A7E38E00EF2537D4E8EE7F2B856CBD4B29C7B5E38299D02B2A8459\
-91C2A8F4AC6BFA5E58A34139716B20CDD27471F549037D07DB76A02C3372AE2FAFDA3BF1414E\
-9BFF71C0DFA03AA0409D62CC9D5FEEAA7B42D52A
-
-10001:\
-D620C17FD01B4B8986B2C4934F2B78CF9EA43B862D70AB88763E2B133D7398E4E6633D8DD408\
-05D02EC5F2E59C0EB19A85B87D2F2EBFEB2E8189B2E21C71368D:\
-E0B20464041EC9EC74FE86CC00D7191A1F6730E05C80ECE6B7714CE158ED72BDF3215D96E3E8\
-ADDB4D8123B6006509362BE8B2EFC853C959AAB0D21C09A2B835:\
-7072696F6E636F7270::\
-A10AD2439FA7F9638298CAD2E8BD18830A580555F0D0A71CB2DAAB2392ED61FB6C3659FA706D\
-434C7F373761165580D9E3B4B72423AE3C27F71C53DE3DD812BB064C3F52A86C2C5E42BA10BA\
-F4C90E2064D988B56C59186B48D16B151FFDA0859FE41C585D388884EBF6B2E570A69F5EF5B5\
-D96E005BF353076662F7697DEA3A
-
-10001:\
-E3BAAE58893F9DEE6CFF0F0551AE0C95B1E8EC0F3F7C9E271C6DB3D84A24EB37FF785425FE90\
-6D9B9A4905CCAAA6CB95658635FB58BAA6691383DBFC3B05E403:\
-CEE7816F245FE20C99EB54A067340ED98A2003958186E78E2F9BAC8242E6F894FAA2726374E8\
-86CB3B718399BF5DA67B2558E086993897BEF2F6C580C7E04201:\
-7072696F6E636F7270::\
-85EFECF3B1EEB4386A61AA4AB0D0A4335F64C56C24C258AECEE4CA8547638F52858FFB7842EA\
-399E3EC97C882891E9B52A76D3A4B76BBB843D6165EF06181BC887B342900C0EDFD42EC35596\
-7AD052A76A760EF2130499A24FD9A059C79C334C586AB44C400278C5DEA17BFA9CC5127CBF39\
-2DC74B65458627A34437A8AE9FDE
-
-10001:\
-FA1CAC0BF58B08369A927D3B2FDE1C1F926A2EA31F26C2AA49EBA42DFBB8661E79660928D476\
-D5F82D0C370BD6514F492A8D4AA95039B0E5D1E5512E257532A0AC6BE1C294F75253A2B2255C\
-7B7A84EC7D0E0A34BD67CED0E9BCC1897B3D4897:\
-F6366AEBC742DA02A8B5884B0AF4A0DC24F8A7652D1F30E5A176C8ABEE3AC5527429EC62A3C1\
-6715A782D4BE9B8C40721909F4B5D466836050C637479DAE39528DC284ADADEB0471FFAB90F2\
-368784977B8F21F53BFFBD4D065DBDC19CBED061:\
-7072696F6E636F7270::\
-7F721D5DD07950287F217BC11C130E32567BD45E538A1FAD278CF25A66150448B486BCDBFC4A\
-D3FB81A4EFC7E6081DC6613982940D1149C514AF67351B9E096C8977B5F9776BFEC7CD70C56C\
-666C49BFE9618F4ACF281F6CFC3B2F5B91BD7CE3DBBE643EF0B5BE9CB133CD3C22A2355CE87B\
-10E538A4AD3A098CC7E7125409765F22B5D78D5F3F0603EE6721C68C2D5F22C84B7714067BDF\
-28B82091CD1B9943F9D619F501F5C0D418425B63AB2BE2DB5A43BF8455E6ADB7B60C86C606699D69
-
-[RSASSA/EMSA2(SHA-256)]
-10001:\
-EFBF3A50D1165B053F78FF95134BA3AE221F7ED5E7037675B633557899978B154F1E4A505E3A\
-3A10247FD4FC3F8698B7:\
-CA052EDE74D1308CE00551FD8E9DE9BC5F9DAD3ABFB6EDF14820480D3FB9E468A02DFF23B6D0\
-C0E009544091CEC9108B:\
-7072696F6E636F7270::\
-38FBB52FF41301D176F11DD6A536AEC2161DD783C455556CCFD51468292C8C68AEE955EE4947\
-DFCE5D090A5DC81A7ED925623DE7C52A4872303002CD89A7A63798F29D13337274AE0F59886A\
-62EE58FDF73CFA29DD7B1BF4CA8A23B803B68E67
-
-10001:\
-CCEAD3D62F90C7E9F3E8E59F8989C4FFDD4921D7B6A2309B967CADB0B844362D4FC9A23A8ED2\
-8DFBF908A87FB04D880D7C1B68B8AA0B7CB5CD46656328189AFF:\
-CD9F8E596AF2C90F2811086F8D3AD8EB35E83593CCC09ECD57874DC98EF5120CA2F8EEE1FE73\
-1220578CDFD5CB31D019825904D8FB7811CA99C017C1963E1D4B:\
-7072696F6E636F7270::\
-1891F9604BC85FCE085AEC5C8221D0E06119A5B1E1D399764CEF9BC732F01A3C4A29D31FEA49\
-72EFCFA749A900CC8FD1238EAA90B7B04F0A092BBC90E5C01B5B6F7022193290CD2237F6509F\
-84150D542842BA98157D1C69C067DB357F52013632F6961533D7672D05394E76C219EF532ED1\
-BBAD1A5AC7AF5A0CE36C1173A8E1
-
-10001:\
-CC1D8027CE1F5163B3D5DC6DCC63DD14E5685894437A1A8734CC4AA4EE5CC8BFF96298D4FCBD\
-2208C17C3A069D0B4E1EE6B43A553DDBECB2ABCAB7F0CFA9CE01:\
-EDFFF64FC3E0CBAD1F36B472E868B0317DEEF27854D40179FC875DCE1C5CE3D3BADE0AFD191E\
-4661B5931844C56C53E53409B824DE0EC24E2C7C04508F022A6D:\
-7072696F6E636F7270::\
-86E1AAF65A3C352A514148D8C3B8CBB77E7C59CF001E2AA7850CBBB703D2684160A362ACE398\
-71EA60207044F9E266FF9BEC03E647E0A30B74CF24B45161619F1DBDDE0FEF6B491337EE2D66\
-BF2E9E5B5BB8E4C568D580C8584DBD4F758194523A34218631978DAF8BF8364D6C4399063DCB\
-E866029E6418F4D0BE384B66AF19
-
-10001:\
-E92BE18C86C96D98C8C47C9C279C42EC136D8CAB91F74DBD383611DEE72977411CDA0188146C8\
-9CEAF6AF4674CBDC56D0045F94033868EA7AD2871C349EC885FC832F394425A70BFFE5652A569\
-8AB3884A0780162A4B9E6DEBF3D091E1D7BE29:\
-D18F7F50ECEDE65887B004C7A9D715F1DE87D8FE37A14302848AD1C93A0502267A6A0E446F480\
-9F6F8FE43B934A456BD10975E819B7F2037EAB3BAFD5E699354B8B7384467CE25D80F8FB6F231\
-CBE28D39E55D2ABEF2107D719D0A758676D7B7:\
-7072696F6E636F7270::\
-AB183E642A3A50775FE8F158DE2085CF02C1F78A55DAD193D1F0F68DE45BCF8AE6812CCB81D47\
-6C27D4ECF63D9F1D9E9C5EEFA269CE214AF5A8FF24D933DABAEC2080491DA4BBB9654473C06A6\
-BAE99095C247515611B5A45D0E02E8AED9D708D20E823288D5761ECF80AC72D307260B9443747\
-4923AA53D34058147709CA35105B98C7039D1ADD75F0E38FEAE7E3121331937C0A01399177698\
-7522E43AC1072182C98BFA3D28940D03B0CF0533E41A42DC574A835BC57D77396B43D4A007A4
-
-[RSASSA/EMSA2(SHA-384)]
-10001:\
-DEC98FD436DE44985FDC398C4EDDD4356AE3D95A2A7CD0DDF5CCBC47C35405F85F05599C59A3C\
-CD143E5B663C4435F29:\
-D2556E2A05CEBC6D61F7485D1F8D4CA410D2EFB65055D461AD1D28031B4478261C5DC5C9B58AD\
-C7C4C609C7CA0A30F15:\
-7072696F6E636F7270::\
-36495268E4297C9F416915F3F9057C1B772FE6ED204995A2C30FBBDADEF3CDCF38420E3A11014\
-1BCC8BDD06F688B139E6D8BE97CF3201E48585B4391CE9CF2ADB91B5C20991B2AFC5C6A6F5E84\
-5E055971631E066391D962FB265FF3D90F3530
-
-10001:\
-FC488F1438DA425D701C068382AB37E85798CA4D7A6A151A20C7ECCA84CDAE3EDD3AC22F6ABF0\
-01107DA6188382F0CD8B5B591EEF45DF60C016FD22B6AB91F97:\
-E8A7CD9F6BE666AF5F10A81EBA40BE26B69A20A6F090C43035268B65AB7742D1410FC28F16D18\
-090F776E7162771765A757F754A8EFD75FAA83BC9258ACD9999:\
-7072696F6E636F7270::\
-09EFAA53EBF1FA0A23B84EA68DC7292F235C7F2A2EB555FC85F73A11A7A3785AF4284BE98840A\
-4F6D289647B04FAC1D867EE0EFD1E95E060FE4D2D766D11B03E678607E474621A0F5212139146\
-00977E8F3F31FB0E678D1C79079ECF39F5EC6FD2F62480C0C3F1DCEE06139ED661B33A32CCD1B\
-213F7557F6CF87A0425BBE88C
-
-10001:\
-F74FAFF1F8533804A2ED81EA92E9872505551954DF623503615B558EFCA368D32C7CC10B39679\
-160E0FDABEB0DDB874469677C2DDF45E369FAC599F4EBBCD5C5:\
-BBB2824D01BF3A3820C349D77CB6761081590767A8BD5753AAF71893C9220080ADF01D89D5217\
-FE714FCAD68AFEAD388F103DA7273AE2A67414198CE7022DD29:\
-7072696F6E636F7270::\
-858691CD4D14CD74841AEA3CF1564734D939CB7D8B4341BA1F74D88FDA993761AA5D850B258BD\
-BEB228BECCC0F6B6C0EF96A3DEDC43A7078BF05D9FF4EA0224184572DEB43D77F0C9162CE6919\
-2EE3E50402579317B56838AEAC091369F216F19D271E7141149F1A5760071A65F08515D722633\
-6C9C5EA6CF35691B1C92451C4
-
-10001:\
-F6B23AAC1C0FD29065D68C3DE26B5868E7ECEB7CCB2AA9A2DAD4497678E77547AD8BA78BFED51\
-3D2C303355B7850184A3C6DA974322ACA6CC553393BD532B8ABCFD02B961A5CDF81ADBC9F5A6F\
-A36D55652428788BA133741055635911595947:\
-F2C5190C41D49FAD95CE70CF1CD086F32F9C154E856156DC95007215B2D1C01F485370AB4A091\
-C919168732C99FA57BCF44A6041EDFC878EEC65EC54C0360A6320AFFEE19EFE7A4A0F62137A29\
-98BACFD7D364320FA178C8724EEBAC65D0E7DF:\
-7072696F6E636F7270::\
-9A399CE7D50ECA7184290BE01D43FF7D570F0A2232D385182AA068EA0FB097691C197B25ADF90\
-9397CC0648AE74029DA3477DB95CA4F3328E5E4CDA4A4BC67BF1D34020C8D9AA24B56861B0365\
-92D207026CFE4AA04B0B2ABDEF3911320D948776304FA648B60A18F7D07018804476E904213D0\
-9B1E99C31E66A8F37B4BBC1A57A753069BF9024C3636AD3690CC1FC1E6DEA4211F5E49F7F1DBE\
-2B94C31C19B0DFFDF41949D1AA6337BDFF1336486FFEF1369C3770C837FA2E1526B93A64CBB2
-
-[RSASSA/EMSA2(SHA-512)]
-10001:\
-F37DB2223CC3E4FB8D7FB028992B01A553CBDBCC700386BFA1A21422F1D15BE3E6E0CAAB5A7EB\
-5F0A58E4FDDEF70AEDD:\
-C490D201792C50C9840EB241B736093E647E27159EBEB336295985847E866FD5C44103ABCA57E\
-BA86AD3E6159D485755:\
-7072696F6E636F7270::\
-7F175F5E66601757E1B0ABC051602FDAE2B652B69B551BB35F8C6B295F580DD0D27360E91B8D5\
-3184D3E1C1606690ED84EFB9C2A5122936BB94C4ED7FA49D40195508499FB87249BC1FE07DAB2\
-17970EAAB46809BC6925D3AE54ECF6F62E76A9
-
-10001:\
-DF3B69AB64C8CB728CAFCC27A18233789AF1423A6D916860A4FCEF21FBA4DEEC43DE4A8E7BBB3\
-272F55FEE50565BB18A1B944B73EE20F13DAD9444BF9225505D:\
-FE7079379535E7BAB62DA87263F089364FAAA27796DACA16C7C82D29FED8FFC93C1E8B3B65431\
-4D336AF98932708EA37BDC150BA749A28DB4F12492966B51FFD:\
-7072696F6E636F7270::\
-786C58FA17D5A5A5B411B0A85F3306062D27978B84C9ACCFA79665E1C951AFB2746CD0FF03616\
-0BCCCBAAB15E7848E8E8582168804B0520867AA15F44456B018051AB290C9FE72AA121E5A1CF8\
-8B761C9F73B81F329B76DD2A4FF2A7F7905418B3343136C524089D368948CB9223A2FBD35C14A\
-3B994BAA333F5CFD60BCF47B8
-
-10001:\
-FC3439077A50A7A006CD1077683A5A5BE8E4B9B66CA0AB80AE5DEB4315D746DE493F354A3E172\
-D080132BEEB7F17B80CDC10E7301289CBEEA18A80D20F0387FD:\
-F20A00C5C12DB0F8E57C98DF1F69F76F14BA9E2137FFD7AC228DB02D2EFC1D574B9DA545A331E\
-0D906D57075FA15B7CD6ABC58362703DB9E9670709D33C9C1B1:\
-7072696F6E636F7270::\
-8DC903239378EA69E965121FD519C85D1D136D67126626EA93A31EA3706410E420984A6443AC8\
-731AEC98BA412CF4E2B39F2BE7308065F7BABAA15D25E126C996D7244D499C5E907B58441426A\
-407F001F62AAEC4274EF84AAD979FE504B05E277CD1B06A74DBB838EB7A20DC34D19B2CAB5206\
-351AF53BB968651CA4116F54B
-
-10001:\
-DCA8E48536240777EFE1290C0C89DB9492B33BD5767F7B8C12BC9659D21D35D253C054469FFC2\
-574EEED15509093B7606C59EB108A4F4EF4576BD84D2B61922A4CD3587E0A92D3A95AB3CDEE4F\
-31410CB1270F369E9E395524E22AD261609A05:\
-CAF14E53927C9C38D0EEE7DDA60162B9FD3A270EC0B8B301BAA41F880527FBF015BABE0413DFC\
-FF22338E8E1FED4F2026FAF720373F2ED955EE5252F486B13BAE0930E5012D0149B1780053029\
-96D967370C272513E20CAD5721F49A46869E4F:\
-7072696F6E636F7270::\
-3697C05A657A8904C792E750515BCB11751D2D4C4C1460FA6055A10A2C5F2320CFF2D82C0CF08\
-6E2E213CF5C4A4BE890F5C0A9F98789710646A500DA83333AE1CC6A24E99167B97B7E7EC06FDC\
-789037DF23F6FD1608695643C7D7C6462A0B37AD926FCA364A826DE539CC89419C99397C7FA1F\
-1CD244B0C7D3C27E77B6A4D4806E749B1291A23F8F3E6873BC8DE349F871530AE11CF4EC42E27\
-B6E3BACAA3DD6A40AE51463EDE39B510E94F0A177328F868C91B5C35F13AF0FEF0AA4AD88B4D
-
-[RSASSA/EMSA2(RIPEMD-128)]
-10001:\
-C6C21C5648183B9EF1AD5A7FEBD163C247F324CC8E4D1D57604B1CBF2E7FD20E501ED4E23C984\
-A19D67B006A46131597:\
-CCD27CFDADBD21DFE2E63324DA85389CC9DC4EEBEA55505E271A8BEFA966ABBD9AD57B714B09F\
-580B9E87C6BAE1FC2C3:\
-7072696F6E636F7270::\
-63F9A46002EEDF74A3B21A58AF360C78A0389A6FA469CC6C7F3F37B9298CB666C59CF993CD3EE\
-741C8D6896F61135D2223C3D02B0AE001DF8EC270968F8E999FFD7575F437747E2C0B4181EB3A\
-CFE51ADAD24924D75E86EFA2DF4531FFD1A718
-
-10001:\
-D9111254AD4B5B0403A9E3DD027F9C121A48A4B2ED5AB5F47E3F9C7EFC7CD1956AF1079EF2D78\
-B80034E9AF2455FEAEE955D718964E89C7588992B1E6D1022D5:\
-B8E8CA6745A849EC7F3471C1C83EFAD8AE65A8D5551A6924B45869D40ECCAE5B784A353F84301\
-EDC6A8365CDB25768B4BCEE67382E05E15367DF3F4274F06599:\
-7072696F6E636F7270::\
-38CDF4F149F7CAE46ECC24C32F98F30A73DA6B57F0281009493CBCCEE2B902F66DCCCFDEBB142\
-2992BBB4D62030D24FF6674C27163CE4015A3BC899CFE6A01ACC06A7E0CC36754ABFAD8D19F5E\
-7372747557FC9B2F5F8F19563F33AFD0D4E3CAF639657922468457E44032E72E865517E095B72\
-8E8ED3169D37B45374E53D692
-
-10001:\
-D130C34C595669CA5711EEEFE6176671DAE51D8841D0571A70C9F0B0A3DC9A7409B0AAEC4BE23\
-37B45163FC8A41AD5A16AF72462E0FDE6224D15082AEFFB5BB7:\
-E4DE294D95CD57AED2F82B8487FC20FBBD3A8E5C6A35D9BAF5C7DE67AE8FEC8BA82634A5654B9\
-3340D447F62367A861F10D1ED976D2B9CB0C856336F514BC301:\
-7072696F6E636F7270::\
-9CC6743EA34FB010B0B64975E37CF4C90BEDC063B9CA90F543CCA616C67D16A8EA0883DCAE11F\
-BA595CA8D42F45DA84532E8173149A55196D01E45588FF372A1D95DEBC58353B3892810F43F58\
-A935E85AFF87B46BCB77C6176422E887BA3671F44BD6112DB0E4A56B44BBED76EFDB01B079C43\
-FE9AD593E65162C9FDB92B42A
-
-10001:\
-F63306C54246545F8A552CA5E15BA425F1B2E096D8FFA17E8E2DB786FBB50D2D3EDC94D676955\
-E69B98A87674B4CBAD9651A99BA4D53B78B60F3A9ED4C871102D0E3A3576009439D55FA412191\
-D55F93EDBF0239DA1F60B5B68F270A629642B1:\
-EC9F3A07B1783A510793763A9D1B8F190E4ECA35165AF643E9C8365897D9803C3DE5BBAB35C37\
-D43475A9E4062C1B8A2FBA574C4C44778D75BA3706B4242ECB976EC0F58D0D04CE4D9B9E2465C\
-0723B3F0970F04C8E8236A9FAED6797CD87401:\
-7072696F6E636F7270::\
-3D2E76A438D4B927C4578B27EAAD666CC041D4495A14A462A530BC81AF115D961C4CF840E9B14\
-6C83BE619E9D7730ACC4589DC17665CB4B10A19E021BF4E5BD0F7A1CAF720BC4677B809F6E2BD\
-6A15B94590A5DA3F03E83D819B1A429F22D595D2D042468EF602944508915C88480AAE928ABA3\
-2B4CC8FB4C7125496623912FCEBFF28D8DB33CAF008AB6B7195019DF8BAC96E23238EA8EC60D1\
-C9527D91EC4018AA23A50B8B3998BB70006EC441334C1301D0A47C160FCE995A14831A737681
-
-[RSASSA/EMSA2(RIPEMD-160)]
-10001:\
-DC6B9418363C6D83813A2588C0C4DFE5105F3A7305D5A0539E157379DFA832D7F9C59FD8FAD36\
-2A716D111A374D6865F:\
-CF72057C7ACAC7F030000803AE1EEFB72C3812727FF304FAC9B086C2248BB36936AC9200C4605\
-BD7142BC3C17EB144E5:\
-7072696F6E636F7270::\
-3D2F44712403CAD3F07AC10278811EF59DE6441522F323CB3CD1C287B233B5FAC7EC2A3398383\
-FCD4A0AF6E404392707C72B22CA1C503C6FAEE3F3E992AE9D02C38564173CB492C9ED2EAA9664\
-859A06EBCAC73836DC80F7282D604A43B41BDE
-
-10001:\
-CBF2B084B2F9A826A2A1E1C6C3889E5B43A906B6A773AC56F44CC06E92F36EB5F624BDC0E550E\
-25DF80B9720988819FA79675DC4A9D28E86BFE0D95EE2A8B851:\
-E56C1DB39B5B2DC6893D4383433C33FD78B1260660B7FC2313B9ED808126D685AD9F2EA7DCAD6\
-5B8FF78F2D9F2BEBCE9A3EA33D68C2D4A2995DA2DBD50E32951:\
-7072696F6E636F7270::\
-A10E2A0C3743B0C8E9C4BA0AC71A60A368E98F0BE67623A22FBBE958FB590A31E2E07B016E55F\
-EDFCC8472F9CA002BC6F0A107FD77E839D77D24E65B48AE6688AA1309C3E8727C62337792DD43\
-0FBA8ACBB1B3F730C8D316F66683E13D892EA35E57E145E1F54AA0B786E19561BBB910C4D7997\
-D88852923C5D84DFFC9EF8644
-
-10001:\
-EBD673DDF90D8CBA51137B6F81EE230365F912C58B4D4792914C7FC8FFF9618CF494A59F31B8B\
-0DEC407F28FABF6F95360C8F42D2C1B4D8D485BE42A25646CE5:\
-E0AB6EA0A78039FED1A9192B22E0E3131717B79824DB21EC6013C34C63F60D1AD7E73DF2BA71B\
-F29279995EAA8C4116EB783199E3A0ADE2E1F597BC3A011C1FF:\
-7072696F6E636F7270::\
-2AAF175A74264765198AFE9556BA61BE30069B909D8D13C31B7EB5051ACCC2BCD80D51C0D0407\
-0A7C0BDA0E9C2F88E531D2CD0B27DABA850AD37F7B7390914AB1E40EA4C27F700D91C6F17D177\
-FACBD439A98CA75CD8B4D1DEC88A975A03C9727A75815A47909D490920CD9C9A7C7E1FBE63F7B\
-A724F4985B84C283176E0A28E
-
-10001:\
-F74DA54D764C5C4A5FA36661C976F579BD857ECB969B94078A16179B109D92021BFD8D09EFC05\
-B889874489E631F1132194FB5B7970A74ACEB17984C6AA2132BDE2C2C8770F63E36A85DCFA080\
-7DE2FA3DCF16CB34A2AC9A95078613193ADE47:\
-C71F05592CBA0FCA8879FE18C8A251C49386C45BE0A0BB96A60AA434E369050660293A61A56AD\
-B2D2B14A5DEC650539151A30007C2E5313298B240CD8C4DC83E93B1C8F9D74D622587C4FDC080\
-0D14C5900413DA7BCAE98C41E8731486D9D2D3:\
-7072696F6E636F7270::\
-86BC93AF170E1C26E10914E9D403FBC6B5CCD3F2B5EF2E2D94118E4DD024A82095EC8B6F71BFF\
-2CF91F0528CF7ACA12F2C74DCBC01D1DBD52A87A369AABE406F62F3FCC975826EAC8F56D3482E\
-2FD396D06F5BB1CFED3EC5B3C08AB318FDE17A7807054BDBE44EB0BDABCCFE3A627569B58EF91\
-FD8BC9E06B2EA40AE55E3C124418D6CD469F8F9552176B0229240660325E452802CEB3A01D726\
-9460AD098FB25A8ABB98F122F3ACB84B7158954DDFFC6FB3EEAF3615877D7BDE533CE8A6A8BA
-
-[RSASSA/EMSA2(Whirlpool)]
-10001:\
-C29370B3C4A445B4E638BA903092A7E6110DC8B5317FCD1E0729110C2324FC266CD6F2AE787EF\
-67CB219AA8CC382C3FB:\
-F5489C8111D841E2D4FBCF7FA2A06ABBC451B730835D41786D3CC4AAA3B31CA63A6E7D3FD2C26\
-79272A682D1BA40565B:\
-7072696F6E636F7270::\
-79C185314A87A5518D05B68A26889DA466A04D66497704D8FD0566B263F9FF4250D214B1A27EF\
-D557D79C9EBADF08A6715183D0225D45CA81A643898572B24DAF7FCCA7856F36D0168EE480A89\
-E15836B7235ACF83E75A83628424E7B058A61B
-
-10001:\
-C249C71113E5E469BA2689A821439024EDBFF7E1C01378BA65E4E8FD0ED377D6ED03F4935C4F0\
-F203CCD9F9CDDE6B59D313A7F76760C680E9DAF0FB2C6A30593:\
-B9C9A9BDC0FFB402EA1996E46C51E654AA7CA62400FE0441E8DA7F78E4A70D00348B54F5B664D\
-C0DF24DD760888D65A81D4380D3BDFCD2241EDAA777F8A4EC89:\
-7072696F6E636F7270::\
-2B7BB8B433BB6696562290BFE540BAEA1EF89D22DEAE1B5EAC8EE950772D0AADC6234CB598CFA\
-9FB2179AF94D320A177A8468C5AB8EA7AD71A14552001FC4FC578E0A1D1BB5D862B35EFC075E4\
-9FB085F3195CB1D332CD07881978BA4729B1B3C180D8D2FDF63D3F7E0E9C6A93B1AB70323BFD3\
-203520F28AF06E1CEE43D6C54
-
-10001:\
-DE2341F362821590F880B50B5AC864447DE5AF850BAF4D1B9FE89887DB107C9C94F4B978F6556\
-DE0D976E640F40590EA06557BA9FD53834AB3084A8717F9B91D:\
-CF5B9021453ABE9351007DC6F8B325F2A4FEAE0FDBB1AC667BC6CABCF9EC296D7230C2988ECF7\
-0425917718CB60B1397A40E5368CB68CB8B4C216FE7B4A1B6D7:\
-7072696F6E636F7270::\
-2402FDCA5051000AAB63E930AEDB1DFF71D8EB1BD0AEF2E9038D62E90849B9890BD5460C8A4B3\
-611C05F967E53F4E789DCDB0A1855BDA841C4DC92056B8B49F8056C5FD2651AD2ABAB6FE85493\
-31912CF0C0142590357964879E5C875143D589B5D7FD5BB210A51EE77F3447092ED2C6BF16FD8\
-935E9A509371CBB790B1AEE32
-
-10001:\
-CE1C752C02B795269599B060A5B88B6D1736B0B61534F841C316FEDDA6F429BF517821C21F924\
-CA115A3CFC902F35080354D036026717A720AFF85B4F1BBDA360A2D98207E6A6933659DB50B51\
-CF213F71908E0841417650DB80B5FE776CB885:\
-D6B9456FE2A050A0795BFA09025866CEDF378D2124FAC433B07366E0B16390A2C1463333136B9\
-79C2DB9006681185B3ED23223BD0B96BAE8F1F3CE173F7D405CE79FCAC09C4151A012D84B775C\
-445B6BD8C836F06005FC8994961B57B62C8C9D:\
-7072696F6E636F7270::\
-7748BFC3043893FCFBF4CBDD3F9BA00F995DB6183C39777D4545CA57287EDC6D5D6B620AD26EA\
-EA1FE60F4B809831614CC4D78A209BCE6CD712D4D3CC71623962F4EC7FC8519E861206E26AA9B\
-0B6FB1E16D0816E19B00F63E0701189688214FC063CE6835D1007794AE86E23A515C261B54E5F\
-963FC519FD8F4FE26FBBF7A445CA379857CD037753788E1A278F12BE61EB62AB7099FED68E8CA\
-78F2A5D35E873CBEC10B612FCB5A11084AF8D99A85EBB8685D54FA4E4EF5362A421D760346F0
-
-[RSASSA/EMSA3(Raw)]
-
-10001:\
-EC52390A18D0746B6CEED07F19FEA4C259BD24828E864DA60B13E6E125B21AC62B8FCA7EAFC98\
-E1FFF88909C250317C790254EEE922535C45A1D6CFAF3A73BBB:\
-B855A27256300A0DFAF83F8FF98FAC15112EE4A1498C2F70277529A4A968250321834347B5244\
-BC0E019934742993FCAA113DB15F6B24B74AA134600E127C8F7:\
-3021300906052B0E03021A05000414C26EDACE80B947FCFF75EC4CEC1AF0D1872674A9::\
-0E5FEDDAABCAC45E40ED484C89742408A1225204246EF04BF0F5FC87CF97EBB68EB3911E54824\
-0B5528FDA1E1C6D1DFFC2A70480466900FA7524ADEBA694B291CDCDF2560D9D6F70364AECF20F\
-504876AA1DDB8C69897E52DE92A13FD9E4684AD9EB8256A5723B1CCD34D4E552D9E2A5FA8B48F\
-AE13AF7CAE023450D65731DE8
-
-10001:\
-1C136DA3E140F55A5F07C1F314FBE3D97E4A69DF7456E95E4E06405375071405\
-426D81261E4D1D089754D50C4C4AF42BF4D:\
-1F7303CD6DC61CC6833563E83C3AF5706E20BC7651257C0F890F2C8B1CB78554\
-EE43715EBC1D026908CD78F56B489B33F03:\
-3021300906052B0E03021A05000414C26EDACE80B947FCFF75EC4CEC1AF0D1872674A9::\
-01E6EF82D25EE46471883D373869C553A54E0C256968958FBAC41D79C571940E523B96494360E\
-EEEC45DA943F94CE44DDBDFBF141E8F7B251E44EC47B64DDEEE2873C4B78A849242F3377F135E\
-EFC9AD4658061F575516C7B19321A3120D0BB3B11BC7
-
-10001:\
-C0E2F8859C52B2455C02E64F14D55CA27D91E802586702E028093D623153C63EBD03EBFB0C891\
-563C893E3DD5A7DF4DF7EB29FF7D4E7C14A3002FDDCF3B8617F:\
-FD058A73BB8BA46BB8F23BDA37BA33706BCA2E8B648DA3FB5D76A3C46DED8A2438A43A3E84D3B\
-5CA22C4DC30B0A607557032C53F6D95B825F18BDF1DC188EA27:\
-3021300906052B0E03021A05000414C26EDACE80B947FCFF75EC4CEC1AF0D1872674A9::\
-B2D322A392288D260F4D0AF6A3412A3F11B97A141367559FE3F2BDEEF208E14F2987E63B5C6A8\
-56190B37BE98A36A217AB8E49862427851A2C0E3FBFB8B1A2845A14DF7170B045833A8B2CC663\
-F481432E9B4B72E1AF141ACFF368C8DEEFECDBB35598BD5B815C3B26BB496BCEFE5CA308D56AF\
-870F3D92CCBCC9D3642FEDAD5
-
-10001:\
-E283F14941AC5DCFFA0A7C20B057885F75846966D15A88A02DC9837ED39EAB7D493CEA91D54F1\
-8EDCB0F8574CA257635663DD92B8881F0BCA3DDBEF415A8801B:\
-BB743C0E63157B359737BA7615DEEDF953B79CFB99A266BFAA05253F5E04051647450CEF0F7E7\
-15E6CA7A09A907B8F80EE99A4269E02714B9854C9B4D192941D:\
-3021300906052B0E03021A05000414C26EDACE80B947FCFF75EC4CEC1AF0D1872674A9::\
-5D71634BD519BF992AC97451C3BD856735498D963A37FD4E5F36E4611EAC7002CE762607EFAA8\
-A50FE0A054084E5DA46B99AC242733444087F94D7EF0FE1B0297EAFE035D13B4AE75BEF37B5BC\
-DB2F38C2216320351E09D277B3D6AAE701236550EA44B8AFB6A75B21721CA5C780DEE26244072\
-8A245036385CF917310DA42D6
-
-10001:\
-EA7D376F36A655748DBC105361285D9E2DD5A90F7087380EE6EA1EC931BEFCC76BD8FF1C0E9C2\
-05A4271FA5CFF3260BFE92319737CFEBCA0AFD56C0EF5A5DC404416F642E188A9574700687A71\
-937C2EBD6B4A047C4D35C901C6E28BAEC7EE03:\
-D6770E9C288C807D4E0BF8A4BAC4AA70E7A83E2E394BC448F0874B909C061392F4FBF51DB10F2\
-C87E117F242B222A31B74A9BD72522062AD87BEDE477D47A96A2D74477E7A9936E14F3488D3CF\
-620024A8EE42133ADBC7C49526D74804CD15A7:\
-3021300906052B0E03021A05000414C26EDACE80B947FCFF75EC4CEC1AF0D1872674A9::\
-5559398D21B7EF94223BB1BFFC8BB230640737A3F6D1E780DC59CF23A188206C1BF85EF086FBC\
-9D44B76B70F09E86C464AE53301CA8F31C704F5BA0CA4348B505FAB3B0940FFD831EDEBD22F8D\
-1215FA1CD0EB8ED678A3C7D4C713EBC8EC613F5D9B4BBC2E4AC47E403207E43C79E8F6EA12E7D\
-B8FA08D723864EA8D9580A274E84E2FFC3C57F366ED0CAEC9790F4B7E82B3E8419CE0F6143965\
-74F95CA498DDB75EB23AEC063C2B81251895F4A119A3B579D56011DCD412EF2B24FA4725D5FD
-
-
-[RSASSA/EMSA3(MD2)]
-10001:\
-33D48445C859E52340DE704BCDDA065FBB4058D740BD1D67D29E9C146C11CF61:\
-335E8408866B0FD38DC7002D3F972C67389A65D5D8306566D5C4F2A5AA52628B:\
-45766572796F6E65206765747320467269646179206F66662E::\
-05FA6A812FC7DF8BF4F2542509E03E846E11B9C620BE2009EFB440EFBCC66921\
-6994AC04F341B57D05202D428FB2A27B5C77DFD9B15BFC3D559353503410C1E1
-
-[RSASSA/EMSA3(MD5)]
-11:\
-F8C72F6AD1A116B15688E6DDB4458E1CD69A21E4330AAB1F1024CA09AEA20C57\
-C1A1D3DFB612928E7FEEE51987D5898A24817F9A389A39A0E5A7C43CF30A16D9:\
-DDA05F490F538B6F09B2C1D14D85E66DC724D8B77D3218958A8AD6D1E9DC62D3\
-05A1FD010251CF0AD2BE511464CF33E5D8F7108E4E6E0FDBE0ED524A95DBF027:\
-556E7265717569746564206C6F7665207375636B732E::\
-7B558B0763B621830BDAF0AF9BD183A026041051579C303F351DCBC9DC168444\
-75D54EF5CCCEF59467015C4E4F8E17FF233BDE1D69B01DE46837884DFC265664\
-C5384E734555E5811259A206A05126EE70C2C1ED36A7EC2FD4F71F4F637EEF5C\
-833F92FAC30062434C43788DFB75B85BAF05227F5B1258CBC9EFF3F1D7BB9916
-
-10003:\
-D53E981F3D9AE9628B5038C8E48CBB944534522E8293145A3A98B855C4BB091E\
-67493348454DFDE02FF3C7148E313B917A199415937407B4856A98E50A570BDF:\
-CE8671329A80756167093EEFDB10D2E0E0906BDBC58C4A1A8E8FF1CD2AD25086\
-8C79F360A357B7EDC1A7220CF698D0565385ECCC9FFBB89EE76EFAA6B70E8881:\
-426C696E672D426C696E672E2053686F75746F75747320746F20744F332D6833\
-723320616E64206C306E2E20416E64207468652052656E64657A766F75732E::\
-319F7DA1448E5BA7EDAC7A5FB422A401481E895E0508D1C0FDEDA2AC51DE1D39\
-913F0D412E6E6D9313141992A202FBEFF3BD333542C88F626457046190AEB16F\
-F2A499DF5820240A5248074445B2D54DDF0C298F57B61D89EEABE7ABC728D4BD\
-E82834BA594C2231F2757A7FCD047039D3A3FE220571F30C41B5C25FDDE4FE87
-
-5:\
-314C5009A2E3B5B5C7C2E1C2A44AD98921F8005CD2C2AAB617F4DE5932FD5599\
-391584977B46ACB1020DE1E106E6B2861C2A6E0C980C151860967E51372E19F09:\
-331C1FA43BF7B78EEC60EB3627954A971FC50357F1ABDA7EFBF758793A75D601\
-6154DD9F5F878CFFDA6C5DD4F88BB5958C4D6EF4633DB0F3E578382BD69B2D567:\
-2831303238206269742074657374206F6620504B4353233129::\
-0484FEA19814279782BD0732A7A7E29738B2B2DF0D0D2928253921990B4F3908\
-F69B968FAF934C227FAF39BD35DBFD82F1C9BEAE66C4977E3AF69E0567635E18\
-A7D831D5C66A75AD8D80A6BC994EDBBE7D6F7FEC327A1E2055AA81720B336530\
-05C2CE87DF23E4A286D5A3CFF376643B969134C49E6929CC69A23E4137CE9AC719
-
-7:\
-436D230A470CA8401CA047FF1AEBAFF72FECC04A3D085576866701D5B2108D7B\
-355E8AFBEF3A687EEB6FBFF7C1152769E100EC77D72D000D6460E99C68BE30065:\
-57CDC664033ACB369AD87F6624A1342CD57E95F1CA0B44386AABD1664B511690\
-10AD4D724A900DBA16A8F10411800C15A91BE59D10ABF7147B4C291B0B0DE3AFB:\
-2831303239206269742074657374206F6620504B4353233129205075752120::\
-13AB41A8252B19A23ECC3781A7AA969ABF929AA562418750B9347F140F2C6DEE\
-BD760C27F650D403D4BC692B1BB9C99B0A8CB20D75502C3B451AEFE81BB1278E\
-23A4B7F5C3C438064CFC25890F68ED689EC7815F015C018BDCE766EE3A4A1535\
-19020BEAEC16F56F5559B8413BF0C4240645D2D8EF69B023639B336F1A2BD2A622
-
-3:\
-77757FAB85AED403810500EC7FF71C2D702A2681F4152757A6F553B3BFE264D8\
-78800D4D8021F95A425FF61153BBB9536BC67E92B5DA6FF752EC17B7F812A3DE9:\
-686C51FF0113EE267F13E63615215EF4988EF8EE5D519B41BCE5F405CFA73E7F\
-FD01E8B16727733A9F09F9E8114FDE3E6E40E93CB6B0D6DBAEBA9CE2368BBAFD3:\
-2831303330206269742074657374206F6620504B4353233129205075752120::\
-0F017BEC0E1206F2F7BD50500898EA57A1E798FBE0D8C66594F85064E1CD7FF6\
-FD528D562667C9B1D75492B83131CB1262906ABD657B3B15871CDE20F871D81D\
-E98CDF6FD87C5753A0A9E8C223BA1F1761273B9BF8756ACBDC0BD7E6E1CDCFAB\
-3C1722F1B3053ED85CE3CAA15A843112788E779E463BBF51BE3B51243CB14E6FF1
-
-B:\
-800CE163A96B6457B06761B5D3869E44137E7213E39ADE143127E9A539E1B0D8\
-1B28C3B950E90F437EF6ED8B983C0EDCA9A63B0B995A06230769069576CE144C3:\
-92A8C827CFD05C51EFA0BE5C958ED88B9813948B99A20042E3F54A8FF71F2FD3\
-5BC83DE9A242CBB3760071EDD6980C3BA7204B5CFB625FAC1367CB2DC83200CB7:\
-2831303330206269742074657374206F6620504B4353233129205075752120::\
-38DE0D39AECE20C3DA94E1B869C09F04BD22C072B1DB012E986DEEA9E254A5DD\
-5E6A946901EFC92A5EBABE010603125B60FD594A3D974986F58F6FC714473334\
-27B1FDC960512C121E8C81F0354EB956698EEE49A4F989390950B679E03A0B6D\
-964EBA3829C52C989A1ADDAE430D600188F1A215BB306EDFDE6E512E23F113C52C
-
-5:\
-A9E8F0A318CB66175E30DA2291CD2EDCD9A48DBDE30CC6D4AE4E479452DCB873\
-370599E4417350FA1F70E2F9B918C2284DF773680950983BBE35743010439A9F1:\
-83BAD868C9AD825C6C6CADE47F55F4D89974B2056293DA9C3D867EC11147720D\
-F048357E3331384C0EE2F6AFD28B9B8746BCA799C8896190C6879C1F59BD1B363:\
-2831303331206269742074657374206F6620504B4353233129205075752120::\
-192283FBAF7B9018D464D30A428689046AE3E25A499F8E437096800E09F4883B\
-E72626B9C0B50E982C5D53B6C733CECB6FF5C3CC2958BCE854BE89AA1D166361\
-ADFC0CA4B23D7A5D404B0F75ADE3FB134C965E427233F743925AB36DD45564F0\
-7FEC46F424A61977645E0C4D275A2BFB65A403FE14B20210B0CD3ED319C9D31420
-
-723B:\
-D7AFE0CDE0A05A44FEA97C7710960C3F1D7341279C025CBE16D4038C8EEF49BD\
-A81F1149AD31B33DE594C97431C52AF0F2D52198E3847CCE0AD02C5D6BFFE39D\
-52824BD671CE867AC0E219612A2AB769D82DCEA187E8AAA02428FCDE8ACCBDEF:\
-BA36A3D8F1F8AFFC57251452119236A532516ECBE4CF5AA6AC44533F4CA9995A\
-DA0FD9B0A742941AACA7FF0B12F2D317B046F5C3BC0609B519C4F564604D2969\
-19F677D590AF519ED70DE189ADEC8E024286D4C2E8866F7056E2333AF584E847:\
-47697665206D652073747566662E::\
-5C9417A66AE951AFD8900FF15463CBEC5D01DB8D771BE4BC35FBB2416D2D4D1D\
-89151E3CE6AFBC4F676627B538511C40EA1361FC2AE34DA5DE06C6507EF6FE27\
-E362830230F3B990AE26221960B459CAF308246EB6183FBB75A38A89A1A34A2D\
-D4466F18832917AC3A68AE63A8920FFC7F3353802D8E18F760F00B3BC62D5981\
-0F7F132CCB8C4A5EE2F2ABD6EC2A8FE03911F1336D70A4BBA00DDE153683CA0A\
-F730619C15AF48AC2021DF431C675874BD10B42432260EC07FAF5C2E93DE868F
-
-7205:\
-DEFB5C1A68C464B3190677215DD4D5098673AC1B510684135E5BF2AA8EF07395\
-6F29BE13C058AFD613308000261A2C90D8A8328AC2DCFBD65AD132B5D32FEDA8\
-FDF4601AA0BBCE72B56B1C01C65E6B2F3F1DAB6975574B70160BC2DA2F72F658\
-9FB9C35A8DEC519F7E4759CA4E71EB27C3CE37BF6152134B477CD8E9F5656D23:\
-EF363BC1C200BA863315BE1EBB8D0FBD5445D168BD8802D9E0DA108D4ABA276F\
-64C54006D180B53DDB655692740BE6FFAFE82565526E45626683C5CEFB768E64\
-6CA0348F5D70F435247775C5DCDFF681D955480EE5C41A2E739DDF27F321F24D\
-A4022998624D43FD566453C4603F2207A4CE906660D0D6EEFDCBC6B0585A633B:\
-47697665206D652073747566662E::\
-693E0EB1075D852FC14E4C3E54CC180F9B215A663C53AA85FE3F8777F25EF089\
-8871C922DE5508B7CD068559DEAAF1BB2C8FF590CDA7586BB8D8CD2FED31122F\
-E09A858ACE8BE7CDBD7DCEB1FB6E80ED4D1E203EA60DA5B4FC4127D3B649FE4E\
-F4991394F4B28AE8D2FF33A4B89FF8E18B9656137C43F4F950FB013882C1CCAB\
-486289B162256038F882AECFA6A5FC0B377A1B61F95B34ABCE4562805E614859\
-22B36B10C1DABAB069BDFE0EFBA0C44587CCB4FEB6839E6B2F7F07B2E90EFC1F\
-C8FA953FD56D603AE54458AFDEBDBDB99BCC29733194E1DF5DB9E7E63E993756\
-A043443A254CF4E41A171A65BE4DD3CF5AA4079F3AA69D220615B0BF935134E0
-
-71BB:\
-EED87D797D13FDD31AAD41AC7F88FED35F6483D4AC6989FDDCB540C04E69E2B5\
-085FF650613BDF8B8BCFF09E328176B8C6E5E8608A6B0BC6EA2C6461BC060FD7\
-B884A9155FB7DA583F95EA9EC896AE8C678454D9D9337C9E21F658E6B5B2EAE9\
-A8477E7D2A3F9115625A1D429087C3DA4DC71E7C9A08A44C91697B564A8ECE7C\
-E7BFF1C626F6C2D898E512CEED855A64090648FF5B71B385B551658B04F29D81\
-A00C6DA0600375D7BCB26AAE5E211EFA97AB806DABB4D783C5F8FE61BEE81565:\
-E9E6B997D92FB0DB4162D4412326D008CEA106665DEEBFC9B819E5B044A7B98B\
-3E628887BAE89C86066FFDBADFD0A52715DADCE0F4A2CCCBCCCBB095A2DD0014\
-FD8BEE4FEDEB95F19C1B7CF694E2C505BD614D06E18F362713A3DCAA41DA398D\
-29D507698D4B3FB1D8C070285A4B8A4808BE4BF60299D4E6912BA4C43CAB65D9\
-5B06F96FF50838E13B4938084C4D736FFB28477B30E4FBCD4C6826D1250B3A85\
-68DC0A7A0997CB2669DA44D925FCBD248ACDED9F5930DC805F019014AA806781:\
-47697665206D652073747566662E::\
-D0C2D44B72627C4CDF868393F38BA331742F7C553F930DBD85C2F52E8C57CEB5\
-08C31D7284DFCAD0EE161F298AB52D0B3E04FB0A6D1785F7EF0AD2B527F1DB04\
-50831A832F3F1D46357F042970DFEA8F81BBEC44B2B99272D15D6ED9587F116D\
-97E572B6534B4ED107BF43AA3DE758C074B4EB391B9AE3BDFE6D4A4FB2180A60\
-A1EC259E22825FDEADD6A13B19F011045EE8DDEF14EB404A0063DE0D953E9245\
-EF022943AF6476118600E6A726994C94309571C47B2155C9459D8BC757CB226C\
-057820443E593B4A78023F5D8BAA64BB48DD46C4AA77CE39E256A6388E2FC59C\
-E2B453AF687DA37A2C6D7E10D8328D25FF1CDE51926BB27C6200A590C8BA4BF4\
-274CC8E72CCD10271F14018573A1F41F9F1C582FC102D7621C2AC5078A14DAAB\
-36D26E055B3AA6DFBE6BE1C463C4415891086DECA173D99495188FA21F497E9D\
-270FDEB830B3F9D62F15CC843AE19F490717E9A7979139175BB7240F706851A0\
-F56BAD12970F2E0F031C313F93C9DAD4AAD0A26592D5E618B9E73566E68DCF72
-
-6FC1:\
-F34CAEA3D0B3D9BBEA6519414CDBAAF20A44AB2014D51545961B5917FF2D8F40\
-ADB5971ACB2116B7C5600DB30D8F80D54F54DDDE605A4AB5C7A4269A5678508A\
-545BB9EC585EA877EDC4C23C2370F44DB68A2FCEB73C09307CF22468CC4F51A4\
-2C1EF139FCE1867598F909931E7C364AFF8B5C1B60FAD396A641FE949888C6A0\
-C2FFF84FD7EB476B1292FACFF2DFB7F8B48934ED0352615E1AD701491C47098A\
-49920DCA9C9BE01C1C70F4AFC9BCFE869362816E21C552BBB918F521FD57688C\
-018969C6C48308D18589C2EC486A8C84E41263F594BC35993F15BD23BCE1EAB3\
-185D0828F441064D38D84148367DA2F6FFC9C29510ABABEBC33F6E525090C7B3:\
-FF433D0B39AE58722F5A84FBF7A09D31AC8D7A8A78C30E00EDB3B062C635C6DB\
-29472989F3039DB7319AC5F806E02BFAD02BFE61C01BDAD786DEFA6445E6F36E\
-CB3773B5A509E14BD414491DF694D4C5E798A33B1E4A0D371DA83B4C7B8D8D9C\
-7C8AAD77FE9ADC5CC67CFA0C9DC0772435EC455A6BC7F65D43E1B5653A80064A\
-E4EA6D910F509E16BBA32C3949BE9037F52A9A96AE49ACE787BEB0FF28E6061D\
-DB8004F4B34F65FB96DB8173AC72ACD89CFAA3428944612D4509546A3CBD0AB1\
-5B8C9CCCECF2D634CEF7D7DBB2DB35C107E7E3E6AAD6C8C73FF22166FADF2C6B\
-4F788889B7720A43EA2DA69203BE545C5A7897A8B9971E5EED87C3D57072A985:\
-426C696E672D426C696E672E2053686F75746F75747320746F20744F332D6833\
-723320616E64206C306E2E20416E64207468652052656E64657A766F75732E::\
-C4F7914A7930FF55A16083CCF84D72F03C900374BF60145EDEF156AF48ADCBCC\
-51AD3912EF0F27A84AACE8CF7DB7EDFC2133BE617EDA7AD5C69C82C2BC1532CC\
-04B005CE6349EC5F4951BDECCA0D65AA5A07923570A23F51A30C972B0966B2C7\
-FC3D0821D14555A2A2EF281AB0D533F5C37FA6B3A683B794C8770CCD41BBE418\
-262D1D6EFB98108BEFA271BA5441FCF68FDFAA450E02AEB78AAE5FBE8FE02D37\
-EFF8D7D250503F6BD5E6805BEDF3177FBBF8DEEEE4D2A36BEC34106B7E2FA7ED\
-1874C9023B6B71CBA87ED2954D0B0F52C1C51D8242B4012AA22689F9FCCA74C4\
-C1BEB23DA240C6FA183A2AFC494615382D3AB7C3A96601C2097B381C5EB5F530\
-AF1DA74FB05BDBC52B5F08030CB8C3518D8B9AE17A6164A781493FA7827E1E95\
-7EE09D0277019DE3304C03FA8071F8A4C720290DCF4ADEBA54C93BA3B71F886C\
-D20D959424599480BC35D7F6D6A3B0A112BCB5CD99F16DEF87B08816497E9B6A\
-6FA9D28049239776B0266AA28557D3B811B48FEB601E6CA16951CB899D6F56C7\
-828E37201420A9A51360750698BAD1DB0567BE0A3CE32CFEF34566FCEAC272FF\
-944FB8990C29A3430A5CFE9048D8F595B47AFA93CD910FEB471139FC9D992EEC\
-BDC0DD304AD20F551D2AC1AF97AA7C2F058DEDD9302BB7EAA3210748B49BBA81\
-95BC3B83719656AC55773D0A49A9F74F0DA0FFFA76BAF700F430EFCE96DF961C
-
-[RSASSA/EMSA3(SHA-1)]
-10001:\
-33D48445C859E52340DE704BCDDA065FBB4058D740BD1D67D29E9C146C11CF61:\
-335E8408866B0FD38DC7002D3F972C67389A65D5D8306566D5C4F2A5AA52628B:\
-45766572796F6E65206765747320467269646179206F66662E::\
-0610761F95FFD1B8F29DA34212947EC2AA0E358866A722F03CC3C41487ADC604\
-A48FF54F5C6BEDB9FB7BD59F82D6E55D8F3174BA361B2214B2D74E8825E04E81
-
-10001:\
-D7103CD676E39824E2BE50B8E6533FE7CB7484348E283802AD2B8D00C80D19DF:\
-C89996DC169CEB3F227958275968804D4BE9FC4012C3219662F1A438C9950BB3:\
-74657374::\
-A7E00CE4391F914D82158D9B732759808E25A1C6383FE87A5199157650D4296C\
-F612E9FF809E686A0AF328238306E79965F6D0138138829D9A1A22764306F6CE
-
-11:\
-D255E2DEC6F7B4A61424CCDBAA356FAC0D29CA7912EC755AD4C72D8F4C4ADA5B\
-51790C518C074098C5CF97CF651AD8F5D2D3926BC16872D69DF533ADCF71251D:\
-DAF30344A35FE911419B2BFB9C8B461B57A1FAB11DA8451391357AEA6B81348F\
-5CCC4E23B38D3DBA82603CC52AA5F1BDC6F37015246F33CD02C3027F557A265D:\
-7730307421::\
-A372D1D551F9260896C2513932A0828748086C5AAE2E8B5DFADEA3250E9A8748\
-3C9DBA5D6F3513202510C2970624C1EFDE858C432DE7E50ADCDC7D639C30AE8D\
-9D3B6E521AAC286D8613223066559148E6B06EFCEF9799541447C468D6B49ABD\
-E9B51B14B34E475B3D04A6747DEB2CCAC5400D1032DD977C0A98D79A74EB38AE
-
-11:\
-BFE1C1173207E6E33F699074865B0C285CDB92A7973DD2DE1E10F525E845DDA0\
-2A2145CE553BC039DFEE68AA6826855F9DD8398820536BCF83EF422E2E75A93F:\
-C542F0BF4CB661A6D3B0FBC3952BC85BF7C8A13F81F3D66A78A39A1A4480A172\
-26B913A53D0AF44775D76E611030782BEFFD979C74BF3483A709FF1A58F140A7:\
-556E7265717569746564206C6F7665207375636B732E::\
-0B43E57A2A216D15795C2538ADFE794FF0D4342CE4F61D0D0A5E7F38A2968F9D\
-6A032DF4B772DC7E0AEE89B5BC829D3F0BBB05758F0B95A10CF8B26677862737\
-CC3277443E4B5D162182B326723E210A3E2D8E6E9BFDC7C935CA2BF4E57036A5\
-A83661AC1EACC4033E79FD2B9EC525623B1EBA9F13BD70822EEFD0EF443B0993
-
-10003:\
-C739CEC54F45D25B3B4D69D70CAE94F2B5299A406F4F045076ACD84687A59E8A\
-1AFBE7DBE229186EC588D12397E401CE51A42BEA67CB6B10C984C117E2CB876B:\
-D549FD1428B28FBFC7CFE760D16AD9E4BD6129AB407AD79D4B964F6362B78DDF\
-AF20C8EA51471CD49A5E329F49420571F3A6E30E781BEB80CEB1CD7E07F57D61:\
-49742773206D7920626972746864617920746F646179212053656E64206D6520\
-736F6D657468696E6721::\
-1EE0E873EE0EBF9DCFD452596D731936F8115BD3EFDFA2D1383CDCF04B97DCE6\
-ED35853C19ECBCADAE81E431BD31ACBF9E4CD709D2490E552853FD523D6C680E\
-C59A0E6E51DC0BBDC4E783608BACF3B6648931B5DCC2979D932652A42D9F0EFC\
-6B1E6AAA85C97BF5DF88736BBDAF33139B729FB0340C89CED70AD556097EBA0F
-
-10003:\
-BAE8E1ECE4B7E06903A894BCDB1E4B576D8C7719D23343814D6EA2B65E26EA06\
-ED68DAA07048917EA74B8A75B6DF6BB68060BE68F3C0594EF99DAD5CAF9C2A75:\
-F1C1AF40EBC0BBD628E105246AC61FBDFE7C926156D8A644F6297C758500DC4E\
-943B392014068978BEBB3ACDEB73358D1E1F035DB73D01BDCF0536928EBDE885:\
-49206D65616E206974212053656E64206D6520736F6D657468696E6721204E4F\
-5721203A29::\
-4D0AC8B75C4338C456533A431596339617955F786998BA05BFE41A4BE24AEBAD\
-DF92201340E076E7384BB8E211FBEC7662573C1F63915E3033CD6C351D7CDAB8\
-AED5F3458AFFEBEFAB21612BF742EE012674D04AAD37C592775A55D6F78C6674\
-DFC0F927303F486E82AFDAFE28A55660E91687FEC0CA2AEDDC83512BEADA05B2
-
-11:\
-FBBB490DE6F5F485B0A25B71394A393488AF8131B5391C8D3F99ADAB2B5B1F89\
-87B9556C5FBF2F85DD56BA0F9507C500787E07C88726476F56A07491CC4FB97F:\
-E1C5F70CC3DA03313682723C22241CEC93AAE0455B59501F4E6603E790A06083\
-3710E9CFBD2D8472E193C0B9433B2290CF303389B3CEED97CD1F5C934AFDCAF3:\
-57687920646F204920616C7761797320656E64207570206C696B696E67206769\
-726C7320696E206C6F6E672D7465726D2072656C6174696F6E73686970733F::\
-4AE5B5600003871EDF01BC589DBDE5F5F8B558AF6F286D09572555FB4D34F640\
-173F0D17AEB67E18D05CD598595C78AA4E1246DDB0D311F38E3E21C02241F4F5\
-542B872DA50ADFE17407DC115C14DCB35847C3AFF8914967D8714B89CECC5745\
-C353D9831AE5B2C666A3077D5AC1131160AA59113193278587308D3E5BAED895
-
-3:\
-B6E4B50A4B61F147CC30C319CCEBEA1BB8151EE3012BFD2C80E8B13DBAE1657E\
-7AED914E80A26A4D1FCAFED54BF4457D609A33C6AE7631DE9A310E3EFD4353F1:\
-B841BF00069AE6F05A68CB11FF5E6389ED0C8AC9D2DBDD24CF0E0076B05FC226\
-E771C0D06C220908A559E5BF6626537B265B8D9C50E05E214724155F1C14A7E1:\
-4920616D20736F20677265617421204920616D20736F2067726561742120::\
-24D98B51D0419DD3D987D7E51528F571790AC78D2C80F36F64C7B4E05D90239E\
-8A5D9D7F46D636741B9F9A1DA58E58002D268A814528A4BF6B0AEE3B8EFEF0BD\
-72C956E4895FAA28E3EBD13E7EFD46A7BDFC3872D220EF4A2455E6CCCC407411\
-C2274D7F2BEDF4A727B569BFAE999F910BF69F5689DB7686328F97DED76C64E5
-
-7:\
-1343E65E7C11BE13536BB8BB569AAF091119ADE46FDCA9AE627910A39F9F909B\
-F921EDD9AB862813AA5AA5969620FD97ABD051352C89A336E420D1BCFB37A9CDF:\
-10A76D6261BE5FB018492566D9819028CA13B55A982C8A2A7CA31520124AB832\
-0F583BD5003F0E800775664DE2718481C15C841888350BF980D8F3EC017B9D851:\
-4920616D20736F20677265617421204920616D20736F20677265617421202831\
-3032352062697429::\
-0069212B4D49B93D56DBFD35534686BC4CE5EF057D3E5EB08E38C0CAC44A33C8\
-1ACF7E54ACB2F7D7029F63778B55D63C31E0FEBED8AF57050EC46E7C6B857112\
-B8A1FA0B4D5C11F976D01B5F56EBF55C678393CECFC801E51D6040A3631A0E77\
-56F9E81E2FF7A03E1B8A20F7DFAE90CF631043029AFFE3F615A54EA68ED470B393
-
-3:\
-1F16A49C815B9878A399B22419F0D948B33E8D7367A9F5928ED63146FEA7C69F\
-6C8A0EACA711970E370FB87CA3CCCDA71E1DBA9A12DBC003ED79F545876BFDA7D:\
-1F5C7840900C1C2E18340C156F8BE4EE70A4A0603412E689602C93B09FDD205E\
-23A775E7E1EAD3078EF9D5487D8A2EA5BABE8EE94AA0536CBA268B3BE7AD4B519:\
-4920616D20736F20677265617421204920616D20736F20677265617421202831\
-3032362062697429::\
-030551DE7296296876189AC2155EA4F80B3A68EF2A51F926494821E038A52548\
-4BDCA8CC4525D4BD04BEE373313D79DFEC59E22F21FB853C688FF9DA4CDCF6D1\
-2255BECED6DF3EFDED6046D4381D69B89EF17B892685707AE7B49E2205D95F73\
-0A1A003638FBCDDE5F4A5AEB028252F46195DB3CA1C708AAE22ACA7687B0DD2401
-
-7:\
-2037B35FDD14FACFA8B6DC8F48EC575F43CE8E2B5B89375A6FDDE1CFB66DACB9\
-8D7C57CE0F025BC7DD15533233AFCCBF392C0CB9DD79F49334D31F1FC0D17465D:\
-21265626E63E26739C0D086C3F19D7C8DA5B2FCD1452CE5290FF16F80AE6CDC3\
-49722661765B5AE418F23FBDAE4048C4FBB845822B2264C012ED6A8A257365F69:\
-4920616D20736F20677265617421204920616D20736F20677265617421202831\
-3032372062697429::\
-0090FD2E6B167F5B8E68AD965C170F87E2DDC69BA9312DE03B79018C90A80BF1\
-67704999C1A1B8AD31041428DBFE74FD89B398F5682F252DE85E19F33830CA2B\
-B775966C01EFCD6F95A5334DCEF07A0DF1F1114C21FEAA03D619EBCA60010F47\
-F671C35D754BD63DD5045E45CA21F7CB15FE2731AB27D91162D52320A540B17AE1
-
-# Following were genererated by Crypto++ 5.5.2
-11:\
-B7B1C37488F9585ABEE4F6C1255E70726F9FEC2532D86321:\
-C22463589E6BFBF3D9ACEC3D29F978BA3CD80D48478F40ED:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20\
-64617461206D696E696E672C206578706572742073797374656D732C2063727970746F\
-6772617068792C2073746567616E6F6772617068792C20646563656E7472616C697A65\
-64207472757374206D616E6167656D656E742C206661756C7420746F6C6572616E6365\
-2C207265706C69636174696F6E20616E642063616368696E672C2073656C662D686561\
-6C696E6720736F6674776172652C20776972656C65737320636F6D6D756E6963617469\
-6F6E732C20656D6265646465642073797374656D732C206D6963726F6B65726E656C20\
-617263686974656374757265732C206D7574616E74732C206379626F726765722E0A0A\
-776520646F6E277420746F79::\
-7019481E38A7ECA4D6E865FA22BFECBEE46963D4582419C3C79A272ED88630B4152AD9\
-336B08DE71B5C45FCE6C45B925
-
-11:\
-D83C1647F81DF86BD9F30E06C54CB22CDFB1BAA3224FBEE7:\
-E57DB05FC990CFDE83B59433D37C69CA6079AB4EBC103C59:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20\
-64617461206D696E696E672C206578706572742073797374656D732C2063727970746F\
-6772617068792C2073746567616E6F6772617068792C20646563656E7472616C697A65\
-64207472757374206D616E6167656D656E742C206661756C7420746F6C6572616E6365\
-2C207265706C69636174696F6E20616E642063616368696E672C2073656C662D686561\
-6C696E6720736F6674776172652C20776972656C65737320636F6D6D756E6963617469\
-6F6E732C20656D6265646465642073797374656D732C206D6963726F6B65726E656C20\
-617263686974656374757265732C206D7574616E74732C206379626F726765722E0A0A\
-776520646F6E277420746F79::\
-340E91C744AB8748E6891202979BDDFBA6003FFDAE83584359BF6FA5CAAFC8E811598C\
-5985CAFBC679417B64F6F42B02
-
-11:\
-CC1416D18974D023AF2D6FCA7BEEE85FCE5F036739E2AD8D89032C591C3B50498971F4FC2E25\
-384B789001D6526F4733963F2D98BCE1BA53121D15CE51C0C237:\
-EB2CB9DEAA582AEA4B7322C77308CADABCB824A2E511B93CBCF60A0DD6AFDA456A7FCEC6F7DE\
-F2F7CD3EE32C36BBD2A4445F2C6DDE86BD3881B25CFA6B4EE279:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-3B2CB445D8A533B0C3CF4C05EA87C266902EDB4CDF9BCB0289340253DD3110753D0712AA51FE\
-91CD0E59B73226BE63673FEABFE472BBF136B0C8F4A803284FE3DAD892233A8E81C97406E065\
-C5AADC4DA86746EA88E7E107FCFE1C925AEF5E5E4C13E76BE2129F114527A467A6227FE22BB0\
-2B6866ADBA5F6B11E8F85DFB4A8E
-
-# Generated by Crypto++ 5.5.2
-[RSASSA/EMSA3(SHA-224)]
-11:\
-BA54D5BBCC6D8E5A4DB29FF530C38DFBA7F970DDD062B74AB768F4E44353CA6DD790F4ADD677\
-38BAFE49D30ECDF22C55A856440F43D718433D5A508BF6A77183:\
-F08BDCEE74246EDD61D1FFCECE322630219FC68EFB5337AC80AA88630D2332654397759B18BD\
-F709004AFC150F2EE339B60F72E16C1BA3B6EEF910F698C2EDA1:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-9B3E6BA1DC0AF7133861A0EA2B956BE516918292AB708FF762548DCFBB02B1742AA3331DEF07\
-7504718F827C13E27F9102EE7B93D36E601C5A3E687F2F7289A20BDA7BDD1463BC2BED074AB9\
-8E7A4F3A0ECD579E8F40679D877DA0A8A7B97115A1CB965FD0B3BB65C84F62E5BE38E6C2E328\
-D8940DA14522E53075386712B8A4
-
-11:\
-EB5C08446CE56F03AB2B0AE7A4D9E4EF1FE2D706FB226577B03CEF9F004B3FD258814319F586\
-BFBAC234DBB5E9ADA33F638DB333FA948824C0C5F917E05201B03CAB20558F7D7CDB0DE42549\
-D51EBA4CF93068433F02727472C2559626D47A8E071B0AD848FD5B35965FB8E06DB4F65995CA\
-E876227DDD8A34C401ABE5BCB11D:\
-F4833CD56CEF4C9DACE2039CA3FB287172CF37C899D1D3267EC0D14EB967E42859A001CFA440\
-9DC1D8BA4952C5EA13D12FC4C016617F9062778E5B9F3BF0FB79C2870BE355F39BACC4B6178F\
-FD0B7A1C8B545A3FC781C1A2D54A962A93F7E41CE144B6C6E22AD3CF61DDB05A8F27508DD5AB\
-6725D8D0579732E621C33360ED7B:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-D685C80FB40EC09FC602880E6E55BCBA96332964505BA8BDFB8A181DC6700C2CBCDE6BD35E13\
-32E56FC5F6E2F80AAD046F9CCBBA36A6E3CB115969A2AF661CBAD42AC0D3C22662CFDE9C8544\
-E41018E88D5BD173AA59D0FE5FD0731730C44261E792F7958C76D7587CDDDF9AF0B99D70BFB7\
-4D6DCA952ADDCBBBAA711E6226E2568E532AE8DBF2BA2AE80F35DFCE1EFCC11BF68C100B32B4\
-8B2D4E22D782B42C97DF8B18164B3E73CC6A129F99E11AF30830A54376C9A5BE4A7F7B3C0115\
-F2B595EC5A4D841D55048E6BB226FC53D5998079E5F38D51BD1281B77E9E69E44DF8F1ED0F6A\
-BC10D2E11B941ABE6238ECEEFDC277EE6719B43F54317E98029AB437
-
-10001:\
-F75306FB8700184C998959EB1D271B3DBAB883726D270E21B91CA78C1BD148D1D428533853A8\
-8E4AB4E4CB033CF27E2A8A6C1A12880206D6B4D74A9373F35B5F:\
-E615C504FD127394B4522FF5BC0143C93A07636D184B9B40DF6461E3BAACC23AA1937C52B06E\
-95849692465060D092713D36B9E49FD76CA86D2389CF1B0F1A73:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-04C401283813191B750C8F6CEE6C41C1C9ADB7CBE26685E568D046D7F073775F19F9ACA0A43A\
-B9A6C200C07174C6AC6A67E89B6367DBA7135DC5C2236218BE42B7DEC0A40C1E165BF24F9B33\
-E69AB196B8FAADBDCAA657512B1641AF7D0DBBB9BE1BFD8895C6B79EA30C104A5DF1380182D3\
-D2C9B553D59F564DB82D7940E18A
-
-# Generated by Crypto++ 5.5.2
-[RSASSA/EMSA3(SHA-256)]
-10001:\
-B6661EB38B9C75A91E65FE5E6743C6949D6415D57CC4BCE84ED81E39EB8B4A77A867A15A3415\
-5B7E1CCCF972D6A06D73:\
-B85D9FA07D4F7CE1CF05150256FCE15BF7E647CDA350DDC574E72104DBDAF1F1F87930D1FAD8\
-C8E3094746ABE9E8C46B:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-275AB9846DD6999FDF4FC46F0E454B3CFF8C125096C0880DA957D65766A6298EDB41AE0F33DB\
-9FB15F9369E98B2738B37FF7165175E529B2349961C48B9459432FD58795052ADC2506D0B5F8\
-37879E771C66F59880F1371D78290B03F86454F9
-
-10001:\
-EF97A42D03FAA9A42A22D161B7819A932C4C5FAF5338A6E57C4379AE8C0A32C924B1398A53E1\
-37409B322A0E793090361417290C159D7B34A6A62A0D2E84D997:\
-DAA28E8CB6CCBF9A4EA5884AF7C791DC08BAEFEAB75F23EADE53A7D29D26B35CBE806C65886C\
-70597A03007949F556924E7D60E5298689E4D5F4E46311E48BAB:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-23223B652D5D0A17866DE55C77ECDA94A3B69ABB8CE335E5ACC03FE33A7D2D8257FF4227036D\
-CAAD05820C135E2E5F332A01D77BE4FB3013529F6B1B9255669FFB64C134DBF01995CBF24C17\
-35AE0028381B40A657E5C28D983478632C7975CD0C776CD8CFC3796DE7D8FDA86A0112ECE359\
-361B35EB6DBDC7F5E44D469AED13
-
-10001:\
-D3B065134310F6A02A68E78829DBE58C5AFB148D95B30C7E54D8F463F0A66DFD3A78E2A15A26\
-18D5C6C972AD2BB14785E524CAFBA3B652C94D8F2579FA9C1F05:\
-F2CD098B9EBBD2B5AD589C30FD963EACD78D559190EB4D06880C8BA12EB55404D43AD51562D4\
-BC9B61B304AE664D22290AC6F4E20601A4DB97FE16A5DD0ACA5F:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-382C32D8EED4F7364BF68925FBE83338957605B064109AFF275457A3EE9BE4FD1EC1EBFBB3A4\
-72C3395F44DDBF378FEFEFC2B64CBFBC9C557B315DF6E8016FE3BBACB56A7DD3505F16A5F4A2\
-469250C77CEAFD2DE55D2FE96250E50CE813D529A909B8262456FFEF298D7472A8F5264CE667\
-24ABDB9F65C64C3747227804BCD1
-
-10001:\
-C24FBEA1E9F303117CF19C1EAC7721AF5DC228E39007336E48B1462CB5E7D2C9E61A69E8F501\
-FD26E71F5D881398A5FDE56FF565EED8715AA2CC0B46D78DB74F083253649A22E0C99DAABC26\
-3E87FE3F713A1270FBE3843FA596F35D43E577FB:\
-E346A9F2672A70264D5F2EAC6F17FEFA50457ACF92F30F4E849ADDDE6F3B95FDB6E17F55B939\
-D50FEE1D2F6114B0F7FB74AE8B4AACDD491FB085B2ED7D125A32121DFA87F2319F8357BEE127\
-F103EB1B31D98A52403498476A1E34F18B6CBAFB:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-8F4A78545DD1F10329A692EC66DBAE0B5D3302FCF6AA2561DF2CC73FA16C71EA947C919BA326\
-50A7C1F7938BDCF75C4E77CFEA7BAB8A083EDB531F95B4A67CF93CB5EDFE6B4BA07CEF887CA6\
-10C9A917C374399BE8CCD4B84BD15295C02028502348278E50A64D4B990E9F754C64FD55B8C4\
-E6E7EF8A2A2182864159A1BA012F325B3BF7F1B23D44593B749E51F382C290FBC6AD65EF5011\
-47F3A9A5A92AC5EBE4C82E259A212E52C95F94BA91CDFA88DF26BED55E4305EB08675A430CAC5B04
-
-# Generated by Crypto++ 5.5.2
-[RSASSA/EMSA3(SHA-384)]
-10001:\
-D6392D7E84F9A7233FAEE9B2F386C7921BC9974393EB3581EAFA66D8E7DDFB75BC2F0AF8A674\
-6563FF9C80A420B56BD1:\
-D6D02FCFD0CEBEC15844AB927C37BAE12E8EFD552FF706B3B632A30E5FC14C39BC0ACF423C73\
-C412BC8AF0A473276283:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-8CF24497F9C2DDB9183822444F2074CA22C5D51B52E3F513919EA69BDA0082B9C40680EB813B\
-E914E95EB9DACD3A3A238AAA675FB7DEFD55D2F981D5B3D6B9467DB8060081AE6F56EC7C0FC6\
-E6E078D614497ECF896DE4DAA4F679F683FE0A2D
-
-10001:\
-E39E5402011ED488B404C162C767046DFF79619DBA222F7EBF8B0FF0525F1213DA8316DCFB6B\
-35E22987CDF373EBD91F9467491391345DB4F15DE2D1928563A5:\
-D1B9E418890830E84D570E5209BFE6BC5A619C01F27E7EEDC1DD8FF0153B5891FEBC94A1843B\
-FFE8F8D3CEB9351CA75EE208AE2A9EC08DD52445AB3194489553:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-64A89B5FFD98351CEFC750C278B2E4A8808EFD83EA57FE6752AE245E058A2BB821DF2AE980F1\
-9618C2C6201CE72FE46F9E9CD0502B12EEE6A9E180B3FF61C97640CC82DB7D583FB17A78BA88\
-86884FEDB1D4F27929A203069B142FC314D27E4342AAFFC5100F7BDFF8162CAA98DC3A8A1F5C\
-5DD7B7234F67F1AEB34D911E7CD6
-
-10001:\
-C773EB83CEAF603D4C2D187CCE60A2564C7358C318E8817E183BDFA03BFBDE7EAB98A3A42E97\
-30F5E9D6F0849B438C7AB00E3B3032DEE05CBF32888BD63245CD:\
-BE95654D6DB5FDEFA2D3CB805687BD08D859982896071C433CA0C5051A44D8F49F1311BD35C4\
-9C8B6CA0CA746BE1ECF2126302758A5423BC0926AF4E96517931:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-519A0A554D5C8B4E749CDD92C21DCD8CBD5BB4494E9F15C91876F073756A896EE5A983A9AB72\
-6CCC6BDC0AA093B6643D683BFAAFE5BCD1A637ACBCA2B14C652C4926671A12275D4B3BEAA8A9\
-D5C57182B7AD6F8C89FE6A2555C8B8057A431FFF5BF1902E52183FFAD4D916563EA765809E92\
-6C626505FBDCE74ECD70F1EADEDD
-
-10001:\
-F914636EBBB1EBF51B642B8B8DE6BBB43390119D517139C9C6072C60A16E9E4CBD0598F929FF\
-D6B25C904CEFF6A434FD101B095E3AB5D454D07D813DF7823CEE33F638519BD2103E014DE215\
-0B6D8BAFAA698BB5619930FB39C64C3C1C31E72D:\
-F06C3A4F26E3144A3030B8424C41A7709812EEDABF37FB919DECA5554EF2AA2AFB4DB9A0986D\
-10ECFBA5897F43A7709FE7D3526C57A6EFAEFC116E26ECE0C577A63CF83638EB24911FAF54E0\
-C468215BAA4151178ACF872D2E5B3399A97C31F7:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-3577C7731A6D1E436F66F4367AE53EC80A3B632A8755DA97CA1DC7B5B7D6A946CA0D6AD0BA2B\
-B6C0EB8E2BC74725B606C00D6E96C87B75E73FD80F68DA2C829C57963855A85A66FD857FBF2C\
-7BF584501E5ED58BA06D5CE73FAA45BBE2F5C806409507A7F403E95FBC2971E0B7F399603F5E\
-EC3A67F4C912369A9FE03467AF0139CAF9D92A1364ECA159FBA485A73A10B9AA33667810707F\
-E8061F3632C43178BBA3C5113734F50A6360347A6119F87AD6A7A2308C9E42FA5FE096558586AC0D
-
-# Generated by Crypto++ 5.5.2
-[RSASSA/EMSA3(SHA-512)]
-10001:\
-FF1414834AF27B94F7818DC435D95D756FCC9F4F4DD9B25FFDC23BDACB511DAA9F76E39B411D\
-AD20D543AF198F8CC867:\
-F025AE2AC9135A5E23B1D90E17DEEAA872D45E6700CF011015E949429D320142EC0A802B7863\
-C8BDF99313FDAF2BF5CF:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-0C98A091C5B53A71F0BA4FD4CE5F58B0773070C05DB916B4FCFE5298267F28C457322A3AB262\
-E44079CE440DB56997AFCF30AF33E13DE774D066F07B92CBB8B6321F2DD967A94524DF050A1C\
-67AAA05D28C232472FAB214CE819792DD1147750
-
-10001:\
-B876A61A8F19113F9D5396BDDB5F54FFCCF8A35D1255979C797246F96D94D99A5B000B2DE9AB\
-81D1BBD16FFAAA092029500472F1FAAEADDC9E8D077F2E694B81:\
-DB86AB91CF13E90943B0D18016DADF2C4702AC4D6989299CF8338C3AB1620C8532D5297929D0\
-C1A0F76AA4D4DFC78D5D407399EEF35483BA6C8ACCC0A0C09C05:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-84E79B96AA2A3C43EA41FA415ECBF88D3DF93C15D8378EBC51CE114B6FAB16A8B07A3DD9148E\
-D1018A0E0385B19BE2AAEF0CB7603E3493DAA92C1ADB18EC5489BBCEAB9FDBEC41B423109A74\
-551425DBEA6A52A61530ACB8F955D102EBDCD15F2C96F01461DC1F196A87ED25F0B61DEB24B9\
-B7A02324B095219D3EB01855A40F
-
-10001:\
-D37A85110EE0F0CF8843EDFA1480F3CA4798798B5B592AD80F40C9E42BD21B162979F6002F64\
-EDDAC84E1D6DF41E02ABBC85D862B9ABE6B38FA9193701826CC9:\
-F3DA6327A3276EC647E5B1B9E8846314C2F7B5E84D3DA78E1EF18714158CAA3D700F438A03A4\
-D45A8B7422943F64ADCD582271BC30A687F6FF73A26263E89621:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-C18FF41DB165E740B5BE6D649E9C5F01E4C84862FA453DBD12485975F4BA802A460AC263AB1F\
-BCB53ABD46CA057C195A70381A83707515B154E2B5DA3529C8986034C47F6AE706D06B96D5A2\
-4B9A370276CF93129DB3519C15BCB2A35150C7EFE1B06CAFDD7DAA0B111E10DEBCCF53C04CF7\
-5D86DCD03F9B2C20336EC3FCD1C8
-
-10001:\
-C1CC91EFC0B3EA7938897E5675CE09E44A531492742770EA9C2AF96F7614F6ED4B6A17E85DBE\
-F6A24652CAACEA68E4E0F4100BAABE78F744668A973727B3B188194190F67D6E4E152E1498F9\
-45E7714CAAE6C37E215E2511596720C7B9DE49AD:\
-EB4D1A619C6E3947B9E3B07C84DD87244E130251B3F9C5D22B0162DBDA3BDFFED664C14848E9\
-9B02523B3D382D15546F8414888E4D3F95DD542F48C46CEFE19A85F36D98DBFC4BBBF3B5A1E6\
-0BCE38DC5DFC787C5D4C3B72011CAB73912A41F3:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-0437766509CEEFEA9ABC433289884E578D65BA463C572ED61BF3A48AE34769E8DDA73F2F4898\
-431068D518C16B7057467D7402796A0665A7FC7C4D8FD30077D4ABC08CB1E5207D78F130843D\
-42928F1968F49A87481B1B40B441E6E1135025BB23F8A9EA1F43F27EDF03FCF36EDFBE418A89\
-F7C11184571D8D80AFCEDF41A4F93FCFBD73A39D7BFAC2E263FCF91D4264E8571D044B1D568B\
-BA6F228FD47324132B2274EBF26CD4BC7520A2DBFFFBEE41A5DF72A5D8FD2C6647E62C28F04995AB
-
-
-[RSASSA/EMSA3(RIPEMD-160)]
-# Generated by Crypto++ 5.5.2
-10001:\
-BB305054066BEE5B66E9C651583F6B5F4005D3CE970520CDF277EF463EF1EF1B10E9428C6BCA\
-4254F42E40F0040C7577:\
-BE54384C3A200BBB597B8A59F8165D553B24B2A9F96236521580AB79924EBC6095E0905E58A7\
-C1BB302DFDA4FE489395:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-05C9082DAF39A7A706F6AE5CC1FE1A26F820301257DCDDB7B4DD91DB01B472E4C855E1AE6108\
-C32967659C69169197949BA58A194FFDE8449911FD5A8E7751A4E15CCED118DF2FF677D89827\
-99A76B59409BC76A31E696B26FEA324EC2CB6558
-
-10001:\
-D59E1378C1E752ACA0454839C11AA792AB2F0064920CABC3697A1701671DE4178103D8C619BA\
-12B453B3575BAD2E61CDD02C4509F188FF01B052121E2EB8634F:\
-F9761A2C67B685690846BD6746F0741FEACF188808B441CC66A54FA21B68C9CCA6F1BE26BD3C\
-CD67C11C0B6CD048CA5904A56F368D16843EE1E086B4A8461C6B:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-50971DC72D885146BCD0AE6D48271A71FEA3EFBD2B23F94F07333F421939F44DF8CA92CE88C0\
-10A65540F904D6FF9E2C4A4A0755CB21D6181581BB77FC58042A1A6F9993B24BC048B06F1985\
-A08CF902C06B0DAEB3997DB94398FC26C7E3EAF0D0787BFA3370C1E5E186F2064B803679B05E\
-481F0363895240FF54FF88E03C59
-
-10001:\
-EA0E165F4F81A6A6ED0FC49F26DE95FB7C42ACE29E650EBFFA2B1093389C987EC43B601B02E0\
-D3596D9718062CB071576D31BECB98E53570187CA122F3E20A83:\
-B731579363899B63B6E8857F983E0AFB56CD07EA8D3225A7A182BA2EAB6D3BDE2CC43620447E\
-A2D76947A7BD83439213271002261749F3E9F31E30209106F945:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-5A7A06EAA128549977CD5C0CDD8E1E4689EBEEB06B6EDDC2E39FEBE7BCF4D0068CB14CA8FF11\
-853C00A868F3B520F6503EED8055E9801AF20A277232C037079ECF06AEFD91CFAF387E4EC0C1\
-2C8D4635C5FA5FEFAD2F67E770FD7FD4115FF98A9B4883FC9D2BBD236126AB45EA3A05BF9F0A\
-355BD5F2AEA9158C4D70DF4A83FD
-
-10001:\
-DBB4D78472CE88FD41DAF8F0A6AE2D147BF34EDFFCD14B3855F5CE7C2ADA8AD08569BEA843B1\
-B568BE73BC7A567175114F8F493BBA87E777426828CDF044E08D1DB7E54231221FC64DE7A993\
-EF4281687EBC11E654E58BDAB125E289CFECC779:\
-D8CD194A4EA3650C927355B187BFE4367604F4BCE10D7633529455A6D11B8AE2745F9A3F0C99\
-D85853D0D645F25D7C9D03AAE28AA85FA3F434D72BBDCDB74AF5B2910B1BDBA9618FB5ADDA0F\
-34E201003E832764A55E6B625F2BB66DC124ECB1:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-85A0774004DF91004DF8A118EEB46EBEFFE690C964BC2F4D1429C76FB19B44969BA80C492FAD\
-BCAC6E36A1F118C3AB8E9BBE0DCE93E7B938E97177B3621CAAB19F1CBDC0AE9261B774782FDC\
-D2DB62AEB93F2EFB16386C5D1439A5CA6545D59FA11BD330BC0F49336FADF0A7EBF2636F6037\
-364DAFAEA4FEC9C290D34CF68FB1D9698E36385E56058CE62C0D25B98F95DA416AE9A5697CD2\
-6305D8DA193C7BA1AB9F66EDAC9087C9495B4B40B50D9812F2F2F6FB9FBDAD19B243FAFDCA7CEF2A
-
-
-[RSASSA/EMSA3(Tiger)]
-10001:\
-D402D64E23A5EA4FE4A256B14BBDF89832C814E0400B3C9673774073AE5D6EEE039C0744D486\
-3A0492DE49D402066A69:\
-FE7202E1A686745A0576A21FF1603090EA5CE042BBC943ED9BD4E931271542C77A12E6E1B5E5\
-FEEC5B90B5EA27D90237:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-908DD085BB0A924EECEA7F3DBDCDEFB8989A1F6971DE434F227289733F24D3F66AFF294BBF9D\
-23E80CCA352F232076397D5A862D4AE32DDC901C67416FECEAD311714105FF46044B0996CCC3\
-2938CE2EB5A95EC8E0631516BCA3855C82A712B7
-
-10001:\
-E826441E9CEDB949A69AE8C15C088F507B3095CAF8BDADF49F317DEABF45113F70E90910C182\
-EC1A2C433FCFF181CECC9211BAF3943517FCB32383F4CCBE526B:\
-C3B08505952722C91C384AA7962FDB3F96B27EDA6D7C65D081D924BCF8CF8AC6B8BECD12AA81\
-BD8D0B6CC8CA4646240A66A3718F89DC324C5E315D40F90AA51B:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-0F41FBA33B6E3A11EF94F8FD736431288C277B2E00DEE94B447FECD215E61E19B383687911BF\
-B2F46C0A9EF1AA3A787487C88A8C43006BC7D4D6C1D6137939B6B815D532EACFE05FEA6BC3A7\
-57E2A625F4188CE30792D6C75F205EB2C6515FC639780A86E1ED56C32CB223C7FBA8479682AC\
-24FCCC993F32EF55F818DC2F018E
-
-10001:\
-E493B0520556D6D50DACBF90EC41772CAE3873000EF163A94CE9F52BEF1F7962D7933E727ED3\
-EB4F03633CB3868F59BEC993B7DDF28FAA315456CA381D6650D5:\
-B996BB66BDF65F2FFDE68C156848DEC56BECEFBB6604CB0FE04A404D592CD13EC44DC0C5511B\
-25B7D5AB808B3FC16873BFF19210AD7245FC806062A6C72F3A47:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-0AF90FE65CB6FCB7BE90C5090943DC697534F9ED3A384FCE6F85AD5FDA36644D4BD68A0EC363\
-98E7F704796244B4793DF320F6D034D62AA4ECC579474D4EEA0E5F91C82F729B5A62A8314022\
-9C5DA882A6EB0D7DBC3436B73D1B493BFD7ECD32E11716A424A5FB2195A7865D1DCB05FCB95C\
-BED76FC52A85DE2AA9A9C2AA29D2
-
-10001:\
-C0800968E0C6E46099141267F195911D4EE36876E7D79DC6CB679FB1FE7C18387100CA9702F8\
-3E373EDB3799CBD97BBE966FE8B4A344BA4CCE3FEF86275ED0C42A1089B90C63010A135064EC\
-79769D2FC2B44ACC280AA7601329C8EB6E9C1AEB:\
-D939658B1F8C590B3A190CBCDFB9CAD087033FBCD775D18EA9EE5461EBFDB3286A488D196F03\
-426A939BC387A864E1657FFFD1C31651D8A7CBD6E57190C98590EE97BAE08CC29FB9822B4949\
-321BBEE59E9F8E5CBA8A62A1F3BE75E8F24DAFD1:\
-7072696F6E636F7270202D20676C6F62616C20696E6672617374727563747572652C20646174\
-61206D696E696E672C206578706572742073797374656D732C2063727970746F677261706879\
-2C2073746567616E6F6772617068792C20646563656E7472616C697A6564207472757374206D\
-616E6167656D656E742C206661756C7420746F6C6572616E63652C207265706C69636174696F\
-6E20616E642063616368696E672C2073656C662D6865616C696E6720736F6674776172652C20\
-776972656C65737320636F6D6D756E69636174696F6E732C20656D6265646465642073797374\
-656D732C206D6963726F6B65726E656C20617263686974656374757265732C206D7574616E74\
-732C206379626F726765722E0A0A776520646F6E277420746F79::\
-05C402CB39615771565E3F6E2C2CBC81B7528EFB38D19CB493E6F3525198D7B2604706811FC8\
-A28D9AE028C31326E5C43D1EF9F02FA74D12C9D8EB3639520BD190F2084E34DAFD70E761C9EB\
-1D410034A90A8475410E5DA5DDC5B5628060B1CEDE86E8C86D1ABFF24F2EFD725BEAB66957E2\
-464B57379308556D2E93F28743F4A652785B29247A5DB2A3D913C3B5C19ECC8F46FEB3C3C41A\
-4360D557BDE14022897F312FEE1F964508DE44A4B5CA23AF1D2A2D00C2183D0D5733E3CC3EF76A7D
-
-# These are (some of) the official RSADSI PSS test vectors,
-# plus a few specially constructed ones at the end
-[RSASSA/EMSA4(SHA-1)]
-10001:\
-E7E8942720A877517273A356053EA2A1BC0C94AA72D55C6E86296B2DFC967948\
-C0A72CBCCCA7EACB35706E09A1DF55A1535BD9B3CC34160B3B6DCD3EDA8E6443:\
-B69DCA1CF7D4D7EC81E75B90FCCA874ABCDE123FD2700180AA90479B6E48DE8D\
-67ED24F9F19D85BA275874F542CD20DC723E6963364A1F9425452B269A6799FD:\
-10AAE9A0AB0B595D0841207B700D48D75FAEDDE3B775CD6B4CC88AE06E4694EC\
-74BA18F8520D4F5EA69CBBE7CC2BEBA43EFDC10215AC4EB32DC302A1F53DC6C4\
-352267E7936CFEBF7C8D67035784A3909FA859C7B7B59B8E39C5C2349F1886B7\
-05A30267D402F7486AB4F58CAD5D69ADB17AB8CD0CE1CAF5025AF4AE24B1FB87\
-94C6070CC09A51E2F9911311E3877D0044C71C57A993395008806B723AC38373\
-D395481818528C1E7053739282053529510E935CD0FA77B8FA53CC2D474BD4FB\
-3CC5C672D6FFDC90A00F9848712C4BCFE46C60573659B11E6457E861F0F604B6\
-138D144F8CE4E2DA73:A8AB69DD801F0074C2A1FC60649836C616D99681:\
-2A34F6125E1F6B0BF971E84FBD41C632BE8F2C2ACE7DE8B6926E31FF93E9AF98\
-7FBC06E51E9BE14F5198F91F3F953BD67DA60A9DF59764C3DC0FE08E1CBEF0B7\
-5F868D10AD3FBA749FEF59FB6DAC46A0D6E504369331586F58E4628F39AA2789\
-82543BC0EEB537DC61958019B394FB273F215858A0A01AC4D650B955C67F4C58
-
-10001:\
-D17F655BF27C8B16D35462C905CC04A26F37E2A67FA9C0CE0DCED472394A0DF7\
-43FE7F929E378EFDB368EDDFF453CF007AF6D948E0ADE757371F8A711E278F6B:\
-C6D92B6FEE7414D1358CE1546FB62987530B90BD15E0F14963A5E2635ADB6934\
-7EC0C01B2AB1763FD8AC1A592FB22757463A982425BB97A3A437C5BF86D03F2F:\
-859EEF2FD78ACA00308BDC471193BF55BF9D78DB8F8A672B484634F3C9C26E6478AE1026\
-0FE0DD8C082E53A5293AF2173CD50C6D5D354FEBF78B26021C25C02712E78CD4694C9F46\
-9777E451E7F8E9E04CD3739C6BBFEDAE487FB55644E9CA74FF77A53CB729802F6ED4A5FF\
-A8BA159890FC:E3B5D5D002C1BCE50C2B65EF88A188D83BCE7E61:\
-8DAA627D3DE7595D63056C7EC659E54406F10610128BAAE821C8B2A0F3936D54DC3BDCE4\
-6689F6B7951BB18E840542769718D5715D210D85EFBB596192032C42BE4C29972C856275\
-EB6D5A45F05F51876FC6743DEDDD28CAEC9BB30EA99E02C3488269604FE497F74CCD7C7F\
-CA1671897123CBD30DEF5D54A2B5536AD90A747E
-
-10001:\
-E7E8942720A877517273A356053EA2A1BC0C94AA72D55C6E86296B2DFC967948\
-C0A72CBCCCA7EACB35706E09A1DF55A1535BD9B3CC34160B3B6DCD3EDA8E6443:\
-B69DCA1CF7D4D7EC81E75B90FCCA874ABCDE123FD2700180AA90479B6E48DE8D\
-67ED24F9F19D85BA275874F542CD20DC723E6963364A1F9425452B269A6799FD:\
-BC656747FA9EAFB3F0:056F00985DE14D8EF5CEA9E82F8C27BEF720335E:\
-4609793B23E9D09362DC21BB47DA0B4F3A7622649A47D464019B9AEAFE53359C\
-178C91CD58BA6BCB78BE0346A7BC637F4B873D4BAB38EE661F199634C547A1AD\
-8442E03DA015B136E543F7AB07C0C13E4225B8DE8CCE25D4F6EB8400F81F7E18\
-33B7EE6E334D370964CA79FDB872B4D75223B5EEB08101591FB532D155A6DE87
-
-10001:\
-016601E926A0F8C9E26ECAB769EA65A5E7C52CC9E080EF519457C644DA6891C5A1\
-04D3EA7955929A22E7C68A7AF9FCAD777C3CCC2B9E3D3650BCE404399B7E59D1:\
-014EAFA1D4D0184DA7E31F877D1281DDDA625664869E8379E67AD3B75EAE74A580\
-E9827ABD6EB7A002CB5411F5266797768FB8E95AE40E3E8A01F35FF89E56C079:\
-DABA032066263FAEDB659848115278A52C44FAA3A76F37515ED336321072C40A\
-9D9B53BC05014078ADF520875146AAE70FF060226DCB7B1F1FC27E9360:\
-57BF160BCB02BB1DC7280CF0458530B7D2832FF7:\
-014C5BA5338328CCC6E7A90BF1C0AB3FD606FF4796D3C12E4B639ED9136A5FEC\
-6C16D8884BDD99CFDC521456B0742B736868CF90DE099ADB8D5FFD1DEFF39BA4\
-007AB746CEFDB22D7DF0E225F54627DC65466131721B90AF445363A8358B9F60\
-7642F78FAB0AB0F43B7168D64BAE70D8827848D8EF1E421C5754DDF42C2589B5B3
-
-10001:\
-016601E926A0F8C9E26ECAB769EA65A5E7C52CC9E080EF519457C644DA6891C5A1\
-04D3EA7955929A22E7C68A7AF9FCAD777C3CCC2B9E3D3650BCE404399B7E59D1:\
-014EAFA1D4D0184DA7E31F877D1281DDDA625664869E8379E67AD3B75EAE74A580\
-E9827ABD6EB7A002CB5411F5266797768FB8E95AE40E3E8A01F35FF89E56C079:\
-52A1D96C8AC39E41E455809801B927A5B445C10D902A0DCD3850D22A66D2BB07\
-03E67D5867114595AABF5A7AEB5A8F87034BBB30E13CFD4817A9BE7623002360\
-6D0286A3FAF8A4D22B728EC518079F9E64526E3A0CC7941AA338C437997C680C\
-CAC67C66BFA1:FCA862068BCE2246724B708A0519DA17E648688C:\
-007F0030018F53CDC71F23D03659FDE54D4241F758A750B42F185F87578520C3\
-0742AFD84359B6E6E8D3ED959DC6FE486BEDC8E2CF001F63A7ABE16256A1B84D\
-F0D249FC05D3194CE5F0912742DBBF80DD174F6C51F6BAD7F16CF3364EBA095A\
-06267DC3793803AC7526AEBE0A475D38B8C2247AB51C4898DF7047DC6ADF52C6C4
-
-10001:\
-01BD36E18ECE4B0FDB2E9C9D548BD1A7D6E2C21C6FDC35074A1D05B1C6C8B3D5\
-58EA2639C9A9A421680169317252558BD148AD215AAC550E2DCF12A82D0EBFE853:\
-01B1B656AD86D8E19D5DC86292B3A192FDF6E0DD37877BAD14822FA00190CAB2\
-65F90D3F02057B6F54D6ECB14491E5ADEACEBC48BF0EBD2A2AD26D402E54F61651:\
-594B37333BBB2C84524A87C1A01F75FCEC0E3256F108E38DCA36D70D0057:\
-F31AD6C8CF89DF78ED77FEACBCC2F8B0A8E4CFAA:\
-0088B135FB1794B6B96C4A3E678197F8CAC52B64B2FE907D6F27DE761124964A\
-99A01A882740ECFAED6C01A47464BB05182313C01338A8CD097214CD68CA103B\
-D57D3BC9E816213E61D784F182467ABF8A01CF253E99A156EAA8E3E1F90E3C6E\
-4E3AA2D83ED0345B89FAFC9C26077C14B6AC51454FA26E446E3A2F153B2B16797F
-
-10001:\
-01BD36E18ECE4B0FDB2E9C9D548BD1A7D6E2C21C6FDC35074A1D05B1C6C8B3D5\
-58EA2639C9A9A421680169317252558BD148AD215AAC550E2DCF12A82D0EBFE853:\
-01B1B656AD86D8E19D5DC86292B3A192FDF6E0DD37877BAD14822FA00190CAB2\
-65F90D3F02057B6F54D6ECB14491E5ADEACEBC48BF0EBD2A2AD26D402E54F61651:\
-8B769528884A0D1FFD090CF102993E796DADCFBDDD38E44FF6324CA451:\
-FCF9F0E1F199A3D1D0DA681C5B8606FC642939F7:\
-02A5F0A858A0864A4F65017A7D69454F3F973A2999839B7BBC48BF7864116917\
-9556F595FA41F6FF18E286C2783079BC0910EE9CC34F49BA681124F923DFA88F\
-426141A368A5F5A930C628C2C3C200E18A7644721A0CBEC6DD3F6279BDE3E8F2\
-BE5E2D4EE56F97E7CEAF33054BE7042BD91A63BB09F897BD41E81197DEE99B11AF
-
-10001:\
-01BD36E18ECE4B0FDB2E9C9D548BD1A7D6E2C21C6FDC35074A1D05B1C6C8B3D5\
-58EA2639C9A9A421680169317252558BD148AD215AAC550E2DCF12A82D0EBFE853:\
-01B1B656AD86D8E19D5DC86292B3A192FDF6E0DD37877BAD14822FA00190CAB2\
-65F90D3F02057B6F54D6ECB14491E5ADEACEBC48BF0EBD2A2AD26D402E54F61651:\
-1ABDBA489C5ADA2F995ED16F19D5A94D9E6EC34A8D84F84557D26E5EF9B02B22\
-887E3F9A4B690AD1149209C20C61431F0C017C36C2657B35D7B07D3F5AD87085\
-07A9C1B831DF835A56F831071814EA5D3D8D8F6ADE40CBA38B42DB7A2D3D7A29\
-C8F0A79A7838CF58A9757FA2FE4C40DF9BAA193BFC6F92B123AD57B07ACE3E6A\
-C068C9F106AFD9EEB03B4F37C25DBFBCFB3071F6F9771766D072F3BB070AF660\
-5532973AE25051:986E7C43DBB671BD41B9A7F4B6AFC80E805F2423:\
-0244BCD1C8C16955736C803BE401272E18CB990811B14F72DB964124D5FA7606\
-49CBB57AFB8755DBB62BF51F466CF23A0A1607576E983D778FCEFFA92DF7548A\
-EA8EA4ECAD2C29DD9F95BC07FE91ECF8BEE255BFE8762FD7690AA9BFA4FA0849\
-EF728C2C42C4532364522DF2AB7F9F8A03B63F7A499175828668F5EF5A29E3802C
-
-10001:\
-01BD36E18ECE4B0FDB2E9C9D548BD1A7D6E2C21C6FDC35074A1D05B1C6C8B3D5\
-58EA2639C9A9A421680169317252558BD148AD215AAC550E2DCF12A82D0EBFE853:\
-01B1B656AD86D8E19D5DC86292B3A192FDF6E0DD37877BAD14822FA00190CAB2\
-65F90D3F02057B6F54D6ECB14491E5ADEACEBC48BF0EBD2A2AD26D402E54F61651:\
-8FB431F5EE792B6C2AC7DB53CC428655AEB32D03F4E889C5C25DE683C461B53A\
-CF89F9F8D3AABDF6B9F0C2A1DE12E15B49EDB3919A652FE9491C25A7FCE1F722\
-C2543608B69DC375EC:F8312D9C8EEA13EC0A4C7B98120C87509087C478:\
-0196F12A005B98129C8DF13C4CB16F8AA887D3C40D96DF3A88E7532EF39CD992\
-F273ABC370BC1BE6F097CFEBBF0118FD9EF4B927155F3DF22B904D90702D1F7B\
-A7A52BED8B8942F412CD7BD676C9D18E170391DCD345C06A730964B3F30BCCE0\
-BB20BA106F9AB0EEB39CF8A6607F75C0347F0AF79F16AFA081D2C92D1EE6F836B8
-
-10001:\
-01BD36E18ECE4B0FDB2E9C9D548BD1A7D6E2C21C6FDC35074A1D05B1C6C8B3D5\
-58EA2639C9A9A421680169317252558BD148AD215AAC550E2DCF12A82D0EBFE853:\
-01B1B656AD86D8E19D5DC86292B3A192FDF6E0DD37877BAD14822FA00190CAB2\
-65F90D3F02057B6F54D6ECB14491E5ADEACEBC48BF0EBD2A2AD26D402E54F61651:\
-FEF4161DFAAF9C5295051DFC1FF3810C8C9EC2E866F7075422C8EC4216A9C4FF\
-49427D483CAE10C8534A41B2FD15FEE06960EC6FB3F7A7E94A2F8A2E3E43DC4A\
-40576C3097AC953B1DE86F0B4ED36D644F23AE14425529622464CA0CBF0B1741\
-347238157FAB59E4DE5524096D62BAEC63AC64:\
-50327EFEC6292F98019FC67A2A6638563E9B6E2D:\
-021ECA3AB4892264EC22411A752D92221076D4E01C0E6F0DDE9AFD26BA5ACF6D\
-739EF987545D16683E5674C9E70F1DE649D7E61D48D0CAEB4FB4D8B24FBA84A6\
-E3108FEE7D0705973266AC524B4AD280F7AE17DC59D96D3351586B5A3BDB895D\
-1E1F7820AC6135D8753480998382BA32B7349559608C38745290A85EF4E9F9BD83
-
-10001:\
-01BD36E18ECE4B0FDB2E9C9D548BD1A7D6E2C21C6FDC35074A1D05B1C6C8B3D5\
-58EA2639C9A9A421680169317252558BD148AD215AAC550E2DCF12A82D0EBFE853:\
-01B1B656AD86D8E19D5DC86292B3A192FDF6E0DD37877BAD14822FA00190CAB2\
-65F90D3F02057B6F54D6ECB14491E5ADEACEBC48BF0EBD2A2AD26D402E54F61651:\
-EFD237BB098A443AEEB2BF6C3F8C81B8C01B7FCB3FEB:\
-B0DE3FC25B65F5AF96B1D5CC3B27D0C6053087B3:\
-012FAFEC862F56E9E92F60AB0C77824F4299A0CA734ED26E0644D5D222C7F0BD\
-E03964F8E70A5CB65ED44E44D56AE0EDF1FF86CA032CC5DD4404DBB76AB85458\
-6C44EED8336D08D457CE6C03693B45C0F1EFEF93624B95B8EC169C616D20E553\
-8EBC0B6737A6F82B4BC0570924FC6B35759A3348426279F8B3D7744E2D222426CE
-
-10001:\
-029232336D2838945DBA9DD7723F4E624A05F7375B927A87ABE6A893A1658FD4\
-9F47F6C7B0FA596C65FA68A23F0AB432962D18D4343BD6FD671A5EA8D148413995:\
-020EF5EFE7C5394AED2272F7E81A74F4C02D145894CB1B3CAB23A9A0710A2AFC\
-7E3329ACBB743D01F680C4D02AFB4C8FDE7E20930811BB2B995788B5E872C20BB1:\
-9FB03B827C8217D9:ED7C98C95F30974FBE4FBDDCF0F28D6021C0E91D:\
-0323D5B7BF20BA4539289AE452AE4297080FEFF4518423FF4811A817837E7D82\
-F1836CDFAB54514FF0887BDDEEBF40BF99B047ABC3ECFA6A37A3EF00F4A0C4A8\
-8AAE0904B745C846C4107E8797723E8AC810D9E3D95DFA30FF4966F4D75D1376\
-8D20857F2B1406F264CFE75E27D7652F4B5ED3575F28A702F8C4ED9CF9B2D44948
-
-10001:\
-029232336D2838945DBA9DD7723F4E624A05F7375B927A87ABE6A893A1658FD4\
-9F47F6C7B0FA596C65FA68A23F0AB432962D18D4343BD6FD671A5EA8D148413995:\
-020EF5EFE7C5394AED2272F7E81A74F4C02D145894CB1B3CAB23A9A0710A2AFC\
-7E3329ACBB743D01F680C4D02AFB4C8FDE7E20930811BB2B995788B5E872C20BB1:\
-0CA2AD77797ECE86DE5BF768750DDB5ED6A3116AD99BBD17EDF7F782F0DB1CD0\
-5B0F677468C5EA420DC116B10E80D110DE2B0461EA14A38BE68620392E7E893C\
-B4EA9393FB886C20FF790642305BF302003892E54DF9F667509DC53920DF583F\
-50A3DD61ABB6FAB75D600377E383E6ACA6710EEEA27156E06752C94CE25AE99F\
-CBF8592DBE2D7E27453CB44DE07100EBB1A2A19811A478ADBEAB270F94E8FE36\
-9D90B3CA612F9F:22D71D54363A4217AA55113F059B3384E3E57E44:\
-049D0185845A264D28FEB1E69EDAEC090609E8E46D93ABB38371CE51F4AA65A5\
-99BDAAA81D24FBA66A08A116CB644F3F1E653D95C89DB8BBD5DAAC2709C89840\
-00178410A7C6AA8667DDC38C741F710EC8665AA9052BE929D4E3B16782C16621\
-14C5414BB0353455C392FC28F3DB59054B5F365C49E1D156F876EE10CB4FD70598
-
-10001:\
-029232336D2838945DBA9DD7723F4E624A05F7375B927A87ABE6A893A1658FD4\
-9F47F6C7B0FA596C65FA68A23F0AB432962D18D4343BD6FD671A5EA8D148413995:\
-020EF5EFE7C5394AED2272F7E81A74F4C02D145894CB1B3CAB23A9A0710A2AFC\
-7E3329ACBB743D01F680C4D02AFB4C8FDE7E20930811BB2B995788B5E872C20BB1:\
-288062AFC08FCDB7C5F8650B29837300461DD5676C17A20A3C8FB5148949E3F7\
-3D66B3AE82C7240E27C5B3EC4328EE7D6DDF6A6A0C9B5B15BCDA196A9D0C76B1\
-19D534D85ABD123962D583B76CE9D180BCE1CA:\
-4AF870FBC6516012CA916C70BA862AC7E8243617:\
-03FBC410A2CED59500FB99F9E2AF2781ADA74E13145624602782E2994813EEFC\
-A0519ECD253B855FB626A90D771EAE028B0C47A199CBD9F8E3269734AF416359\
-9090713A3FA910FA0960652721432B971036A7181A2BC0CAB43B0B598BC62174\
-61D7DB305FF7E954C5B5BB231C39E791AF6BCFA76B147B081321F72641482A2AAD
-
-10001:\
-029232336D2838945DBA9DD7723F4E624A05F7375B927A87ABE6A893A1658FD4\
-9F47F6C7B0FA596C65FA68A23F0AB432962D18D4343BD6FD671A5EA8D148413995:\
-020EF5EFE7C5394AED2272F7E81A74F4C02D145894CB1B3CAB23A9A0710A2AFC\
-7E3329ACBB743D01F680C4D02AFB4C8FDE7E20930811BB2B995788B5E872C20BB1:\
-6F4F9AB9501199CEF55C6CF408FE7B36C557C49D420A4763D2463C8AD44B3CFC\
-5BE2742C0E7D9B0F6608F08C7F47B693EE:\
-40D2E180FAE1EAC439C190B56C2C0E14DDF9A226:\
-0486644BC66BF75D28335A6179B10851F43F09BDED9FAC1AF33252BB9953BA42\
-98CD6466B27539A70ADAA3F89B3DB3C74AB635D122F4EE7CE557A61E59B82FFB\
-786630E5F9DB53C77D9A0C12FAB5958D4C2CE7DAA807CD89BA2CC7FCD02FF470\
-CA67B229FCCE814C852C73CC93BEA35BE68459CE478E9D4655D121C8472F371D4F
-
-10001:\
-029232336D2838945DBA9DD7723F4E624A05F7375B927A87ABE6A893A1658FD4\
-9F47F6C7B0FA596C65FA68A23F0AB432962D18D4343BD6FD671A5EA8D148413995:\
-020EF5EFE7C5394AED2272F7E81A74F4C02D145894CB1B3CAB23A9A0710A2AFC\
-7E3329ACBB743D01F680C4D02AFB4C8FDE7E20930811BB2B995788B5E872C20BB1:\
-E17D20385D501955823C3F666254C1D3DD36AD5168B8F18D286FDCF67A7DAD94\
-097085FAB7ED86FE2142A28771717997EF1A7A08884EFC39356D76077AAF8245\
-9A7FAD45848875F2819B098937FE923BCC9DC442D72D754D812025090C9BC03D\
-B3080C138DD63B355D0B4B85D6688AC19F4DE15084A0BA4E373B93EF4A555096\
-691915DC23C00E954CDEB20A47CD55D16C3D8681D46ED7F2ED5EA42795BE17BA\
-ED25F0F4D113B3636ADDD585F16A8B5AEC0C8FA9C5F03CBF3B9B73:\
-2497DC2B4615DFAE5A663D49FFD56BF7EFC11304:\
-022A80045353904CB30CBB542D7D4990421A6EEC16A8029A8422ADFD22D6AFF8\
-C4CC0294AF110A0C067EC86A7D364134459BB1AE8FF836D5A8A2579840996B32\
-0B19F13A13FAD378D931A65625DAE2739F0C53670B35D9D3CBAC08E733E4EC2B\
-83AF4B9196D63E7C4FF1DDEAE2A122791A125BFEA8DEB0DE8CCF1F4FFAF6E6FB0A
-
-10001:\
-029232336D2838945DBA9DD7723F4E624A05F7375B927A87ABE6A893A1658FD4\
-9F47F6C7B0FA596C65FA68A23F0AB432962D18D4343BD6FD671A5EA8D148413995:\
-020EF5EFE7C5394AED2272F7E81A74F4C02D145894CB1B3CAB23A9A0710A2AFC\
-7E3329ACBB743D01F680C4D02AFB4C8FDE7E20930811BB2B995788B5E872C20BB1:\
-AFBC19D479249018FDF4E09F618726440495DE11DDEEE38872D775FCEA74A238\
-96B5343C9C38D46AF0DBA224D047580CC60A65E9391CF9B59B36A860598D4E82\
-16722F993B91CFAE87BC255AF89A6A199BCA4A391EADBC3A24903C0BD667368F\
-6BE78E3FEABFB4FFD463122763740FFBBEFEAB9A25564BC5D1C24C93E422F750\
-73E2AD72BF45B10DF00B52A147128E73FEE33FA3F0577D77F80FBC2DF1BED313\
-290C12777F50:A334DB6FAEBF11081A04F87C2D621CDEC7930B9B:\
-00938DCB6D583046065F69C78DA7A1F1757066A7FA75125A9D2929F0B79A60B6\
-27B082F11F5B196F28EB9DAA6F21C05E5140F6AEF1737D2023075C05ECF04A02\
-8C686A2AB3E7D5A0664F295CE12995E890908B6AD21F0839EB65B70393A7B5AF\
-D9871DE0CAA0CEDEC5B819626756209D13AB1E7BB9546A26FF37E9A51AF9FD562E
-
-10001:\
-03F2F331F4142D4F24B43AA10279A89652D4E7537221A1A7B2A25DEB551E5DE9\
-AC497411C227A94E45F91C2D1C13CC046CF4CE14E32D058734210D44A87EE1B73F:\
-034F090D73B55803030CF0361A5D8081BFB79F851523FEAC0A2124D08D4013FF\
-08487771A870D0479DC0686C62F7718DFECF024B17C9267678059171339CC00839:\
-30C7D557458B436DECFDC14D06CB7B96B06718C48D7DE57482A868AE7F065870\
-A6216506D11B779323DFDF046CF5775129134B4D5689E4D9C0CE1E12D7D4B06C\
-B5FC5820DECFA41BAF59BF257B32F025B7679B445B9499C92555145885992F1B\
-76F84891EE4D3BE0F5150FD5901E3A4C8ED43FD36B61D022E65AD5008DBF3329\
-3C22BFBFD07321F0F1D5FA9FDF0014C2FCB0358AAD0E354B0D29:\
-081B233B43567750BD6E78F396A88B9F6A445151:\
-0BA373F76E0921B70A8FBFE622F0BF77B28A3DB98E361051C3D7CB92AD045291\
-5A4DE9C01722F6823EEB6ADF7E0CA8290F5DE3E549890AC2A3C5950AB217BA58\
-590894952DE96F8DF111B2575215DA6C161590C745BE612476EE578ED384AB33\
-E3ECE97481A252F5C79A98B5532AE00CDD62F2ECC0CD1BAEFE80D80B962193EC1D
-
-10001:\
-03F2F331F4142D4F24B43AA10279A89652D4E7537221A1A7B2A25DEB551E5DE9\
-AC497411C227A94E45F91C2D1C13CC046CF4CE14E32D058734210D44A87EE1B73F:\
-034F090D73B55803030CF0361A5D8081BFB79F851523FEAC0A2124D08D4013FF\
-08487771A870D0479DC0686C62F7718DFECF024B17C9267678059171339CC00839:\
-328C659E0A6437433CCEB73C14:\
-9AEC4A7480D5BBC42920D7CA235DB674989C9AAC:\
-0BC989853BC2EA86873271CE183A923AB65E8A53100E6DF5D87A24C4194EB797\
-813EE2A187C097DD872D591DA60C568605DD7E742D5AF4E33B11678CCB639032\
-04A3D080B0902C89ABA8868F009C0F1C0CB85810BBDD29121ABB8471FF2D39E4\
-9FD92D56C655C8E037AD18FAFBDC92C95863F7F61EA9EFA28FEA401369D19DAEA1
-
-10001:\
-04F0548C9626AB1EBF1244934741D99A06220EFA2A5856AA0E75730B2EC96ADC\
-86BE894FA2803B53A5E85D276ACBD29AB823F80A7391BB54A5051672FB04EEB543:\
-0483E0AE47915587743FF345362B555D3962D98BB6F15F848B4C92B1771CA8ED\
-107D8D3EE65EC44517DD0FAA481A387E902F7A2E747C269E7EA44480BC538B8E5B:\
-0F6195D04A6E6FC7E2C9600DBF840C39EA8D4D624FD53507016B0E26858A5E0A\
-ECD7ADA543AE5C0AB3A62599CBA0A54E6BF446E262F989978F9DDF5E9A41:\
-A87B8AED07D7B8E2DAF14DDCA4AC68C4D0AABFF8:\
-086DF6B500098C120F24FF8423F727D9C61A5C9007D3B6A31CE7CF8F3CBEC1A2\
-6BB20E2BD4A046793299E03E37A21B40194FB045F90B18BF20A47992CCD799CF\
-9C059C299C0526854954AADE8A6AD9D97EC91A1145383F42468B231F4D72F237\
-06D9853C3FA43CE8ACE8BFE7484987A1EC6A16C8DAF81F7C8BF42774707A9DF456
-
-10001:\
-04F0548C9626AB1EBF1244934741D99A06220EFA2A5856AA0E75730B2EC96ADC\
-86BE894FA2803B53A5E85D276ACBD29AB823F80A7391BB54A5051672FB04EEB543:\
-0483E0AE47915587743FF345362B555D3962D98BB6F15F848B4C92B1771CA8ED\
-107D8D3EE65EC44517DD0FAA481A387E902F7A2E747C269E7EA44480BC538B8E5B:\
-9906D89F97A9FDEDD3CCD824DB687326F30F00AA25A7FCA2AFCB3B0F86CD41E7\
-3F0E8FF7D2D83F59E28ED31A5A0D551523374DE22E4C7E8FF568B386EE3DC411\
-63F10BF67BB006261C9082F9AF90BF1D9049A6B9FAE71C7F84FBE6E55F02789D\
-E774F230F115026A4B4E96C55B04A95DA3AACBB2CECE8F81764A1F1C99515411\
-087CF7D34AEDED0932C183:FBBE059025B69B89FB14AE2289E7AAAFE60C0FCD:\
-0A40A16E2FE2B38D1DF90546167CF9469C9E3C3681A3442B4B2C2F581DEB385C\
-E99FC6188BB02A841D56E76D301891E24560550FCC2A26B55F4CCB26D837D350\
-A154BCACA8392D98FA67959E9727B78CAD03269F56968FC56B68BD679926D83C\
-C9CB215550645CCDA31C760FF35888943D2D8A1D351E81E5D07B86182E751081EF
-
-10001:\
-07EEFB424B0E3A40E4208EE5AFB280B22317308114DDE0B4B64F730184EC68DA\
-6CE2867A9F48ED7726D5E2614ED04A5410736C8C714EE702474298C6292AF07535:\
-070830DBF947EAC0228DE26314B59B66994CC60E8360E75D3876298F8F8A7D14\
-1DA064E5CA026A973E28F254738CEE669C721B034CB5F8E244DADD7CD1E159D547:\
-8D80D2D08DBD19C154DF3F14673A14BD03735231F24E86BF153D0E69E74CBFF7\
-B1836E664DE83F680124370FC0F96C9B65C07A366B644C4AB3:\
-0C09582266DF086310821BA7E18DF64DFEE6DE09:\
-10FD89768A60A67788ABB5856A787C8561F3EDCF9A83E898F7DC87AB8CCE7942\
-9B43E56906941A886194F137E591FE7C339555361FBBE1F24FEB2D4BCDB80601\
-F3096BC9132DEEA60AE13082F44F9AD41CD628936A4D51176E42FC59CB76DB81\
-5CE5AB4DB99A104AAFEA68F5D330329EBF258D4EDE16064BD1D00393D5E1570EB8
-
-10001:\
-07EEFB424B0E3A40E4208EE5AFB280B22317308114DDE0B4B64F730184EC68DA\
-6CE2867A9F48ED7726D5E2614ED04A5410736C8C714EE702474298C6292AF07535:\
-070830DBF947EAC0228DE26314B59B66994CC60E8360E75D3876298F8F8A7D14\
-1DA064E5CA026A973E28F254738CEE669C721B034CB5F8E244DADD7CD1E159D547:\
-45013CEBAFD960B255476A8E2598B9AA32EFBE6DC1F34F4A498D8CF5A2B4548D\
-08C55D5F95F7BCC9619163056F2D58B52FA032:\
-9D5AD8EB452134B65DC3A98B6A73B5F741609CD6:\
-07EB651D75F1B52BC263B2E198336E99FBEBC4F332049A922A10815607EE2D98\
-9DB3A4495B7DCCD38F58A211FB7E193171A3D891132437EBCA44F318B280509E\
-52B5FA98FCCE8205D9697C8EE4B7FF59D4C59C79038A1970BD2A0D451ECDC5EF\
-11D9979C9D35F8C70A6163717607890D586A7C6DC01C79F86A8F28E85235F8C2F1
-
-10001:\
-08DAD7F11363FAA623D5D6D5E8A319328D82190D7127D2846C439B0AB72619B0\
-A43A95320E4EC34FC3A9CEA876422305BD76C5BA7BE9E2F410C8060645A1D29EDB:\
-0847E732376FC7900F898EA82EB2B0FC418565FDAE62F7D9EC4CE2217B97990D\
-D272DB157F99F63C0DCBB9FBACDBD4C4DADB6DF67756358CA4174825B48F49706D:\
-E2F96EAF0E05E7BA326ECCA0BA7FD2F7C02356F3CEDE9D0FAABF4FCC8E60A973\
-E5595FD9EA08:435C098AA9909EB2377F1248B091B68987FF1838:\
-2707B9AD5115C58C94E932E8EC0A280F56339E44A1B58D4DDCFF2F312E5F34DC\
-FE39E89C6A94DCEE86DBBDAE5B79BA4E0819A9E7BFD9D982E7EE6C86EE68396E\
-8B3A14C9C8F34B178EB741F9D3F121109BF5C8172FADA2E768F9EA1433032C00\
-4A8AA07EB990000A48DC94C8BAC8AABE2B09B1AA46C0A2AA0E12F63FBBA775BA7E
-
-10001:\
-08DAD7F11363FAA623D5D6D5E8A319328D82190D7127D2846C439B0AB72619B0\
-A43A95320E4EC34FC3A9CEA876422305BD76C5BA7BE9E2F410C8060645A1D29EDB:\
-0847E732376FC7900F898EA82EB2B0FC418565FDAE62F7D9EC4CE2217B97990D\
-D272DB157F99F63C0DCBB9FBACDBD4C4DADB6DF67756358CA4174825B48F49706D:\
-04DC251BE72E88E5723485B6383A637E2FEFE07660C519A560B8BC18BDEDB86E\
-AE2364EA53BA9DCA6EB3D2E7D6B806AF42B3E87F291B4A8881D5BF572CC9A85E\
-19C86ACB28F098F9DA0383C566D3C0F58CFD8F395DCF602E5CD40E8C7183F714\
-996E2297EF:C558D7167CBB4508ADA042971E71B1377EEA4269:\
-33341BA3576A130A50E2A5CF8679224388D5693F5ACCC235AC95ADD68E5EB1EE\
-C31666D0CA7A1CDA6F70A1AA762C05752A51950CDB8AF3C5379F18CFE6B5BC55\
-A4648226A15E912EF19AD77ADEEA911D67CFEFD69BA43FA4119135FF642117BA\
-985A7E0100325E9519F1CA6A9216BDA055B5785015291125E90DCD07A2CA9673EE
-
-10001:\
-CFD50283FEEEB97F6F08D73CBC7B3836F82BBCD499479F5E6F76FDFCB8B38C4F\
-71DC9E88BD6A6F76371AFD65D2AF1862B32AFB34A95F71B8B132043FFEBE3A95\
-2BAF7592448148C03F9C69B1D68E4CE5CF32C86BAF46FED301CA1AB403069B32\
-F456B91F71898AB081CD8C4252EF5271915C9794B8F295851DA7510F99CB73EB:\
-CC4E90D2A1B3A065D3B2D1F5A8FCE31B544475664EAB561D2971B99FB7BEF844\
-E8EC1F360B8C2AC8359692971EA6A38F723FCC211F5DBCB177A0FDAC5164A1D4\
-FF7FBB4E829986353CB983659A148CDD420C7D31BA3822EA90A32BE46C030E8C\
-17E1FA0AD37859E06B0AA6FA3B216D9CBE6C0E22339769C0A615913E5DA719CF:\
-883177E5126B9BE2D9A9680327D5370C6F26861F5820C43DA67A3AD609:\
-04E215EE6FF934B9DA70D7730C8734ABFCECDE89:\
-82C2B160093B8AA3C0F7522B19F87354066C77847ABF2A9FCE542D0E84E920C5\
-AFB49FFDFDACE16560EE94A1369601148EBAD7A0E151CF16331791A5727D05F2\
-1E74E7EB811440206935D744765A15E79F015CB66C532C87A6A05961C8BFAD74\
-1A9A6657022894393E7223739796C02A77455D0F555B0EC01DDF259B6207FD0F\
-D57614CEF1A5573BAAFF4EC00069951659B85F24300A25160CA8522DC6E6727E\
-57D019D7E63629B8FE5E89E25CC15BEB3A647577559299280B9B28F79B040900\
-0BE25BBD96408BA3B43CC486184DD1C8E62553FA1AF4040F60663DE7F5E49C04\
-388E257F1CE89C95DAB48A315D9B66B1B7628233876FF2385230D070D07E1666
-
-# These have specially constructed seeds that result in leading
-# bytes of the output being 0 (this was a problem in version prior
-# to 0.8.7)
-10001:\
-D32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30A\
-F38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D:\
-CC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C\
-4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77:\
-454D5341342074657374206F66206C656164696E67203073:\
-5C7F7F0932FC4FF8555C3875CE3A0F86BF5B744E:\
-049C40560875766E164A89B2D19D91EF2AABAB4AC182657CAD93680319D8CDBE\
-3CABCF3E87BF41C16013AC4E3D2DEBFB8F89E9E057012B8EDFD0310E24E2BBF4\
-3D54B2664DF3AC82D7E8913ABE29D0A022277EB74D2E0C8C5F4C3F46FABB35D9\
-32A4A713A82FC9464581D9B1F43A2AFB9AB8177DEE8C38CC9F15A7E8F3F9B4D3
-
-10001:\
-D32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30A\
-F38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D:\
-CC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C\
-4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77:\
-454D5341342074657374206F66206C656164696E67203073:\
-B0E37FD9119056FBC17F9C726B0AE7829350F93D:\
-82E54D1CD28D562D85DD3774636C65313CF26628076FC16A4D25AACCB566FCC8\
-77401BB44DFCB8ADBC6E595D515146D227E9AE6D4D585759F435642DFF2BB1EA\
-3AC72E633C05FB3DC0D8E63395099D5A535DF6EA89341E36D73808D5116299EE\
-C827BB2B6C3141AC0A5698DCDC252B7EDC3A5C24DE75287EEB60F45A37DFBEA3
-
-10001:\
-D32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30A\
-F38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D:\
-CC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C\
-4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77:\
-454D5341342074657374206F66206C656164696E67203073:\
-E4AE5BB1DD6DF73F8F75E441DA531F0E493AC0A7:\
-8A64E30AEC76B278B08FF3BF61B7FF439DC2B0F6B789459F1386C0FBF24AF863\
-EFC5A58C5E9CB841EA08D2E22E40293B1876BBB976947038AEEAA36B1751FF97\
-13B9F7BD306D9360CC8D78B7A607F9CA7B4C18C308D85330E534337998D97D6F\
-70F828D6AD1C9C7F6916476127993E4E6F7D596BA6C246F0EB7312A02D09BFB3
-
-[RSAVA/Raw]
-# The key that generated this signature isn't valid by PKCS #1 rules,
-# because the private exponent was set to (p-1)*(q-1) instead of
-# lcm(p-1,q-1). So if we generated a key with similiar exponent and
-# modulus, we'd use a different private exponent and thus generate a
-# different signature here. But it still will verify, so test that.
-
-10001:\
-A8AE5BF022EE5183FCD4C4DC3E2BE75F0641308FF7A066597A89CB55B2975AA1\
-4CAC475FEF9EC736186BA28E4B5D7B8F7CFA605B9A53DA5C1584F07663678940\
-1CC0D0CD65CC85962C228DC5E89CC496067859FB5EA9F579EC9F5643444A28A7\
-9000F9ADD1F9B7849EAA3FD3FC5DC002BCA413D7EBF8E6C9392AB5E40C09470D\
-21A9C705732EB027075836692FA90A997B4939799085C5E6E896BC35D58B857B\
-9A9D0CF32D9C0E4B7AF6ABCF501E5D6D55E2987E22586CDB964BF11F3F54740B\
-E31337E539D48780D9192B22CBCEBCE2228CA9668ACD6292207E02AE7A77E576\
-BC811E3DB0FA56D5FFE53EE6C715F2973A70C29AF72AA6BFFC985F2DC5E9369D:\
-0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0068656C6C6F20776F726C64:\
-A88A260DF63E7241BFB42C05F50B5FF470CEB7B4E47353C94C0EBF620309841F\
-CD84FFA08B164411CA9D2066FA02D8223AC19250212409E241446C22C9B85B23\
-38E6C8545E722427FB6798EAD8488106B01F15EE3E8574C85DCCFD407FAAD4F7\
-05D397551E4BF32CE484DE76514DBF805B5361CB3B1B221FE3AD12734E8542D4\
-B4D53962D0B0A80B11DC789EC08B050F28CB75363B8BD1F545839953271DB734\
-0C749C3B979C0A11C46E9D590446C8D3B75907B3F0B3F164A8F72D302B383B2B\
-D1248E9D86EAEBEBCB0623FAEA616CDE51CFFE5BE3D0BF140F053B05B6A17B6A\
-4F7B733F0042DC9AF4EA737031DB170EB5F691859B5EDA13C82B8EE69D7B2732
-
-# These test verification with various seed sizes. Botan cannot actually create
-# such a signature, since seed sizes != size of hash are not allowed. These
-# were created by some RSA PSS test code, with various salt sizes. This is not
-# an exhautive test (obviously), but from this, and a careful reading of
-# emsa4.cpp, it looks like Botan's EMSA4 will accept any valid EMSA4 message
-# representative.
-
-# Format for verification: e:n:message:signature
-[RSAVA/EMSA4(SHA-1)]
-# No salt
-10001:\
-AABBFB1E4E6F15D4D59E50C25998870956ED9E822D3DD899CAB0FA597B4D1C0E\
-61997501FD1C6E9D756BDCBE9BF49C7FA32926F3FDB387D83296BE35EF360872\
-350AE98C934D760BE7A933CFE85DFB99621D32105AC89496C9F001FE9CEAB097\
-C8DD55D6FD3D913496106BB04F265ED12F8ACD5F4B3FD7129809CA8D80E2E1D3:\
-B841D0374D3C86E67B67BDF00B:\
-1060A74E3EF067A9B17754500B16B8C9F6B3B453FB290C71FCAE779DD37A6B9A\
-24A45D1560DF5E4BC31143E6197AB15684236D8FE578E022495897F70451FD90\
-2BFA5703947EDFF0B63BF1140C63AE1C8D369A87B192E8BF6A3D486E909C3979\
-703806010367CA0E0026F8920EA766B7E3759E23954D0EC2F746E6046FC14758
-
-# No salt
-10001:\
-AABBFB1E4E6F15D4D59E50C25998870956ED9E822D3DD899CAB0FA597B4D1C0E\
-61997501FD1C6E9D756BDCBE9BF49C7FA32926F3FDB387D83296BE35EF360872\
-350AE98C934D760BE7A933CFE85DFB99621D32105AC89496C9F001FE9CEAB097\
-C8DD55D6FD3D913496106BB04F265ED12F8ACD5F4B3FD7129809CA8D80E2E1D3:\
-0F1D14F9:\
-7D4F2EE63FF4B46A09EBB8F9E2F58B4634234B890F7270FDF3454CD2EEAF1BAC\
-AC3516BB5D0F678365E5226034032D6AD49069ED9C7B8BE471BFC6D9BBE3327C\
-BA545675212A5552948524E52567FCE84D9D211191AAB864153C08DFC7576703\
-C21FB9315578A0F1C167FF4D2B810578DC98FBC1235A4CD62ED89BD092C31C00
-
-# 1 byte salt
-10001:\
-A7DB819EAAF3E6876B927ED6EEA94B97E20D06753C7555A7440631216FF4E943\
-720DE7BE6364B8DE17E663705549051F04141D8612214BC269CC09FBDF1F561E\
-474A2ECA28ADDE3530CA339015F23CEE63750C508A1416FE5D1AEF5AA09BBA7F\
-36CFC02874B15DCA913E35B52B281D32B1CEBD22EAF3C629123988FE78FD0561:\
-AEAD5A03023E17D894226CB2C7C77D5D4341E8BF7F1453140D58B427B40B0B18A9:\
-27ABB6E27D9DBA0F9E5DB3607BF04E20112150A779EAF67D4AA76D50A6060F70\
-03BB33BE5A580789E567C3768AF938BDBADE712F7344B72655118636095EA8D6\
-97888B9382BF3030D56A685079980A992A9BED3AF0DC81AE4316AF31681A3BDD\
-78CC4E83FD3C227A9984C261ADF36D201AA417243A28BA47488BD81CB1DA63A4
-
-# 2 byte salt
-10001:\
-AABBFB1E4E6F15D4D59E50C25998870956ED9E822D3DD899CAB0FA597B4D1C0E\
-61997501FD1C6E9D756BDCBE9BF49C7FA32926F3FDB387D83296BE35EF360872\
-350AE98C934D760BE7A933CFE85DFB99621D32105AC89496C9F001FE9CEAB097\
-C8DD55D6FD3D913496106BB04F265ED12F8ACD5F4B3FD7129809CA8D80E2E1D3:\
-6A4BAEE539612920ECB3075EF6C31BD7EEA01F43:\
-36F7211C290577ED0CF54007551BA65943C388BF2AE58F12E8BF7B6E7339348F\
-2534E7515232D0AD72AD8F6EA173FA3D21DE13D392DE10C457DDA7C569AAAE17\
-0C8806A3ACA457461EFBAA7EC870947ABE2D5A91821B9254EA34A74E95E7648E\
-D98A7ACD2300D4FC88C8B968E0AE68DF9BFF849E53AF03A2E12965C1453AAFC4
-
-# 3 byte salt
-10001:\
-CB6484FE402A7E96E3E43AC26CBF3FED47FBDF6921D40072FC27FA110CFF8D94\
-EDAC5E119D0801CEC89875BBB6FBD838BD0FB7F7F7FA62FAEA798CC6975F43ED\
-CADA7947BABA41DBDEB321E273C870973A9E741791380886B4B131165EDDFCF4\
-F162E17AD36E8D7A763502920527DFA9CDFF0D1046914195D2924D4075DEA235:\
-0F50:\
-707E1B680D4D7E2CD102ED7AF2B63AE63CAD9266476418F330FB739FD052A777\
-4A0182624E81C3AD14C12BA5BA1D99315217D84EA1FAABF4A90E7CFF19875351\
-46D4944AE27E2C84F313E5E5A22C5B86A88333DBBC4D17425F180C6B0F4BFD3E\
-9F03DE21B422EC125DA6FF2835A93CEBED8C1283568E04BB634CAC410D144B91
-
-# 4 byte salt
-10001:\
-A7DB819EAAF3E6876B927ED6EEA94B97E20D06753C7555A7440631216FF4E943\
-720DE7BE6364B8DE17E663705549051F04141D8612214BC269CC09FBDF1F561E\
-474A2ECA28ADDE3530CA339015F23CEE63750C508A1416FE5D1AEF5AA09BBA7F\
-36CFC02874B15DCA913E35B52B281D32B1CEBD22EAF3C629123988FE78FD0561:\
-5C3DB99915C8F7EEACB045ECBB7C35C06D4ED5A96AA9025A49093B70D7C2EDD4\
-85930D18DEB57C0282563F2B07FBA63245FDC773CF851985475DFB4F6FA335BE\
-1B4C2C28A294E84E50172AA585B382BE1E1038FBD02F2BD37691D85A18346AD0\
-4CC81948698FF248CFAF33E222EA8B5FCAEC0E5AA8F753521EC47BCB756E05CF\
-95E4365E06A69BB6C99A34A62939B478AC1209FFACC49BA4027749801D4A9F58\
-3395B34340:\
-9705B191BE8BD52D3E6CA1743DACDA5EDC1C7665B6EBC769A5983BB74D2F52C7\
-9F94954DC8CAB9A44FB3B387A0FF2843311CDA640DC39BA975518B511DF87064\
-B17709804D707DA08A315F14D24CF6385310A62D7F6C47689B66C4A12F449FC9\
-5796F1821EA6838DE2941D0725B55EC860CB553B36878C2BA3994DCD0A8992FF
-
-# 5 byte salt
-10001:\
-CB6484FE402A7E96E3E43AC26CBF3FED47FBDF6921D40072FC27FA110CFF8D94\
-EDAC5E119D0801CEC89875BBB6FBD838BD0FB7F7F7FA62FAEA798CC6975F43ED\
-CADA7947BABA41DBDEB321E273C870973A9E741791380886B4B131165EDDFCF4\
-F162E17AD36E8D7A763502920527DFA9CDFF0D1046914195D2924D4075DEA235:\
-F1FE75913B7A152626C287B1287B6ED4A04EB546950C0414B2D7AAF82DF8F255\
-E08E20A2CACD2399C4304FD9F77B9CF8B2A244C15ABC25DCFE1B144F2B125AF7\
-91B05877E11BEAF3ECC75FC9:\
-87337D2D71F36C4452216459D55586634D755C84D9D8F80D058E029A1CB61A6D\
-4819E3993B623AF90FF915AC585AE6088DF7565A2A205D6282252EA0863A7F12\
-F07A06189F2E2C4EC6B27EBDF3955ADC7C85B803C612D44B9EA5D5FC0B7F15D8\
-AC704D83DEC3D8F84808C2AA5F984FD06D1456B4EF875C33A7346051514DCECC
-
-# 6 byte salt
-10001:\
-CB6484FE402A7E96E3E43AC26CBF3FED47FBDF6921D40072FC27FA110CFF8D94\
-EDAC5E119D0801CEC89875BBB6FBD838BD0FB7F7F7FA62FAEA798CC6975F43ED\
-CADA7947BABA41DBDEB321E273C870973A9E741791380886B4B131165EDDFCF4\
-F162E17AD36E8D7A763502920527DFA9CDFF0D1046914195D2924D4075DEA235:\
-04F7B2C9BEEE7F00FD42C651A3492E6F61816AB3B0903477CFB49B2DDE8AB64D\
-898019C6C937FE653A92C1BD992A3304F357:\
-14949A71A7AF9EC4364DDF90E5A7C4283F8FEF7DD3A544FFA4B1BCEC5FEA6C21\
-4FE7C9105393E72D308CA0994F6F900479219439B8FDC850E15404C024AB757B\
-F7DDF35B0CEC668AEAAAB5039EC81F739C160DD57B26ACDECE905F608AB0396F\
-9DE8F99A53F765D37FB625C8E90C68B4E5B32AEF48C0FDA39B7314FCE942A9E9
-
-# 7 byte salt
-10001:\
-A7DB819EAAF3E6876B927ED6EEA94B97E20D06753C7555A7440631216FF4E943\
-720DE7BE6364B8DE17E663705549051F04141D8612214BC269CC09FBDF1F561E\
-474A2ECA28ADDE3530CA339015F23CEE63750C508A1416FE5D1AEF5AA09BBA7F\
-36CFC02874B15DCA913E35B52B281D32B1CEBD22EAF3C629123988FE78FD0561:\
-71D2C0843ACA68C291953E66:\
-4C22BC81446B062A561D9A922E959036E7763B0803DD84168C48AC51DBE79A12\
-9D017E22BF9DA19996C09BE7369C4F0808ACC2E708DFF48AA2AD41EF78F5F97B\
-914FFE079BE9F9D30E67049BA28BEE714FE622A18A3524FC7E58ED7C451714F1\
-4718F4475814B6D9A6590845D9CF6FEA2DCD313CFD580B47D5BEF6960CB0E463
-
-# 9 byte salt
-10001:\
-A8802DFF63A68E53D5B4AEFDF9BFBDDC2F3FF809D248CBC4AA250AE710830671\
-4ECD4BA4C465298C7E7EFAAD9ED969BDD23D851D31BAD61FA942B24A60D34469\
-F2774133D488E82E66B01FE4C7C8CDF95CB194D721FBE3B98FFC61D31F07D8CE\
-E32318EFF73E374755CBCB3785D93772A414DA3C25B240B16F40C83723448861:\
-9D5116B54CBA7970742B66BE6924D122A1D7E570F037DA06B29A2B34175C8F94\
-28D1E8E908EF492892AFD6B08019EED0123F32B74D04324DDB98171ADE66347C\
-1FFB56BD1B05E1CECE2ADD838BD95CDEB74E36A51B69F2602322593462182437\
-AF357BB63EF748F45CDDB66BE5357E9701C8B21C6613857432CB99C91CDFCB72\
-54D087B361CCF05E77AF961F023E83416D9FF539A572A5C89117FE1506AF6633\
-5321A0CB7BF096DA0590D2E79FA60DD7A38B9DF2D352673F5A31A873111E3C8D:\
-A73BC3BD89ADF92FF2B8EE3B5430849301C322074696BD58FCA3D0C113BC9CD7\
-9D6D822FCE31ABF1C276C1272D045E5FD92BAE9FBC07EE54742D3342A2B03E85\
-47B1DC94E86C5D08A13708780952498CE3EF3B07710E5777683C9630821248A9\
-D38BEC8AB7C77DF1CA6E695F0289443C13A8A4834D97CE6DCBB6782A70F866B1
-
-# 10 byte salt
-10001:\
-A7DB819EAAF3E6876B927ED6EEA94B97E20D06753C7555A7440631216FF4E943\
-720DE7BE6364B8DE17E663705549051F04141D8612214BC269CC09FBDF1F561E\
-474A2ECA28ADDE3530CA339015F23CEE63750C508A1416FE5D1AEF5AA09BBA7F\
-36CFC02874B15DCA913E35B52B281D32B1CEBD22EAF3C629123988FE78FD0561:\
-75352B85B47E73B18E8CD9608354ACCA4DF8E2B73313C681A8119D6578CAF8F9\
-A52EB4710B97D334D2CD49C365BC0E0BB89D63CEBE3EC62055E7948C9DF696B4\
-06EAB60881B0371F5AE092D0A43ED9AD307D026B2CB6477AF5ACC32919D470C3\
-9C9BAA71B0FA78F8687BF762C399407BB39C59727AF3B61DF3EA486E473D4CC8\
-D67805E8810F:\
-7F51B49FA57C4EC7AC72A90C9EBB51F6E21E3B6EE67E6DE32119AC9FCF97FB19\
-09F74491CDE182ECBED994B66EEC44AC817A8F620444BB6520A3A223BE4AFA78\
-B50F11C057FA4F4835D55283157F5C8AE60A2A46D0CB9D4BE3411FD3505F0FAC\
-5202ED1C0629575B59001488B30E9F12E738F2B388C7EF8A82684CBA43115010
-
-# 11 byte salt
-10001:\
-A7DB819EAAF3E6876B927ED6EEA94B97E20D06753C7555A7440631216FF4E943\
-720DE7BE6364B8DE17E663705549051F04141D8612214BC269CC09FBDF1F561E\
-474A2ECA28ADDE3530CA339015F23CEE63750C508A1416FE5D1AEF5AA09BBA7F\
-36CFC02874B15DCA913E35B52B281D32B1CEBD22EAF3C629123988FE78FD0561:\
-DA40B3B401DEED4DBCC3848CC729C8B5FD169A140914C40FEB752E2D3F2F7EFA\
-A97CE26BABE4099BDBBAA522BB09DB37A1D06CB53A3BF7D621:\
-328E325D4F95D0013019B97F5936EBB347F1E5B01A559560518C1C47DC044343\
-92BD2168DA08668E4EEA9A06A5CED7C9076BF7CAC667503FE6B7903953958BAB\
-B31EE9B29E356274F7136F35F5224A1BF50F3663D002B6220C3EA8572C1368D1\
-1D3C6DD6E1F3D700811257EF8B46246C2A6A975C08DEA782003F5CD45703FD22
-
-# 16 byte salt
-10001:\
-AABBFB1E4E6F15D4D59E50C25998870956ED9E822D3DD899CAB0FA597B4D1C0E\
-61997501FD1C6E9D756BDCBE9BF49C7FA32926F3FDB387D83296BE35EF360872\
-350AE98C934D760BE7A933CFE85DFB99621D32105AC89496C9F001FE9CEAB097\
-C8DD55D6FD3D913496106BB04F265ED12F8ACD5F4B3FD7129809CA8D80E2E1D3:\
-1C79CF64CCAA6C913ABAA5A555558BC251:\
-0C9485139F787BB6EFBF23783CEC74A53DFF16937FA6E76BF120D15ACF87D848\
-0B7EACED7B44ACD2A87C92A3F5AB185B81664AE248C7557C2766656C05A5D206\
-DD110E0E97F4F63364BB396F8431ECA2352FF84B4DB5F54FFAB155768624489F\
-D6E7C40282D1F9D85674D21E01571FD24423461F3D04D9595C43BFEB8EC586E3
-
-# 19 byte salt
-10001:\
-A7DB819EAAF3E6876B927ED6EEA94B97E20D06753C7555A7440631216FF4E943\
-720DE7BE6364B8DE17E663705549051F04141D8612214BC269CC09FBDF1F561E\
-474A2ECA28ADDE3530CA339015F23CEE63750C508A1416FE5D1AEF5AA09BBA7F\
-36CFC02874B15DCA913E35B52B281D32B1CEBD22EAF3C629123988FE78FD0561:\
-3096922A62DABF6B98A4480D2F86629D1992FFE1545869DCE5E69F810EB793C5\
-ABFFAEE2EEB846644C8BE8E31942BA16FE51B7988F355999CFFBA28CFB9DDB1B\
-5F4919790B7E63E37F00289C6CD42F56F7520A2DDA73AEA4BCB2D10053AB9720\
-B201D52AAE450BF22AF2C4E3AC:\
-43F583905ED6D2D53045C60E472FC1FED12EBD88C190EE810F9576E262F3881F\
-BF006211DD5943A48BAC7FF21C4317BC28E4968C98FF6E0F94C055FB104555C1\
-E7B533F9DDC49D200CAA8C2F62C5EDC6A9E9E76290DDEBF38BAEC88EEF8B32B3\
-DE804FF19627C04B13261CE2EF2101619CA1D6BDF3C5C7DEDCF21E18726081CE
-
-
-# Format: KEY:message:signature
-# These tests are copies of a couple above. The only reason they exist
-# is to test parsing of RSA public keys in X.509 format.
-[RSAVA_X509/EMSA4(SHA-1)]
------BEGIN PUBLIC KEY-----\
-MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqu/seTm8V1NWeUMJZmIcJVu2e\
-gi092JnKsPpZe00cDmGZdQH9HG6ddWvcvpv0nH+jKSbz/bOH2DKWvjXvNghyNQrp\
-jJNNdgvnqTPP6F37mWIdMhBayJSWyfAB/pzqsJfI3VXW/T2RNJYQa7BPJl7RL4rN\
-X0s/1xKYCcqNgOLh0wIDAQAB\
------END PUBLIC KEY-----:\
-B841D0374D3C86E67B67BDF00B:\
-1060A74E3EF067A9B17754500B16B8C9F6B3B453FB290C71FCAE779DD37A6B9A\
-24A45D1560DF5E4BC31143E6197AB15684236D8FE578E022495897F70451FD90\
-2BFA5703947EDFF0B63BF1140C63AE1C8D369A87B192E8BF6A3D486E909C3979\
-703806010367CA0E0026F8920EA766B7E3759E23954D0EC2F746E6046FC14758
-
------BEGIN PUBLIC KEY-----\
-MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCn24GeqvPmh2uSftbuqUuX4g0G\
-dTx1VadEBjEhb/TpQ3IN575jZLjeF+ZjcFVJBR8EFB2GEiFLwmnMCfvfH1YeR0ou\
-yiit3jUwyjOQFfI87mN1DFCKFBb+XRrvWqCbun82z8AodLFdypE+NbUrKB0ysc69\
-IurzxikSOYj+eP0FYQIDAQAB\
------END PUBLIC KEY-----:\
-5C3DB99915C8F7EEACB045ECBB7C35C06D4ED5A96AA9025A49093B70D7C2EDD4\
-85930D18DEB57C0282563F2B07FBA63245FDC773CF851985475DFB4F6FA335BE\
-1B4C2C28A294E84E50172AA585B382BE1E1038FBD02F2BD37691D85A18346AD0\
-4CC81948698FF248CFAF33E222EA8B5FCAEC0E5AA8F753521EC47BCB756E05CF\
-95E4365E06A69BB6C99A34A62939B478AC1209FFACC49BA4027749801D4A9F58\
-3395B34340:\
-9705B191BE8BD52D3E6CA1743DACDA5EDC1C7665B6EBC769A5983BB74D2F52C7\
-9F94954DC8CAB9A44FB3B387A0FF2843311CDA640DC39BA975518B511DF87064\
-B17709804D707DA08A315F14D24CF6385310A62D7F6C47689B66C4A12F449FC9\
-5796F1821EA6838DE2941D0725B55EC860CB553B36878C2BA3994DCD0A8992FF
-
-[RSAVA/EMSA4(SHA-224)]
-10001:\
-B8961C3F4D6A9DC27FAE6C30229E1DA910AF796C4EFB2E97DB11E636A7D6ED94672BE33FD7771\
-75CD0D879D805D06F1C9B2A064DCCFB38A63BD768BC092A0AC3740FE390452492A4BB1C2ECD38\
-C771264D0B2FF0496AF5CD6D139287ED3200A9:\
-7072696F6E636F7270:\
-B7530DA7632263B5AA4B0DC9FCBC3BCDF8B44EE2B4BECFD90BDEC108F50EBE325BE6F4EC8900B\
-A1C345F2B6F59FB625C3D99BC6F04D99704144B05C2ACDD61927D3EBD886650E933774DF72EED\
-0A5A3AA2810C17B56F877D989AF3A469950D0B
-
-10001:\
-CA76759F53C1F5F771C00A7C6E09E20754132CEE14C671ACAF687DD4006CCC54F34018C554601\
-18DA1036951EF27EB3211138369D9C3C5EB1C3960A9F6DE7794798E2B33856EB0120CA6771CAA\
-824F1F00FFB4596604700676A6C117C87E12EAEFB6476CD4D83A08C6A6A2EAB3ABC3B71FAF967\
-9EA09735DCC8849ACF80F3705:\
-7072696F6E636F7270:\
-B4816EA318CD92A64FBCF77C4E42E283534B2C500652DF6D88FF24130EB5C84350E9F52E4822B\
-F60D7C4AE4FA11C811A7A0B4DF93C0215BC9B3D04337BC044E1994959D67E0E33121C9CDE1C50\
-699B6C00966160F51C606334E15EBF60FBB8C76EFBBBA51460C75D30DE0F47863A1020885F5A4\
-DF8AAA397C03AA409833380B1
-
-10001:\
-EA70F789F0117223878E296C191838EC52A63918C0B47E02430331182938F8590CB3295FEE645\
-9A90C9923A888F0FCCEF8D422D75B60DCA3ADD01D6C738472211CECE779420FD4BD381C04C572\
-F9AFF554CABB6532C6361F78EE0AAB4FF5A1FA33C5FE7EF3AFE1C5F6CFEA0BA25B0CC4C6FC396\
-BF30535D69928282B6E20371B:\
-7072696F6E636F7270:\
-4FAF0FB7EEBB26B9BA778D092B42CEECBBA36B4DBBBE35C6B383439F23F2062642CB3D091BA77\
-C4E1C46280E85C8C40A24FCEF5CDC9F4E383A54B19BB3BCD8B5DC28070CD5FFCA1525F6A655CE\
-672EF96438F375E6483ACEB338180B24FAD3E4F67B58E246D0BCE09DFEDF5249F30517DA52FDE\
-9340EE69B1B1316B81C2E2E1E
-
-10001:\
-FA294359ECC80FF6077B2BC558710A384A24A72CBF61FBDFF3820BA2DE987906A93FD7591BB0D\
-CCB7FA287343876FEB5CF5ABAE579D01A5626C7924FDA429BEADB924CA9E49F99074A850F7084\
-F7E8747E9A7531BAF576524994AEEDA1CFF1D561B3D16793310280626A2FD0A942324FD04E6B9\
-B80AE0A9CBFC3D8E0D5CA12CE5D04C3C49ABF871D62366A8657342690EA73CE1EC68F65A1835D\
-48B4008346E8EECBCC4FA48C7D62E8844C149AAA4E75717DDE3F38F72FE37CE1269B3C2BF7A7:\
-7072696F6E636F7270:\
-EB6106EBBC6F7F29B503E7AED4CF9FD01F75F2C11433DE73188AC19A9A41D59F995107AD9F8B6\
-57B0718226245A4C149E352BF5D129F53971E30A4DE702876528EA67A8EBFD096396B7229BA9D\
-6DA710DB37613F5FB1F3993B391741CE8E11EE0C324E3F33CFBEB78DB0F270B0C0CC7D3497F85\
-94EC262D88EF9E03EBFD9E26ECE0921006C521A4B1B41D75BD79B5534B183893A18FE183DCCD1\
-506B22E0E7FEF53E56B74870B62EDD262AA45F3FA9CBFC18045A549D5E202D2D20E08322799D
-
-[RSAVA/EMSA4(SHA-256)]
-10001:\
-9E244363D137F1E002C5071CD7E7B7F59823770FADDF1D3D8AF934438C9B6A97258BD5FC0390F29\
-971DDEB394E7D2A6E1C8422368D6A5EB7E1F51E6472546EED2CAF1AD242AFD03C1A4FDD8894B305\
-EE31EEA8F8A36C099A00478EC29D11E17F:\
-7072696F6E636F7270:\
-73F68238B7F19889120893C903258DBE620171982CAD9D155892CDEFECB3C153224D8A94BFD13B4\
-691A4D51175756186AE4F689B6A1A1432EA255C0E8DD844E9C055397090C110C632EB6E24BA5ACA\
-380239D399BF010E1451293DB948D4274C
-
-10001:\
-C34649A69B6C468C51A93B54B7FC54BA7287C14563867406FC87FD98E0B70B307811FD2A7EC2646\
-4D50B5A0213A04C4567CD22B22F2DB162DD464E617A7445A8ECA9DDF71BE38AA32F44181E20922A\
-7AE9851282478741FF69B24158EED69568B0B27AE54FA043F778DC54DD2B23E3D5E0C00113181CC\
-DAD35E04573018155AF:\
-7072696F6E636F7270:\
-3CFA8F2D410D5BE87DA2B644BD6615CE3588C7E4B261F05C18673F24CB570355A7F5D41BBF62F85\
-9BC0CDD5300CCA3DBF2B2AF13DDF455DD6D919811836B22BD4280EFAD24DF30EA185D7357C89599\
-CF0C08A22F4D03162295379E842215DEBEA0DA0AE985F355AF392DD0F9F8A6A1F2827AF781630C5\
-D2A2B917C5544B3206C
-
-10001:\
-B3705A2FBAEB5B8A311150C3EC5315B29C7FB17F9A0680B0CC0A6E463113D9DB68FBD8CEB8C12FB\
-833639F29C76136B70320D0C9A5C4F191ED419598FD4D876ABFD815C1D4E0AA594C1C5D08EB56D3\
-707263CD1F9A09C12F5E9717177E39986F82EA2F65780D2121C537D9D14BA7BED64B46365A898B4\
-5FC1D5386BA954B613B:\
-7072696F6E636F7270:\
-417D26DAAC12A39FEDA2C17EA2ED932AF9544DA11E6BB84B0E9D4758A57FBD9878457171DE72B88\
-8EF7AF40183EE7FDF81044512232D7199C11CF52A53CDE62022352EA747292FB3187EE51B2A17E9\
-AF8DABA658DB6C4A5E4F07A5CF2E9203295E59B1916F526C1EF8F84F72CBA70065EFF5D4BA0467C\
-B77165BAC3ACE21462D
-
-10001:\
-A323715CEF7F9FB81BDA579ADD3CB75FFF4051DD5D7ED2B0D3A48DE237A003831042C44A7E9FBD5\
-55F791C350B1C8424384D1E005E54ACFD67C8747EDC8DD8DC9A5AA48D0EFE5CC127CA706E1E7670\
-8A0130519572A1FCB35CBEBC8575454EF6A72DC2F2A6394E1FB593FD60AA9BDB84C99523B91F371\
-7E263793301685BD380357134BB56AC499AA80B887A28596C2208BD4CA7910CAFDDDB565A788F02\
-1C295F3C3DDB064271D917D986D72BAE38C1BC8A6644320F61C84E71FC5BA378D681:\
-7072696F6E636F7270:\
-7BBB18C1CA207CE639E323DF26B14475CD407995EC612F6D53ECEE977D4400E4BFC198ADF8B40BF\
-E27363241A1F9541F01677AAD98F87E93998935146A8F77E7FFBD3DE59A2E22E5766409733F06EA\
-2993620A27122B71C4D9DE755E70C703B4EC6AF5F314E0F720B656FDA93E2B3EE9A1688D711174E\
-0D72D0D486DE36DCE1F9DA031EA46FBD6156B1E7A65A25B42696C9ACCD453D8E467313DA76F70DB\
-225D3C44E133E65E8BCC177D065F53BB81AF13076AB0695AD2205040CD9B4DF851FD
-
-[RSAVA/EMSA4(RIPEMD-160)]
-10001:\
-BB3066B7BA3873399F0B957B6993E7E4AE7D97E1D3579F2AD45F48ABDA8730C74B09A4DBFB5F6A9\
-0769BA261D5FE0F7290A06F91FB8C9B45AEA37EF61CC7F5C407960F89C0699890C2C49C10E18BB6\
-42FA27FB8B38E9A1E406114027F914E587:\
-7072696F6E636F7270:\
-B24136372B7716310F83846719F61CB4F86B11855BE752E85AE6DE9CAAD99746693B255666DFEB8\
-C4A709C93A9DD1B2A08A9BE75831DA000AFA7D6230212C40F0DA59AB8B6291D1CC1DBA24D86D92F\
-C318F764E905E0BE2CCE73E074498A7DC6
-
-10001:\
-86BC0A053525DD69C5D827DD664A07063C6099565D3AF545DEC168BA5FDDA7E355D426266D7D6CC\
-FE204E53390D2287347593201D5798F937A9A06B853FDCD3516526EC3F697B3F519611B9D124286\
-54A5C7A6EC1872067B308DB2EC172963160FB17DEC45D27792A39CB3F398D48282B6536A0B1E6A9\
-911005DDBE73EA8787D:\
-7072696F6E636F7270:\
-0795B1835ED3412E4EF2DA7DF692D04E959D5204331C6CA3D978F48F319A79B3A1A51CB584E56B0\
-572853527B1C2F99CA3390C91E006466AAD7628A0FA48887397A865F864D6921575CCF186D3FA56\
-9EAF9137EB626A9FB920466FC042AE9B6FB6B8D7EEB4F8193E7DC175B9093FA3E49FBE4D6D472F3\
-F38289A755933234C46
-
-10001:\
-ED1782D5C4807EA628D68A733D736B5438B1A9D9340537576FCC55BDF0121AA423659B67576DA2A\
-3FB8B06009CBB1A009B5010C7A76FA8F1A50BEA540E9A6AFC0E48A95A2FE849F41075E94494E11E\
-459B8AD5D0311900C6DD0FD9215B0A5B33DB0B49B9BE67597D57F636AA3B3E4677AEC213E419EB2\
-777D752A1613334AB15:\
-7072696F6E636F7270:\
-375AC6A2B3CC508CDE09109C1FA52980098EA989C2021CC19D74097A7D67B07F599F3FA0C65B02B\
-DA6FCCBA9219D33A1F07219B616C30B1D455311726FE2470F63B86A02DE283391272D85B77C6D83\
-4ACE4246B692E1B4B512D5E72F3192142E765E38553CD3FCA435D129C7543F777997D8715A2CBE2\
-B15A5659CDC67DA72F5
-
-10001:\
-B4B8E2EC2E25925A087F2731D8FBE4D180681A229D190B58F829099E3781F1A850D564999EBD14B\
-0FC4D8BAC48642FD38B7DC9E2DE709FE8C14FDB2477B72BBC58EC0F5FA6A810E44B2C84E207CBDB\
-1BC7A0358AD6F60CF9061EFCD40A3CF665FC976BF167F8A610D747A1075B7C3753131E78967106A\
-D2F20D5BB1E28D6A0D3D722B2F044670B20530FD1F7983513D7F3527A662571A3AE98E1DAFF9403\
-04B2BA6481B766DB0812AC4BBCD1B87E2A29A74565A5C82A2821F6F1E1B5C764690B:\
-7072696F6E636F7270:\
-32631E346368C620BAF6FA5475F04B56FB60BA5CA67D1E3E22805ED5910ECEE71777FE198279831\
-51E88AA1F9E57E96FDC536CE2F927AA3B34A94441E72FB498A649864488D976A0A4AB7B6490451A\
-4F4712A3AF3587579A791CF8CB18EA4AD388B5C34F6BF54E9CB0F4AC5EA21EA2AA42A2266EA755D\
-5EFFC02FD41C583E1CBDA53C1821BB79FB392D68A4524B0F65EBB64FF6656C52BF54D5774DF2D91\
-6C9B793E206E0D5351D7B4D18DE3CA4CCFA8F7A3ABFB36048C9297F7512B3FDA70F7
-
-# RW Format: exponent:p:q:message:output
-[RW/EMSA2(SHA-1)]
-2:\
-F21624A28732743BBE9B1A2B320CA31EF4A127456547ACDF5C523995E25A990B:\
-BC6EDE730E7CEC8993A6E6296EA8DFBBC7D46615122F23F635FF988E284E31CF:\
-5075752E:\
-44CB3C6CD992A656AC2D8C92E044FCCC60FAA1B47FE153E7BA4B647136DA4A42\
-88BD50FB0935E3B9180AF477F8B88E1EA1106569CCAB8D354E0A7E3AC92D70B3
-
-2:\
-F2E5CDF6CA7387C132242CE031CEC8FE2CEAFA8530EC9795F16605B1CBD97BCB:\
-DA330E4440FE5CD00A37A738DDFBDD5623A31FAE273AD98E41DA0D3DB937CEBF:\
-4C6F7665207375636B732E20556E7265717569746564206C6F7665207375636B\
-73206D6F72652E:\
-5AB035B8E6415D691951DBCEACC6A61987599000A590A414363BF52FB95C5BAB\
-C12812152C5BCBC6A443C68B971EE0AA5E864C9FF9ABE0A85BB86FA544239958
-
-2:\
-13CE5CDF6CA7387C132242CE031CEC8FE2CEAFA8530EC9795F16605B1CBD978A3:\
-14FE360AA550965F93CE76E4B01F55FBFDD7A049B2761817505CB6959A73A4C07:\
-4C6F7665207375636B732E20556E7265717569746564206C6F7665207375636B7\
-3206D6F72652E:\
-0085AC363AEA57F36E348936599A77167BAF17194D250787F347C710019558A9F\
-773DDC25A2216DA694D38E03CAA4F7423BDF03DB0E75161221906222FC9E0F23D
-
-2:\
-1947A060ECFEFA3F8DDED8AE580D45B02D82DE108496AFC322FFD14EA02B7BFE3:\
-1E1384A66A21500DEE4DC2B36F43EF398B1C50BDEE7600CD4340B663471F0F16F:\
-4A65737369652048616E68616D20697320612064616D6E2063757465206769726C:\
-00BE5B2A5EE3CB613ABE4548C856F6C8F8B4B9EAD3795675E59E4DDC4A015D019\
-2F29B6352CDD913C289961BE57F84005F0BBD3AE7E2BBE73DABC50B2201923CC0
-
-2:\
-1AA83F51426F2BDA398221C48E8D322EF66D59098D0418E0C2B06DE6EA2F97D33:\
-1E4C7924C9E6D7ABDB372B112601D4C091FAE6C8FEB518595DF436FE9B354E26F:\
-492077616E742061206472696E6B2E204E6F772E:\
-010E8838216B05B4C2739B65AB2A7ABC114A046E3CD37CF1E97815ECA53750B1B\
-F486A9BA684B9FE2D983BBA5F9D97565F0DCF6A5176C169EC67B6BB6C9616CEA6
-
-2:\
-22C9D42C6803B9AC87F641E9465D300DE8898694427D138761C4A5B121B0632DB:\
-25DA5C05701C99EDDF0FBAA61DCDBA404C05D860DD539E06B0AECA7E56354DEA7:\
-54657374696E6720766172696F7573206B657973697A657320666F72205257207\
-369676E6174757265733A2035313220746F203531392C20616E642031303234:\
-0191F1BA45BC571445612D8C1A7818B52DFF78566E6CCFF7AB55B2F35FA21210C\
-951F171E27A2921032718AE01BB4F209164BA0B21A5842D1925B35D09C7538050
-
-2:\
-388F732F05B06F5BA10816242E8F75A000E235C97174F57931E8D845442147F8B:\
-2F3758EBE44182841FB1743D3BA6AEEC0AEC5758660E1DB37C818199B90A1A307:\
-54657374696E6720766172696F7573206B657973697A657320666F72205257207\
-369676E6174757265733A2035313220746F203531392C20616E642031303234:\
-046C31E4EA320DF130FE1F361184DDC03713BBAC169E08266B91655B42A01F39E\
-1E3FF781B04B2F44B2504F37ACC9688C1ADD7EB94A998779EFCDFBEB9FAFFC82D
-
-2:\
-4AE4F716610D77E35A6FA2FEAAAC3E92706B996414C012EF72BCBE86E3F1A97BB:\
-5145D9E08DA9021E87080C437BE1835B06E5C9ECCDA8E7CF7E30F682D0CB1A9F7:\
-54657374696E6720766172696F7573206B657973697A657320666F72205257207\
-369676E6174757265733A2035313220746F203531392C20616E642031303234:\
-01BF0E20BF646E5E427B8D28CBAF696D7AA6B6DE878BB91C295D5559B1FA9A94F\
-114FF61C11C0BC97066C2FC919815B0FD150CE70F63D696CEA4D5D1D7BDEDC035
-
-2:\
-6AA3DB8710567A30D7E9E61956962D4E4D50BC0510C2238D9136A93CC5DC3A73B:\
-6CAC9FF49F1035D179668B399927A610608788A8C884B76A94A6DDBCA94A52327:\
-57414E5445443A2043757465204A6170616E657365206769726C667269656E64:\
-1695A91578EBC67ED86C20EC4886B2E3895E11A7647D22FFB41091E1C7A3CA0DC\
-E091A1FCBACB859C4A5C8B3B841C0F0F7039BEFEA790A423114F35F9D809DBCD2
-
-2:\
-9EADA4F7D1BEC405BC2BFB4F836E19A488E079030F8C09DE76810B9E63FB41873:\
-AD5DEBCF83372200B106812A6A7CF3A702C35BAF4FC095617794314EBCAC4DE47:\
-476F6C642073747564733F213F204576656E20746865204D544120756E6465727\
-374616E647320746865206E65656420666F722074686520424C494E472D424C494E4721:\
-203FCE80570CA0DA3C2D50634A33BAACEA6D397618F36620EE10DE4E6A51018C0\
-BADE98DF220E47DBA140AEAE910A28F3177D4349740EC05A5EB7BA280D7BF8F34
-
-2:\
-E39815FB87BACBCCF779BC66EA0AE9784FC95E0DA094E9BEDE99FB45F73E2078\
-3038AE0488539A2CE982B4F180FC71858F2E5759E61E2C5A5FAFA435BA3A62A3:\
-CDC7D5FE3805572EA3FF554C086C7DD4020A3CE48DF5A09A5CEB75E6AABCD338\
-F800F362448E87CE7E1A55331ADF2BBF3A22B3E6134035FDA52D9578FD3F72F7:\
-57687920696E20746865206E616D65206F6620616C6C20746861742069732067\
-6F6F6420616E6420686F6C792061726520796F752072656164696E6720746869\
-733F213F21:\
-05BDC911B3F19F2201EDF6CCC792A68BCEC40506F00112A6DCAEEAA2D7A62192\
-931D8968F7312EBFE7F7646CED6A8948E58327862527EFD960F15CD8EC74D1DF\
-1FDC37F369A4A844D15DB7ACC6DB5ADA884B119148929439D5305B6916D0A081\
-1D395E6A28042F83D1154FF45DA6A79A3801858031A2C91EA699C02DD6055CC2
-
-2:\
-EF86DD7AF3F32CDE8A9F6564E43A559A0C9F8BAD36CC25330548B347AC158A34\
-5631FA90F7B873C36EFFAE2F7823227A3F580B5DD18304D5932751E743E9281B:\
-F5BB4289C389D9019C36F96C6B81FFFBF20BE0620C6343E2B800AEFB1B55A330\
-8CC1402DA7A2A558579A2A5146B30CB08E3F20B501081248F2F1DE36CDFCE9DF:\
-2CA039854B55688740E3:\
-1AF029CBEC9C692CE5096E73E4E9A52EC9A28D207A5511CCEC7681E5E3D867A4\
-AE2E22DE4909D89196A272F1B50DE6FA3248BCA334D46E0D57171A790B6F4697\
-E7BA7047DB79DECD47BD21995243DEBBF25915DDBC93C45875C14DE953792257\
-C5C6825C905AFF40109C8CC7E793123D47AC1B5B6304A436CFA9BEEC8E0054E7
-
-2:\
-EF86DD7AF3F32CDE8A9F6564E43A559A0C9F8BAD36CC25330548B347AC158A34\
-5631FA90F7B873C36EFFAE2F7823227A3F580B5DD18304D5932751E743E9281B:\
-F5BB4289C389D9019C36F96C6B81FFFBF20BE0620C6343E2B800AEFB1B55A330\
-8CC1402DA7A2A558579A2A5146B30CB08E3F20B501081248F2F1DE36CDFCE9DF:\
-2119A954F1AC0F3DCDB2:\
-60C3CCF4F086B15B7F850B445F384333F7AE5A4B5EDE2820C7233239E1B86D6E\
-4B4FCA4F50B087CE1DF17DA5D62672A17F2CF87A2875BBD9B138CAF6863821D6\
-A4D553E9EB64C9254A8F9A6B960E57E39069D65E3F561AA1FA91643D42FEEFB9\
-270D34AB0861DEA1E234EA587F580503D46A1989D413DAC2FFE0FC4CA663CE68
-
-2:\
-EF86DD7AF3F32CDE8A9F6564E43A559A0C9F8BAD36CC25330548B347AC158A34\
-5631FA90F7B873C36EFFAE2F7823227A3F580B5DD18304D5932751E743E9281B:\
-F5BB4289C389D9019C36F96C6B81FFFBF20BE0620C6343E2B800AEFB1B55A330\
-8CC1402DA7A2A558579A2A5146B30CB08E3F20B501081248F2F1DE36CDFCE9DF:\
-7A4C634DE6F16315BD5F:\
-308A5D65224201BED626CC83FB901EC84874EE03B2E7AB4E752EDBDE024C754E\
-3CC9841CA062100A8843DE9183354B4E0596E8C68F1605828287884F0F9BA696\
-8FC7A9F0CA09418A8485B90465E5D3F96CE4995A5FC7A6E5ABD9CC06BB8A2C3C\
-8109F72EAE67FB4C108852C881CA645B3C5586F27F12FF3028ADE56E32AD9434
-
-02:\
-0BC31C063F43B3ADE2CD633D554913339071D6EBED5FD665FC5DD7D47B80721A\
-976C3B14FBD253F0F988C354725289F2897D7FB62C5C74AF7D597A1E22AAFBA1D3:\
-0F816BF0ADD559AFDA38B008E4087F6A38B575C56FFF453056EAAAB3381C9552\
-0969546F954D458D48E44850938B1DB471CF4B40AFC47E067FB5BCE67BA98BE8D7:\
-EF0F1D56F4E5D587C212:\
-3E544FEBB6623F5D392003B729FE2BFC20E2CB3ECAC22734DFCA55150254E616\
-A41C5E54CE3B50FBC2FE2363EE9AF9B15C70615497B0A458F8AB6D850992EEEB\
-56D65F87EA1BD6E2B4B7E40A0F5E1635C7DDB17110C61039CF712D3524C9C2C1\
-F35D9163BE5C70276F46634514BE16EC09602782E88FE74EAEB2F50CBB0E3B5C4A
-
-02:\
-0BC31C063F43B3ADE2CD633D554913339071D6EBED5FD665FC5DD7D47B80721A\
-976C3B14FBD253F0F988C354725289F2897D7FB62C5C74AF7D597A1E22AAFBA1D3:\
-0F816BF0ADD559AFDA38B008E4087F6A38B575C56FFF453056EAAAB3381C9552\
-0969546F954D458D48E44850938B1DB471CF4B40AFC47E067FB5BCE67BA98BE8D7:\
-EC5CC4228C3C70EE8F35:\
-228BAA85062F10DCC9D99A23D340BC4B9E463D8AB86A6781A6D2143564303E2D\
-C78772BF68449BE1E2711A68D5A15CF04A23573FB3870454308F583BBB5F2467\
-069EF1395431E70F91BD56D846DC8DB2E88AB3D26A9770660B87A76D6C3575DE\
-512BAFA8A0B901AD15B7D8E8BE2F176A182D16A9609F19A4298416245873175805
-
-02:\
-0BC31C063F43B3ADE2CD633D554913339071D6EBED5FD665FC5DD7D47B80721A\
-976C3B14FBD253F0F988C354725289F2897D7FB62C5C74AF7D597A1E22AAFBA1D3:\
-0F816BF0ADD559AFDA38B008E4087F6A38B575C56FFF453056EAAAB3381C9552\
-0969546F954D458D48E44850938B1DB471CF4B40AFC47E067FB5BCE67BA98BE8D7:\
-FEF5EE07C74118DA30B9:\
-2637E16E2599B6EC2F4728C73D3B29F483C2B881F1E1969C426027605EF080E9\
-B17D258D5E1EBC6472A2501E04CF19C144537FCB38A1DA00D948EBD39FA11322\
-D9230B62E2C12AEDB366BD85A2089588A8D52E941FD986D89828A342B83438A9\
-60B6FD87E9AD025AD75A692AA9DFEA873A9467B42D84879E85C5D11EFAB347FBED
-
-02:\
-FA880A456F9C205A26E02C3357536531DEC150BE0EF8747F69EA30D987FF7DD8\
-9E9A1075EBD39F04FA495BD26D8408A8DE69113A9FBB52F20713D1D046A76B47\
-8CF77C46454A7AFDA2EF418F63FAF67C947D898BCA109F3275999E8F2E60E2C0\
-EEC133FF69E71A2D396632670B52D8EA03F7589D8144AB580B1D3E60EFA1280B:\
-BADCC718DD2D761C4893C4831D56ADA30FC5C7C148D473BEDF7615B7E821B92F\
-319676CE278349F1309FB3D264C1A22BDE71B221354C7A4D31117B3EC3C9D480\
-2E0A26BD8EC05D28B6502C65F35C687AF7F8396B963ED029A2C5AE38DD7C5C96\
-2A953C113C0F590957AB19A6E2AFDA6DB84F22C0C31AE243DEBD2920FBE9FBDF:\
-15E7B7B7ED0F176B6799:\
-39FF4B5FA50AE498F3C91A655E6865840D1FC401EE02DBC8460A59DEB8816E66\
-80F712B7BAF8D4DC11A3B54BF906BE698306F0449BB43F3F223B944D930A1A3C\
-718E8A9E2EEDEC5A07AB817C26A80CC2A2EE2846A597EAB8A999D38DB9849016\
-6F2574524038BBDF24B4E4622C843210C6B94987638C6976562EA9727385B152\
-614C18349BD54AD95DE33D5354954B505E5259CCDA47E3CECEF3154F6E5481E5\
-36BAB568146A0BFCB66573714A7BA7ABE0385115720687F33D9C6EF6BB60272F\
-1272CF349990E3A2FBCCE180B730792101089B164AE5A001F5263F7493AF148D\
-6E0953E311AD12E4202D35F96DD30885663B5101F9B05675FCD2FCC4FCC4DDFF
-
-02:\
-FA880A456F9C205A26E02C3357536531DEC150BE0EF8747F69EA30D987FF7DD8\
-9E9A1075EBD39F04FA495BD26D8408A8DE69113A9FBB52F20713D1D046A76B47\
-8CF77C46454A7AFDA2EF418F63FAF67C947D898BCA109F3275999E8F2E60E2C0\
-EEC133FF69E71A2D396632670B52D8EA03F7589D8144AB580B1D3E60EFA1280B:\
-BADCC718DD2D761C4893C4831D56ADA30FC5C7C148D473BEDF7615B7E821B92F\
-319676CE278349F1309FB3D264C1A22BDE71B221354C7A4D31117B3EC3C9D480\
-2E0A26BD8EC05D28B6502C65F35C687AF7F8396B963ED029A2C5AE38DD7C5C96\
-2A953C113C0F590957AB19A6E2AFDA6DB84F22C0C31AE243DEBD2920FBE9FBDF:\
-B36724C92954C38D0288:\
-3C8CD3614555568BBECA99174B7B203D0BC6FABE9E6FFE0C41EB4D9A2C601D23\
-93CA1E01B7D7E99337758AC914C9F151311E5AE6708DAF1D8C825DA471652C6E\
-13A8FE5802D7AE097BFC899A4EC8CA235B5982B9058C53AAD52823ACF692290E\
-B8823C126635AB0BBF101C2B3149AB16183FA2DBB049DDB99C5E83723E4D4693\
-CA3A08588AA868C677D42ABDAA6586EF192391D276C5E5AF0763ACCA6293F062\
-50C51FDC2AD369CD44EB5F654E98761C881DDEC08E795FFB229B20522349B071\
-4059E18B7B23A48875EAB12ED3F0A011D3A985DD7384B0046F39FA6C1A331F3D\
-4C5125100BA58666935C68A7A10849D9C74850BAB82AE15EC950A283F3E7DAD8
-
-# Format: e:n:message:signature
-[RWVA/EMSA2(SHA-1)]
-02:\
-E5EB47BC1F82DB3001FAAEABC5BBE71B7D307B431889AC10255262281EC5F5AF\
-8A790BD7BBEC5EFFFA442CF2C3FD5CA4778763B9D15AEAC0B9B71BDB13DA8272\
-7F4967AC685975F8FF05A763C864D100B7CC1142102AA2DD343EA1A0AB530255\
-195C3A6400ECAB7B27EFF9B01EF6D37381FA6FB5401347F195354396772E8285:\
-2A51DF4AF88613D91A37:\
-6FF18F4471E1A8F850C910A181A9F28E69AACD8E8126969605E000A853197541\
-AF9047E5D17315BF062B9CD8DF91196F0343285D9E31D5C72560C156782B6D0E\
-5AF8F06D7DCDD8CABEC01B2438C168C40C21F6A8794648361BD2AEE13573A49E\
-CA07A7EED97C0B9C5B1E508869E4CFD5FE1771924B1CF5A4BFF7D4379E5CD59F
-
-02:\
-E5EB47BC1F82DB3001FAAEABC5BBE71B7D307B431889AC10255262281EC5F5AF\
-8A790BD7BBEC5EFFFA442CF2C3FD5CA4778763B9D15AEAC0B9B71BDB13DA8272\
-7F4967AC685975F8FF05A763C864D100B7CC1142102AA2DD343EA1A0AB530255\
-195C3A6400ECAB7B27EFF9B01EF6D37381FA6FB5401347F195354396772E8285:\
-1CF8DDD95D780A89D7CF:\
-539C266B0313E0E256ED98EEF13E6AE64CED90C160A4999B3D47CBDA5285DAB0\
-E0678C0E079CE9B8EB23E10EDFACFC19A80EEBB8F38ED5B5D6C8A988AB8CEC40\
-A5A5BA102F75586167EAB6D5BF0CE8FF30C656895800F6F1B37D69FBBAF9055F\
-7505DBEB537C0F986A1B5F0270DC12A640FFCB626F9763FDCFEFA1208C104003
-
-02:\
-E5EB47BC1F82DB3001FAAEABC5BBE71B7D307B431889AC10255262281EC5F5AF\
-8A790BD7BBEC5EFFFA442CF2C3FD5CA4778763B9D15AEAC0B9B71BDB13DA8272\
-7F4967AC685975F8FF05A763C864D100B7CC1142102AA2DD343EA1A0AB530255\
-195C3A6400ECAB7B27EFF9B01EF6D37381FA6FB5401347F195354396772E8285:\
-F6959926E6D9D37D8BC0:\
-249E1066542618CE0D236A7174708F801E7AB257931E9967A65C483ED66FB585\
-98F99B6664AF0EAE221E2A6B271D7D17875ED02BF7FE35AA0786023858521CB7\
-9FEE0D134D9DDA609B0270FC9804BB6BF74AD90AE11EB339353533DC0D5A69E6\
-B8758212B86024ED563767EA5D9B59655E0B8CC21244F720BA4ED663BF668E3A
-
-02:\
-B660EB18786256C993EBC6DCB5892EAC342F6D91229B73DC5D04F1AFB9BB0DD4\
-EB0B48895F514B4C9AFEAF86E91226F2299126D37528CE374E89CC312C06F47C\
-81112BF5CA60FFC33B98318E04A17627269F1AF461B6CB40F3BE03B0113FB2D8\
-404E154C7191306B36FD3EFA73C784AD9189115D0BB1BD82B850D000E7CC8D2035:\
-2C9EA313EACF2C5DA43A:\
-1FEFF88814BB53E447E1E955AC8F1AF597C15C3866033E337AFBAB8627306F2E\
-C1276621FF2176C89323CE32EA20F6AEC2CC271F1ED749408B2A3E43A23A44D6\
-A3F38DCDDCAB696B239110AA7ECF12C6681B0E97E6FFF1B72F4F6D796BF82B94\
-50AB8B3D28CA9D220BDF84ACCEA1DA5EDA0B470C3A82BBDD77B4C2723297608BD4
-
-02:\
-B660EB18786256C993EBC6DCB5892EAC342F6D91229B73DC5D04F1AFB9BB0DD4\
-EB0B48895F514B4C9AFEAF86E91226F2299126D37528CE374E89CC312C06F47C\
-81112BF5CA60FFC33B98318E04A17627269F1AF461B6CB40F3BE03B0113FB2D8\
-404E154C7191306B36FD3EFA73C784AD9189115D0BB1BD82B850D000E7CC8D2035:\
-0B9554FFE4F6ADAB2C76:\
-095952F24D9FBEF3A93A932865F4BDBB522CF24EBE153CE4BBB24CF301A1C7B5\
-1FE47B94F8F8B211CBC5A926FF6BAF9A6BBF7E15975D2DCCB95EF01AB7E64168\
-7870B0D01FC18B6B16FE17D3FC82931FBBCD4FD18C7F9588CEE8491876D72F98\
-F2E7EEA90C12907210D6859053ADC7178B87BF8B4826954D6986FE761E71E1B7EA
-
-02:\
-B6DEE7375BF4385043B3CC2AC5CACBC14AD11A17574738DD2BD84D2D1E6C74E1\
-6066C2A5C35BC3B87839858AFB5EE5E8ABFAB408F38772866F6F833F39FAB248\
-3A2C34ED55AD7098F9F63D4EC70B7950F02DAAAAB10781A0008F993C4027E381\
-6BFD45C52F59452A7B28873513DCE415A84FC8BC06601567F91EC41647DA2304\
-5B6E01E24516724ACC02947AD5AA2DBA4D952BC4F49D18ADA0B0F7CC5D488814\
-B921C0BC2B33D8828D80130DF7D79B0992CEC40D3BC7217D4A4DFF3699345E44\
-DAC968575194845AA7B60DCF3C712D9B0A384824C3579B40DBA265457D50F69F\
-02A140884D89B7FDEE9F0A787E76A37C58C92CF2D3818C72097D41B3FAA7AA95:\
-00AA5515CDAE5CD0F0DC:\
-30EECA6B48D796552F5A6A3C11F28D730FA077422CAAB34FDEB879AE0F71DF21\
-330E2F3BE5BF3A8CA372EBCD3DFA7C81B3398C31B0972D0B857926CB39732351\
-AACEB8276D52B9D82F9C245FA0F1CF49E785A2BC00FF27FBCF777F84D05BEF17\
-FCC0505820B029AC8F0CE17D2469372CE47E1428BB941004FE170EF87163E072\
-98EFFCC1BFA7E7CB1F572C340CAA075A5962A15B69CE937BC7EFB492F501FC88\
-CBF0119C351C8498782091EF6EFB19120195E5FF51DF86F90E90FAEB225AA2EE\
-43AB4E8358101C0348C7E3859B9DEBA19464C74B74AC48A0B73FC8D2E7F8033E\
-86208F0792B6E5B6DE36C99DEF604949811D1671EF6B0A4781B4E7A0A72AD855
-
-02:\
-B6DEE7375BF4385043B3CC2AC5CACBC14AD11A17574738DD2BD84D2D1E6C74E1\
-6066C2A5C35BC3B87839858AFB5EE5E8ABFAB408F38772866F6F833F39FAB248\
-3A2C34ED55AD7098F9F63D4EC70B7950F02DAAAAB10781A0008F993C4027E381\
-6BFD45C52F59452A7B28873513DCE415A84FC8BC06601567F91EC41647DA2304\
-5B6E01E24516724ACC02947AD5AA2DBA4D952BC4F49D18ADA0B0F7CC5D488814\
-B921C0BC2B33D8828D80130DF7D79B0992CEC40D3BC7217D4A4DFF3699345E44\
-DAC968575194845AA7B60DCF3C712D9B0A384824C3579B40DBA265457D50F69F\
-02A140884D89B7FDEE9F0A787E76A37C58C92CF2D3818C72097D41B3FAA7AA95:\
-B8E2FB9EAE22FB2C0021:\
-416D33F8C213CF81F805F54FC1D4E7C6A588A0965F1C9CAEEA1D41452E20935A\
-AF2D30F957584B56621035430212A428E27A2F687CA9DBB596C19864AE692EF7\
-BBA730F3D70CC2DDE15AB71E1E350C0C316EFA1A831ACD1441598B112482487D\
-F72F58ED318182C7CD0906FE39C5655BF1313F29A15D60A6178CBF600C7FBFF8\
-994840ED649C3C4026A463B3EA39C692B7D112B128BE49E1E32D4A7FF8D45132\
-83D8DCD9CCB8FB7300BE0BDD4C44DAA2F7049B3AD83437093E623442AC69B489\
-11CDA21E95E0775041F67F6E6AE01DCE646AEC20908E7C1B693600FE41ABA85A\
-C0C778641E46C419083E41773C749DB3E1BD8FD764E271860D2D7F8E11BD6AB3
-
-02:\
-B6DEE7375BF4385043B3CC2AC5CACBC14AD11A17574738DD2BD84D2D1E6C74E1\
-6066C2A5C35BC3B87839858AFB5EE5E8ABFAB408F38772866F6F833F39FAB248\
-3A2C34ED55AD7098F9F63D4EC70B7950F02DAAAAB10781A0008F993C4027E381\
-6BFD45C52F59452A7B28873513DCE415A84FC8BC06601567F91EC41647DA2304\
-5B6E01E24516724ACC02947AD5AA2DBA4D952BC4F49D18ADA0B0F7CC5D488814\
-B921C0BC2B33D8828D80130DF7D79B0992CEC40D3BC7217D4A4DFF3699345E44\
-DAC968575194845AA7B60DCF3C712D9B0A384824C3579B40DBA265457D50F69F\
-02A140884D89B7FDEE9F0A787E76A37C58C92CF2D3818C72097D41B3FAA7AA95:\
-8C8C306A629373BAE647:\
-0E9A00045FFD399D9DA9D0D7E543CF9FFD098BC23E72DD7763A64F22C7F0479C\
-E866E31438B8F7DE31A18F35AF419BED6C67BE1540614D3310DD24F019E14FCC\
-3AF73743F4C143D4B79CDF35C752A300F0A8251CCFF4AAF18785C533A7DF1A20\
-AFE6770DEBD1B8BA2C83B2E345A04F833CD173E998FF9840C2F8A370FFDCFF5F\
-D95CBD71B25FC9972192470FD145975344F64C2F6D68CB3513F48F9FC070021B\
-EE8F6A4282D098C44DF655CE415E89B97994AE3ABE85986C7EE0AC348EF2A4F5\
-2D102EA80836E77E81AD3678803E53C83CF2F30D2D4950FB6B038CCB3F2690A9\
-381EB34D6C09E88C090AB05E28047DC490EB8A1282FEB38E82FB0B18309284C4
-
-02:\
-B6DEE7375BF4385043B3CC2AC5CACBC14AD11A17574738DD2BD84D2D1E6C74E1\
-6066C2A5C35BC3B87839858AFB5EE5E8ABFAB408F38772866F6F833F39FAB248\
-3A2C34ED55AD7098F9F63D4EC70B7950F02DAAAAB10781A0008F993C4027E381\
-6BFD45C52F59452A7B28873513DCE415A84FC8BC06601567F91EC41647DA2304\
-5B6E01E24516724ACC02947AD5AA2DBA4D952BC4F49D18ADA0B0F7CC5D488814\
-B921C0BC2B33D8828D80130DF7D79B0992CEC40D3BC7217D4A4DFF3699345E44\
-DAC968575194845AA7B60DCF3C712D9B0A384824C3579B40DBA265457D50F69F\
-02A140884D89B7FDEE9F0A787E76A37C58C92CF2D3818C72097D41B3FAA7AA95:\
-FA95400C2B14E064F76A:\
-3F67F9DBEB88E6AD057BEDC3D97030555A908867EC578A6CA572137CB61C2103\
-6AADE6DDC5592EC7CCB6B263E51B4C886A51904C858040E493D64B9ACE5BAA50\
-C4A66D04ACCDFE0039D8541C4363DEFFCF93BDF5F5CC1FB64855D956B5EFD42D\
-4C9B96B9CBAA97A32F02AAB307674E53404E6836DB5C96B59572ADBFD1113B87\
-608ACE6D0898CB02E35575CC28D38A9FF8C1C4AD36BAA991DEFAB533F0A6C9C2\
-F0F0815F1D659ED576E5DB18494A54B6817D9E34A134F3B9A0F1E8C77FC204B6\
-EE087C0445A7036C935117E338D092F6E1FF4DF7605525C409456A5195233A17\
-6B29B2FD8FB2808D0412FCA0541B2BB6800BD8BB9DC9DC25230166071E8D961E
-
-# Format: KEY:message:k:sig:passphrase
-[DSA/EMSA1(SHA-1)]
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBGDBDBgkqhkiG9w0BBQ0wNjAeBgkqhkiG9w0BBQwwEQQIKioqKioqKioCAggA\
-AgEYMBQGCCqGSIb3DQMHBAgqKioqKioqKgSB0C1Q0dDyQ+/aB6Rid4iU+Kytf/dl\
-y0cmCXyXGWwZhoc0fqq9FwUyoxDFkZgpdYCgInJvW52O5kkgAAYYZdBSziQU4E7n\
-I6KUeZDYDqJU6VgkK9V1k4JoBKS13L68NwLawvXS+iDcSUoV3C591ynOVMeGsMgv\
-FLhGimZW7KaqaUVnqfcHuKp8UfboW6aqrjknltDeHixpTOduOsTzJUrxGMM/o/iV\
-BKSYqmkNrJmNIq0kqOyYBvxgwsfYO3cBPkB5gVBK1qtlg/gwsAA/sDOqyLU=\
------END ENCRYPTED PRIVATE KEY-----:\
-426C696E672D426C696E672E2053686F75746F75747320746F20744F332D6833\
-723320616E64206C306E2E20416E64207468652052656E64657A766F75732E:\
-868788898A8B8C8D8E8F9091929394959697989A:\
-19F24178D7369B619E566C5256C49EA648B68CC22C1999EFC24BD22471563EC1\
-5435356577466CAD:lrbbmq
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBmTBDBgkqhkiG9w0BBQ0wNjAeBgkqhkiG9w0BBQwwEQQIhoeIiYqLjI0CAggA\
-AgEYMBQGCCqGSIb3DQMHBAiOj5CRkpOUlQSCAVCe8zFeu43ErHj8bV0SwfCflqCh\
-WsKecYnHronPutGoumfIOc3vAOsm+H7MdBv7RI8VYcoSd7ccVKCrbrxT7sYpHw7H\
-2gxq4I3IUDjDRr/IcuDCzztP5fm5dcuIgs5qDZdqphYo4L1BNs4XLphK4E1RqW6T\
-UfNHUzrY1Rh26x8HRgd1Zr7O+J1A2ZvlopHIpwT6Byb1SQBiwvI2S3P63yPeqDZy\
-s8wDfcL8+xbpKu8qVN4/D33vQh4F6Ptmdv0xXJuQUij820h+LcFhj+0xRmUae9PB\
-dp8ykyAS5QB+29j2R5YXR93ANtH9q6uAWeRPv08XryEl9WBQy2h6vPOM2NNJJAhw\
-V5rx1HHa+NLJHPaSsTtgiXEC4/9HeMRNIRpwm/aaYyUtx8Y8zamXNf5sfs/RIp5Z\
-n2XIqLzaahgk+xm5C+pqqMAclBkLhT4iX4GvcE0=\
------END ENCRYPTED PRIVATE KEY-----:\
-426C696E672D426C696E672E2053686F75746F75747320746F20744F332D6833\
-723320616E64206C306E2E20416E64207468652052656E64657A766F75732E:\
-DBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEF:\
-4B4471C82B030F2C2115B65309DF23A8B6AE1EEAE0C4AF91DAD7CFA7D3DFC6B2\
-5D5FE99E7FE4BF62:cdarzowkkyhid
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBmTBDBgkqhkiG9w0BBQ0wNjAeBgkqhkiG9w0BBQwwEQQI29zd3t/g4eICAggA\
-AgEYMBQGCCqGSIb3DQMHBAjj5OXm5+jp6gSCAVA3igMQIZIcNy49pBMJeSd/a6q0\
-oICNlYtfNlACbx6K23do+QjlwjgUzUkhpBWzVVNzSxNI7mUgqcFOF7OrBNQWldl3\
-F940k5OrNU0GZCPhZLIT3cIpkiyXSN+DGpMTH5pis+g5f2IG2TKgTz+fVyZ39qUC\
-Be+9sbTVElrF5eYjpMsGzgZW8t33hHH5hvpiXjCqKl49IApI/56EoATwYV/JHJRI\
-sC4m4M+8zYyXHJRiUMnLFgEZK+8M9S8jQf/tXtmT7Ua4ddc3XAhhSJ5zeRupLSI1\
-KEyKjq9T0uf3snhslzw7Vk6XRiUQS9I+QGnfXfW2ZLLji2gA54K/C+yC+UaM2yrV\
-HipE6cWA7f/uWQH/Hn9Al5vjWnY/Vb0WHx54lYVps9Mlaga5vIQcFsxrTS1ZQvHw\
-bygjEqFWhZNCSDQjvvFnelOqKOoq6cYcWmfwSeQ=\
------END ENCRYPTED PRIVATE KEY-----:\
-426C696E672D426C696E672E2053686F75746F75747320746F20744F332D6833\
-723320616E64206C306E2E20416E64207468652052656E64657A766F75732E:\
-A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B8:\
-76EC77EFBCE0F6B01C1AA676ADC3AC6409950FB79EC0DD25E6A76CE85447715F\
-91AB563454FE3242:scdxrj
-
------BEGIN PRIVATE KEY-----\
-MIIBSwIBADCCASsGByqGSM44BAEwggEeAoGBAP795cm2680csLqzJLxt8vzriDGR\
-5cPejI7Sa3BtZNF9JkBLExBeClf891HGVhmc59HI7CSkVwKycD/HXXmNE6VCm4Ju\
-FmT5ENfw3OERv7Wac7sI9PenVT8qc3vfVi0lRcSvx9vXlfqNEEJBWIPV+s03NZLv\
-AAOKv0WQF0B6TtIRAhUA1wYYSyBGcR6bjdb2mt7KjxgCNtMCgYBO9ZCSK5GnL8Lo\
-Mz2/fQnl+/Gtu8REi6ZiwPDrMhjS/7DsLq9eL8OFzZAh85q0rGzVe0d2tow0bm6d\
-DYINiLcmiuH1TwRqYYvOecg2Ek3K/+w76b4An8IY/vtvg/9nx1izTuhyEhG7RZr3\
-yV9bc6caqfPjcIppb6FZ5ikOeTBR0wQXAhUAwi5MTj9OW+mLNUQQUTiUFOy+ZMs=\
------END PRIVATE KEY-----:\
-426C696E672D426C696E672E2053686F75746F75747320746F20744F332D6833\
-723320616E64206C306E2E20416E64207468652052656E64657A766F75732E:\
-A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B9:\
-22E16319CB7FCC90CA03D66B1550FBEB6121AB426E1AE3618A3F8A65C0457A91\
-E1E80D6EB35C8277:
-
------BEGIN PRIVATE KEY-----\
-MIIBSwIBADCCASwGByqGSM44BAEwggEfAoGBANsWdaItyazuSLhac0WrnmYSEKcO\
-ydCRzbSxSvp/QNn46SVucs4UdyCm+YqGchYVdL4MGLNu4H/VXW4D5vU/206YEPm5\
-sqLj0zba9/hohpwb+vHTg9Ak/EX/E+mr8z28TeHkg3LRX18EclzHjKe/zl7r0WlS\
-MbOz27LP4f5uKBUTAhUAyr5cJPSqLKo/EFDJsuzXb1KFgg0CgYEAxY953m2fa6IF\
-vcOJtSpk8KLe/8ZsGbugnFHBaHz+QWt+2sJauf/eTh2hyi48wEmWsAmyI2Jz64u5\
-WrXdJG6Y0DhcwJhbKts5wbztDIL3NAWxuppyGd89dJubaWElqyat81bQtIf7IuLB\
-KgXoL1Ci6BznryfA7cuv3ZPe5aefsgoEFgIUM6rqDcBQGunu3douZ54MG5I7Ve0=\
------END PRIVATE KEY-----:\
-426C696E672D426C696E672E2053686F75746F75747320746F20744F332D6833\
-723320616E64206C306E2E20416E64207468652052656E64657A766F75732E:\
-9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB1:\
-033A7684B382E2D2DE424111A110A7A326BA2158AED4BAC034815B8D3CDE92B2\
-D71A5CE03092079C:
-
------BEGIN PRIVATE KEY-----\
-MIIBOQIBADCCARoGByqGSM44BAEwggENAnkAwD9dAnTwxHobWWmnm8IVsVZuKY8w\
-cjg4YwWmib0iv+wvwhiKon2XNhbtErdg9uqnTPXJJ5dYAVf1cq11jKidgW37g0P+\
-J046VzuAdGjtWaxqcP8KuqBPIu72NK8c6Q2q59LYYS023XY/pvEf5JRSkmk38bgY\
-CK0pAhUAsPZ+YCHrRD4mQrzJXv3dtmWJumcCeQCwP26D/4ElPV4uQ9QilY5wcprT\
-ZzTGSzXTb8WAFHTT89dJjlwqQpAdIiBKrJmyKfWTEpqWtVMr8ugcGhdA1HjOzYTD\
-hsD2kOIYFfuKXmP68902Mpak+WbjsnLaJF4KfC9PrzUL/6ZGF+YSFexN0KvP1rCo\
-eno7RrEEFgIUHmzIejm5tPDB8oEZD9WD+5zm7Hs=\
------END PRIVATE KEY-----:\
-49206F6674656E20646F207468696E6773204920656E6A6F7920617420746865\
-2074696D652C20627574206C61746572206665656C2064697367757374656420\
-77697468206D7973656C6620666F7220656E6A6F79696E67:\
-8788898A8B8C8D8E8F909192939495969798999B:\
-4AF54C9F782C3B4B1D5000985F684B64D5EF030F7952FEEFA06475487BAA979D\
-AF382E53BE6C4D5A:rcby
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBiTBDBgkqhkiG9w0BBQ0wNjAeBgkqhkiG9w0BBQwwEQQIh4iJiouMjY4CAggA\
-AgEYMBQGCCqGSIb3DQMHBAiPkJGSk5SVlgSCAUC8VXV4fX+c+kMB1JpVinAEo/XN\
-U9LzjtAS6C4hUUV5VZQHKNKp8HiOdc65BWrpLOPc72kuNAgb+KjYunVWSCD6k7pX\
-Tm1XHIhbm54dsLynwY/F5jiNcSVKP0115E+WuJ5A4ps6sO0mk/UMzmH6IMmmNeK/\
-pmqK+Gcw63tYchYNXoY6gYAlEHlxF0QijPw2mV93Jl+pxWEwFvkttGmtPCBwCXLx\
-AdNRy9B4RSeaNaAMcALM0X/IrEx3owhoV9LAs8fUViJlVlI3BuVNofXCXeMU2vxv\
-Ax8d3H+CECKAMbtyGL8tBmVE0HKd5ubpjGQpHBW9egaagwSNvQFiXJKAUm9ST1uA\
-4iZgRW0sOEOyNNgWUbxUoI+OYmcDiMbGBzv2JeO/yVFQolmgzflqlE6L3JJ6yqc6\
-y6wZBPcO7I4uLnzuIQ==\
------END ENCRYPTED PRIVATE KEY-----:\
-49206F6674656E20646F207468696E6773204920656E6A6F7920617420746865\
-2074696D652C20627574206C61746572206665656C2064697367757374656420\
-77697468206D7973656C6620666F7220656E6A6F79696E67:\
-9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B2:\
-00F04C3A7E9D31CC7C76BAA9246F5A0BFC3B552BC3593C856C5AF7E7E7B2224C\
-05445802A7D726C6:cdyg
-
------BEGIN PRIVATE KEY-----\
-MIIBOQIBADCCARkGByqGSM44BAEwggEMAnkAtqJA6Mv/8I9ZVRd/288VFQUCcTPA\
-qkAfIn9ZP0aUqDJfRuchnUFrOWkzp0QUTA0eFVMwt3T+R2iL7Rp7HwFbAXLictS1\
-SzGX2CSCgOS4xGDYb8H7s6n/U4twEdQQfRsqKu4Z+gSdpfZStfFKZ0dYA9skEhI8\
-m7NPAhUAnoE2PuOpzxxrKPJtMLBvcW3m46cCeB6j1vT7dpPk4RV8L79QL7S5aJsn\
-5uK9HR3mIdntB2OXTm67qD+pHbVZuYfhrtrM97e72jopd/diGOlwZ0h0iL9xklxq\
-NvSlcuvRWCrlXk4NsJnUGm+fY6YUnWWuyhVVW/rLdD8xwkqP/us3TBdzN6Hhwk1J\
-oB9JKAQXAhUAlmo1ft2RX6ivJhmvitzUcFwvvOQ=\
------END PRIVATE KEY-----:\
-49206F6674656E20646F207468696E6773204920656E6A6F7920617420746865\
-2074696D652C20627574206C61746572206665656C2064697367757374656420\
-77697468206D7973656C6620666F7220656E6A6F79696E67:\
-838485868788898A8B8C8D8E8F90919293949597:\
-01224EAC2D585D92840280C76FB57306222E42800075D2AB872F08A8709651A2\
-219B1E7FAF242103:
-
-# Format: KEY:message:DER_sig
-[DSA_VA/EMSA1(SHA-1)]
------BEGIN PUBLIC KEY-----\
-MIHwMIGoBgcqhkjOOAQBMIGcAkEAp7fQiSIN41Jmp5D6sTiK5uZqM+NRrtZHVPwP\
-gicmBY7jLGKeSK7CNlaPTVkgKeQ04p7YCyLfMWk33vMYiAndOwIVAOoV8IwGiIXb\
-Rcm44dWRfdsOJI8BAkBUtk78F7Kf8X7/5eapEczOy4i8h8F0QkYQp7CZVONaPi3T\
-i2HA64tp3zM/z1WEEmO6wC4I5UrY9a84ckwLIwp8A0MAAkAS1f/NjG3z1z7Fhx7x\
-koG5Oitf7m9ER3YzYJEe/vQ1mtDcgiNnAV33SOCz02jfaFr7+H3AdI5KzDXTB8HB\
-2sQw\
------END PUBLIC KEY-----:\
-00BF86875B7DE45A29680AD78B41CF13BA70DA1DFB8500:\
-302C02147FF68E7723C6D6718D4B5BFD04069D4F86F48A1402147E78482F2BF0\
-37283BDE610C957E75CCFB5E1785
-
------BEGIN PUBLIC KEY-----\
-MIIBUTCB6AYHKoZIzjgEATCB3AJhANh0wGx4pOKnBg64l80gNBxTm0ql7BlotR9A\
-jFdGqVBK9BZTU7sqGRSgQx4WLiLvJZB9VRmYo0pBWd7/YKS/yufwytojoirhXhz/\
-IG5KkKbUZI+uWnFUFD+8YBiJo7hYtwIVANVZFYUPbGdHhTuhnGII8o33i3yHAmAr\
-nFyiH8nbC3hVOFq/ba0ftJ1HD/gRIKIhdjJP+BmDb9epR/45W8dgvPwZr8NCix4G\
-iJhaDt3B5ozEsFVtG2Wguk9tONZocCQByx48+tP0ELWhfHvsSv+gMrd+AeVzg34D\
-ZAACYQCmvNmEahHpA348XBaXHK9qVJIm7JIS9v1Zx7w10UUSe9fha2BKH+DCirfL\
-HVD5L1Ll3mJVJH/j+uO1PMZu5Sbuw7SDN/fNSMnpU/0krR8eZ65B3Strd3tM/vQ3\
-fS083Gc=\
------END PUBLIC KEY-----:\
-E58DEDE156818EFCDDC72022EEB5D457CF25032BC6:\
-302E0215009BB427CCD68D7269D3692A29489026F9AFA71745021500AAC0B52E\
-5C8BDEFD0E7B3F81189C50CA8C46A3E1
-
------BEGIN PUBLIC KEY-----\
-MIIBtjCCASsGByqGSM44BAEwggEeAoGBAMtC1tIjltuwKtWprTwYrEpO5ClbyUvd\
-BTIvUuYLrAaai7mGCSXbGRBXAHPS4hLQjUPZ7JuWYiLA2/WEttUP0Ai8P+oGsMKX\
-DIP31KifdwNHa3jckrPS1mMgA2xVDm/nIM07HxquQ3mXuM3YJ8Di47yqvlAoOeZP\
-e8fgPLe76zPJAhUAwy/14/bLpyDtp3898V+kSbHKb+ECgYBHUenqYLWd/ZNUXWCo\
-hihbT2FmS8kxCjiVsqhAd1YfXe+KyPKR+N5r2qfwoN87L/7jNO6Mm90T+OxEsfKu\
-HZMBAwwOXN54eGBjiJhQYAAryMQuwFV8KICbgOG8FyJDUjo9P6qaqmezV1ibqqsr\
-SVqHE6BjEgqU7T7ee6JbhdHWyQOBhAACgYAJDkq1oVGgIE+HdMGjj1LPclk51Euk\
-Fd1GMt+RLxB7Yt6Ism0txDoBE/aTbIi/b2bNCShn0y+Sr8+KT/6kYElwIfN9y1ZZ\
-mFlp+idxV25J7VpcMnSwlkaFuP+gmPkesXImQafs1NAgMvbLtAqmARO8OX3bO3o6\
-fz7eifelYX+8dQ==\
------END PUBLIC KEY-----:\
-EAD985D13D2A1217AD620068A2CF985F031F37BD22:\
-302D02144CEAA8139F1A477CB91B77B9B20CD66F13291B0402150082191AD5BC\
-88067D833F7DB0629527B1A19EF36F
-
-# The reason for these tests it to make sure that EMSA1 shifts the hash over
-# properly (because the 192-bit Tiger hash is bigger than the smaller q).
-[DSA/EMSA1(Tiger)]
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBCDBDBgkqhkiG9w0BBQ0wNjAeBgkqhkiG9w0BBQwwEQQIg4SFhoeIiYoCAggA\
-AgEYMBQGCCqGSIb3DQMHBAiLjI2Oj5CRkgSBwErzYywRqfwW9IxzqzsovFjnZK0Z\
-KNpUiGOk4CJxENZd0/qt6ap3AaspM9u9xsfhO6WOK5eDimQDpN+lBsqhrKbmErWK\
-9ngRAE3/vj6DlO5RHn01E57fr+aQE1kigjhHaNPwAYZXEKlBqS1SxSYd26LlwcjT\
-JrRqblCY4cBjCBGtzvVJK3escwTELNTZGgTr4X0A3sX4jCs/b/+MRt67cfb1SYOI\
-hmojiK/EqJ978yCZu8YPtQFo68Vq/RTuaHvUEA==\
------END ENCRYPTED PRIVATE KEY-----:\
-54686973206973206D6F73746C792061207465737420666F7220454D5341312028736563\
-6F6E64207465737429:C40DA376ACBB379890ACDFB021E02A:\
-041A7C1033F50A295DA0C4D436BD612466FB65ECE1357D4770BF93413F2F:\
-lorellnmpapq
-
------BEGIN ENCRYPTED PRIVATE KEY-----\
-MIIBEDBDBgkqhkiG9w0BBQ0wNjAeBgkqhkiG9w0BBQwwEQQIxA2jdqy7N5gCAggA\
-AgEYMBQGCCqGSIb3DQMHBAiQrN+wIeAqKgSByLDSSPDO/Ck1yLY91WOlFZzkM+jZ\
-P4jSwPOiJljd7+2i7+zBAe2LCkVyQZ+WMsScjNVvmYvmP9wucmMnj98XdpZuXScd\
-1GLkFurNB6MFJqW/jKUURrHWEwkIZiUlKVObnDyMdAk6PS/xpfRkDdQfqIvCTsyf\
-X5uscHniJlAfqUMAsiMUGUgyunrZj63DVpoP89mj4E6Ep6WuSmjF48QwbAHuYPBs\
-gwCpLRTCgr8EBF0WtZT+V4RzTmAG1qYyYEV0wdpiG0d5Pn7M\
------END ENCRYPTED PRIVATE KEY-----:\
-492077616E7420736F6D65207069652E:8182838485868788898A8B8C8D8E90:\
-6DD27F32F0012698CECB2D8BE550ED662111608A6586A481CC7E2E4C5CB4:\
-khopkmcoqh
-
------BEGIN PRIVATE KEY-----\
-MIG6AgEAMIGhBgcqhkjOOAQBMIGVAkAA8HR2W1fHj8t8G9/BzpO5z1Ea5YnMTwMS\
-/ozvaNrdRuRf+RuNGAEer1deRluO3BrQlknECrK+0BxpzfPT51qPAg8m1F08NAua\
-+OtE3W4FMysCQAC+p3SjytVnkwVRSkxKcdSsbBv9NbW+TGQrxWE6KqfRoxN/Tov8\
-+iZbtXywoSMLpPjP+oi/LQQtJTV7B07mRwQEEQIPJIiuAFmX4/IH2oOwMoAZ\
------END PRIVATE KEY-----:\
-54686973206973206D6F73746C792061207465737420666F7220454D534131:\
-25ECC0ED4CE7118A72D133704D002A:\
-14593FBF63EAC64976987524044D8B11AB9A95B4B75A760FE22C45A3EFD6:
-
-# ECDSA format is group name:private key:message:nonce:signature
-[ECDSA/EMSA1(SHA-1)]
-
-# From ANSI X9.62
-secp192r1:\
-1A8D598FC15BF0FD89030B5CB1111AEB92AE8BAF5EA475FB:\
-616263:\
-FA6DE29746BBEB7F8BB1E761F85F7DFB2983169D82FA2F4E:\
-885052380FF147B734C330C43D39B2C4A89F29B0F749FEAD\
-E9ECC78106DEF82BF1070CF1D4D804C3CB390046951DF686
-
-x962_p239v1:\
-7EF7C6FABEFFFDEA864206E80B0B08A9331ED93E698561B64CA0F7777F3D:\
-616263:\
-656C7196BF87DCC5D1F1020906DF2782360D36B2DE7A17ECE37D503784AF:\
-2CB7F36803EBB9C427C58D8265F11FC5084747133078FC279DE874FBECB0\
-2EEAE988104E9C2234A3C2BEB1F53BFA5DC11FF36A875D1E3CCB1F7E45CF
-
-brainpool160r1:\
-1CA8A0ACE60292D2813D992C4EC7A4BCDF611C0:\
-43727970746F2B2B20352E362E312045434453412074657374206D7367:\
-9CB692B33F02179D1A6F2A0669FD8DAAF17E4FC4:\
-672EAFD043D30BAE7CA826828333FA70F10A14C7\
-0F49C076BB26178277D8E490D0C77F7A9649DE31
-
-[ECDSA/EMSA1(SHA-224)]
-secp224r1:\
-42D126D0E51F3D6AA9B4D60BD1290853AA964A9C8698D5D5BDBAADEB:\
-45434453412074657374206D657373616765203230313130323135:\
-E1F6B207B4FC896879A51F65E85DB94CEB633FEC765739E689847D64:\
-A4C80AAF3D7B61200E66D6F41EC66D3D65E9E38DC06A88FE3B7F6C4C\
-8A5CEE4E04FE240464EA2DBB52489D3FAC1CDE6DA24A0E4C6598BCD2
-
-brainpool224r1:\
-47B5CCE9EED463CED28666DA57DA9D0A8BDD3F000CCFC0AE6054F1AD:\
-43727970746F2B2B20352E362E312045434453412074657374206D7367:\
-9E9D0C9E67FF5785C3AD89195567CD3990D54C628788F26DB926F5B6:\
-40369F41BD0D15C92DFB855779DBF439376FB6EDC4153E9B99019B79\
-40FEF076FC8D610EC12AFC9CC43A150BD0190E507622E6623906D6B8
-
-[ECDSA/EMSA1(SHA-256)]
-secp256r1:\
-368E89CC30AE7A3B4B4903C30C238C010257FE97DB85AF35982A7960A0DBD2F3:\
-43727970746F2B2B20352E362E312045434453412074657374206D7367:\
-E2AAB3BD3AB1999651CD903F5385B8EC2EDA84C43B7801F08608C179DD373369:\
-CBED1CE0D581020D2F89174EC2DE450C1D547BAC3DCEECCDD476A6AADF46D24F\
-C456F43F351605CC40FC2A000B4D291042B5AEEA7A783DF89FC86666D832DACF
-
-secp256r1:\
-6CC691616D2C996A8F00A31C2EBF4E35C5EFFEAAFA2266F800768D5BF8EA2C1B:\
-45434453412074657374206D657373616765203230313130323135:\
-C1DDAA59A4E0B5D95EB873C33BC465C6782EBF7BC43DB18058C9EC4816AD2A11:\
-A8369164EF54A67303760B77AA62C4DE8122396908EA5B06DBCC2BC48264C832\
-ADB3A8855019D5AFF789EC1F276AD38A03AAF41F88593B74E5CB9DF7E4BD4922
-
-brainpool256r1:\
-4EC702404A8047A08206721DE33F02E1F06B14E09A5582171EA9BB8AB3C9BC14:\
-43727970746F2B2B20352E362E312045434453412074657374206D7367:\
-A9952A1B896FB2C2AEA88EA578E2A5323114978A765E03E397969DC0F282708C:\
-54F843E89B084EEE1CFFED09F222DF041CD46DB0C48833667BA0790ECD603089\
-5304039A927714E79E5FCDB1D043E093FD85C8DD98B835CD6C7BB492C05357E5
-
-brainpool256r1:\
-416D7FCEB966DF966CAE7BE2608C5C4D8939A7B5B3CF6D3E441A64886AC5FAD7:\
-43727970746F2B2B20352E362E312045434453412074657374206D7367:\
-A07978494C1B301C1E44467853CD367624549E0E9F5092C0100A53F877AD2EF6:\
-93935B733CCC6A8702191664346135D1D6320D86A2346DFCA41AEDFBC4260435\
-A4A9C66485C02BC2DCC858364173FAE00EA02529BA21B56BBBB2EAA4B811416D
-
-[ECDSA/EMSA1(SHA-384)]
-secp384r1:\
-100CC52F0263DCB12FDB9E50D44A4C84831A98756265DF0CBFD092D27A739821\
-043BFE282E2C8FAD46948C1F0365DD0C:\
-45434453412074657374206D657373616765203230313130323135:\
-C27CC4947F7CA7AF386AF5BEA88582685A043BB3C83C0C8B2A4BB1E53A3971FA\
-8161168E332B2F3735A50BB3E8694F43:\
-C8B93B3C4B97B87A918522F423E26194F1AEA2B83FE890893C15928B79BCAC75\
-F66AB47309378A54771ED46AF6AA453BFD2404EECFCCE19ACE11E5D5883EE40A\
-300A42BD9AC79E77E507DE9EAE0B54034DB17355EE2111990ED226701D4ED7EC
-
-secp384r1:\
-4AF67D00B7A8D964B38CC52CBC808D4693595A5B330E0B3EA52BDCD619D41B85\
-6961BDAC571D9BC93D16A9B1C4D5CC2F:\
-45434453412074657374206D657373616765203230313130323135:\
-8C5D8DDCF8AF127174577A60F9B5512813E33EA8E45B471F343806FBF68663E9\
-915B81A33F6AD22007D57818023AF982:\
-FF83C10E8D84777D17B724957B83E1500F578F1096C48BE2BCACE73E6681CDD6\
-A34F66CA2AF31241FAF85AEE2528438DA6BED934D75ACCF2E41176D8B661AB58\
-B7B867D802C38B39E8227F9CF0865072D381948FFFF637D8FB9B37BEC6AE0772
-
-brainpool384r1:\
-19AD48ECFB30F115AEF41CAFD29B265A586399C0F95166017AA7DB894413A2AE\
-821B7BE4F4E7B6BBC22A4E2EB1CC0865:\
-43727970746F2B2B20352E362E312045434453412074657374206D7367:\
-83928FD1219F1C6D5B128C0ECD2E39A83399CE609382D41890D43FD476318E0C\
-26264E98E0D5A0DBCC28A8C01C2D63D7:\
-4B800A206ED7807C0F15798509164709E94ED73B5E02B10D65F45B6C2B7FD694\
-37F3B5D1342DAF0988CA100B8875C739\
-2CFA819E10B76CFE12B2C6485D8326B66E6256CD2F4A6DFEB9B2B7BDD732EA9E\
-9D5398DDECCBEAAF3FD53D554AA1FADD
-
-[ECDSA/EMSA1(SHA-512)]
-
-secp521r1:\
-1511908E830069DAD59E8BA8F1BD4045612A4844805F61F7ECD92A1DEE1877B7\
-E62A57860314820C97FFC972732E3C4C0AE837103692E85B3A11B49EB3E20EF1599:\
-45434453412F53484128353132292074657374206D6573736167652032303131\
-30323135:\
-01C352020AAA6D14B6FC2B78FD46209A9EEF6A357CD8B5D53738E3D655FE7A80\
-8396E1DC5742058D05F2D76C8CBF4832BE0580A6FD7B4C7426656D17680DEAAEEEC2:\
-0138A515C79EECAAB50139FB5D9EF5A771CC1C0999F2E54B5A1A9370EA8ADCFD\
-DDD6E9933A39EDA0862F3ECAEBD49EA5ED58D93DA8F72B1CFB11E52A1528AEC8\
-63870060D717B29AD6D36DE953A4753FAC58629429EF4DD8F98B5A4F5504C5B2\
-29C23C609905632CD8D839DC472693698D7A149E8F3F17462F86BA0A7A895D80\
-583A46E9
-
-brainpool512r1:\
-1433AE89858BE7DD9346AF015FEC69F0556982FFEB9CCEF7FB1CE71155F7620C\
-ED4A6ACD0F35461A17C8370C4E600BECBACC0F7C1D2D1A2C00203A0E6626C21C:\
-43727970746F2B2B20352E362E312045434453412074657374206D7367:\
-AA72BC70ABD9E078DDE47F5440E75A93F136F6EAA5267F591E0D3F562DE48BD8\
-FED21B9E3F6F5560250566A00C7AAE7E57770BFC7D18A3E7750DC6C7083CC5B0:\
-A058CD406C7F2D87FBBDDDD1870C67D1ACBD222D45A929565101842EDFAEFB89\
-3CF07AD22CAC0F3350A7D1300741AB5ECE38498F196690CBCEDBF8C866995E5C\
-17F48EA66EB70ADE68F6C16103BE54DD004230270E1F8CAC2D6BD47F717C0D1B\
-1E335FA4AAA5212321EE93E55FED129D781912A0D87B78A5B569DA272B3C9469
-
-brainpool512r1:\
-83DBEFECAF8CFF78C575BE9659C1A104767979497AD9B589B1B13705C71F1DEF\
-AF5CA76C8700236CE2392268E0133CAADE358E3D4F2E64CB4AB8517079E3EFA0:\
-43727970746F2B2B20352E362E312045434453412074657374206D7367:\
-A110CC7BEF64F5C0349344025B97B151C735408BD2BC0D0CC4E54642EA0DF33E\
-829E85916086B51624B830BB2CDF53DAD9003A6D194115051139DBC3E81DF197:\
-3254388208915E0EEB99DA89AA198C6FDB1A31B21D3B69EF8EFE4848AE78C32A\
-4C489347510A9DD04125BBE95F847E14A2DF3267A0A6D1B5EC442B130C9B5DD1\
-924FCD9F365897570329BFEC41FBAF42961210F3FF850DE5736FFBAAB09C5C03\
-E0058BD51C8A8EF0FF221F31CF93FE59572ADA3CFEC7016085258A45D1E8544C
-
-# ECC verification format is group name:public key:message:signature
-[GOST_3410_VA/EMSA1(GOST-34.11)]
-gost_256A:\
-0400B6F1D75EF48902B0C2302F52CCC71233EC55B903061673AAA586A2B5\
-864048EA2675E8FD8DB1FEDFC7DD40E3CF3A319EE3130E0BE9FDF994B625\
-BC1885F271:\
-:\
-FE406F383A54127453AED406FA9A3B610B28F89FC918C07A5A75289E97B3A991\
-AA3CB0563295A3E281BA368DF8471DE0A4150B3CFCEA575D8A9CC9779035EC36
-
-gost_256A:\
-04BFE0BA366BE575E45C5BBA339C51ACD75D517008A9D3169E3CCEA6EF08\
-046DA74312382D835BEEA1C561A75AFCAFDA0F75A4E5D9787F9DB2870A03\
-2AC1D90465:\
-:\
-F3AFCBE1398DDC01F0A9E4B45397F3ACD8F343399BD2805FB6293E9CB871123A\
-B7AB61F33E0B70166C355963BB80B8F6DF54F7F6A43872295CD42B6ACF7DF678
-
-# From RFC 5933 (via Bert Hubert)
-gost_256A:\
-03773DC3F032886D56439A9F17490B680570043F757252C1F60819D6C30DBF1469:\
-00010C0300000E1070DBD880386D4380E954076578616D706C65036E657400\
-03777777076578616D706C65036E6574000001000100000E100004C0000201:\
-66ED09C0A6C97E22CB4E66BCA61D2082FDF6924F3A717C43B531B2D43FEE76DB\
-B0F490A7901B009CCDF87252EBE1790A9AB1A6A444DBACA3E264AF21D18B5E83
-
-# NR Format: p:q:g:y:x:message:k:output
-[NR/EMSA1(SHA-1)]
-# Trickiness: in some of these, we put a leading 0 digit on the nonce (k). This
-# is to work around iteractions between the way we generate the random numbers
-# inside the particular algorithms, the way that we 'fix' the RNG so it
-# produces the output we want, and the sizes of some of the numbers (usually
-# off bit sizes, eg not a multiple of 8). It's a horrible hack. I wish I could
-# figure out a better way of doing this...
-FCA682CE8E12CABA26EFCCF7110E526DB078B05EDECBCD1EB4A208F3AE1617AE\
-01F35B91A47E6DF63413C5E12ED0899BCD132ACD50D99151BDC43EE737592E17:\
-962EDDCC369CBA8EBB260EE6B6A126D9346E38C5:\
-DE0B54EFABF297087EE623D5CA5588C64828EF4FDE4FFBAE1ECD2006776B05B1\
-1B81EA3CDE9BC3964C1687C5325BF43D7CCEFA0D0A86BE5DFFDDD0D1143DCD75:\
-D057B29DA96809BDC761F3210E467BBA5931B3C406581B268121FA5625C2F850\
-8B95ABC87CB061A8C32FA04E67397762F69A23ED42ABE051BD761DED4BD61582:\
-78E2D47D180E4EADD866235F5CFE0E487E862226:\
-FCABA2CF434AC8DCFCEC:\
-91F1D3A9C129D91120EA3F6486A079AA695AB632:\
-44EC399FAA3853B7F7313FCCB3A30B82B20A18C45E53188FC58B0E3C141A0851\
-BAEA0A7723C71A94
-
-DC523995E25A96ABE93502691F3411D3A6C19AAC218404B476913794A81EA8E7\
-8C3F8A60E6A05C151C61430743C19B4F1BA140EAAFB0235F93E83CF2995FF0F3:\
-BC1624A28732743BBE9B1A2B320CA31EF4A127456547ACFF:\
-829D8EE7A7221DC83F22F85FB5FC955E4D1E30563151D87AA82F1466E379A991\
-3351026B996C05413B01AB6E1AA83A8B3A30F0BFF50E118F0806A59209B3DB91:\
-8F8340D8E87FCFDE0BA81B45003DA97B7FDD21B4C1F256463507E56CA0F0FD25\
-FBA142C93E23AACAA89289379B953FA55B3E143164A035E470104A9A984B083A:\
-4CCBC8427B955CE5D0263D682AC2B8BF7861ED6226B848F8:\
-5075752E:A876034938F576056B00569E4706963C8B28D23E03AEABE2:\
-3097CCDF824E2BB33089DAA042551335625D9802A2BDE54C10810881157C8DC3\
-7E2ADC8195251FBE040B919D56512F57
-
-19A61288F2865F83256E77DBD8D651E6481A3DBFFD5F76777ACFC8C7F7F67BBF\
-112ABE08CF39A751295EAE6D388DA7D469CD312DA63C024304948A6C6AEC9732D:\
-1ACDF5C523995E25A96ABE93502691F3411D3A6CB:\
-50438F2395561269EE8DB64D7AB5602F3BA1544BB997A33CC5090B24B0911872\
-377669726D11BFCA63922CC669DB9D4B87D031079D10990012FFCFC54BBC8068:\
-DF49BE748682A13BC2EDB80D5E4C793E429F6F5F1F042A18ED8515529AB2F1B2\
-1E0F9E824C3F6C65FA04DB99E3D8C6A1DE6E052EEBFDF98F5655A58680A964F7:\
-16226B848F79E4E38E49D072AEEAE3AF4C3E1CF6B:\
-5075752E:019E4706963C8B28D23E03AEABE27C7B294EEC2337:\
-006AAA75DD2B3A7AE867D2DA3581D04AE2AAA5905C0074F8C1507136682A93A2\
-3A89504DC0FEA5603946
-
-2AC218404B476913794A81EA8E78C3F8A60E6A05B71066EDE730E7CEC8993A6E\
-6296EA8DFBBC7D46615122FB2F836005517F32C1DF25ABCE53CAC404E95E72675:\
-1ACDF5C523995E25A96ABE93502691F3411D3A6CB:\
-65052FC9728732E830ABDDC1AF7F1DAFB410BF1FB02A5414D718DDF0A867B8F1\
-C22EF2654B66C4EC538F34A4BAEE73981F86D07366EB672D2EEECFC347EA4674:\
-29F696C36E3BDF9B3945A031481EA7CF153ACAB0B689CAB7B799FFA9B5042929\
-234AE9C64D72690FDA8932E7C9AA808ED242E5E06AC68279544CA0B0BDC21F7F:\
-120FEB207F73754A9A42CD019FD2AC263476AF3CE:\
-5075752E:019540EEBCCFFBC202BB81AD78F1E046F4D4597F53:\
-013D9A09041BA0E9DD2ECE20C5042F5442DD14C8F00113A3C080CB2B8FCC156D\
-33E7FB8966032FE1570D
-
-C7ACDF5C523995E25A96ABE93502691F3411D3A6C19AAC218404B476913794A8\
-1EA8E78C3F8A60E6A05B71066EDE730E7CEC8993A6E6296EA8DFBBC7D4661512\
-2F23F635FF988E284E3018C2C5347734940F7A0B045A5C9A61288F2865F83256\
-E77DBD8D651E6481A3DC0CE0373D9A1EC8FC785D39DBF228112FB58056F7B0E9:\
-C1624A28732743BBE9B1A2B320CA31EF4A127459D:\
-92EC521C2E2C415DF4DE9675A934648149CB0DB1BDC2B11A59D276B1408DA81E\
-D2070E5A311EFD6D7A01B1D327331A7D5C830B781B9CC08D385EAB22AECFC558\
-3052C387ADD3F5FBEC04C1240BD3F48CC2482334F58606C0EC62DEAEEBFF0AC3\
-BC4ED688EA0E27DCE1FCA166CF67741D1FC0EBD7F19E10554C5218C0A5FA7BB0:\
-C0F8288391AC019CC4CFD7DEB3D85ECBCEE4386A4655E9FE68AB66B30098C7B4\
-8601B106B3EEA4F5D71995BB0FDFA27870B83ECF6F7EE4842B2C623367AF864E\
-0439A3D1125D7E697B085ED98AB85981D4C72BF10B2E2DDE9FD6D53D29D68AB2\
-DD87122F58EB8C8E9C52E2C1E346A192F12CCB472CD54DAF600E0E93EE06DA19:\
-64E6970384247DDE2C94701DEE2BD4255785BCA10:\
-5075752E:0AF20FE4162B721067160E55F9BC980AAC8A51BFCC:\
-05B325CB3BAC1A189B132F8F88DB1389958604305104AB71A2C77D8A9C902655\
-9C2E1765D44A81A1178B
-
-1ACDF5C523995E25A96ABE93502691F3411D3A6C19AAC218404B476913794A81E\
-A8E78C3F8A60E6A05B71066EDE730E7CEC8993A6E6296EA8DFBBC7D46615122F2\
-3F635FF988E284E3018C2C5347734940F7A0B045A5C9A61288F2865F83256E77D\
-BD8D651E6481A3DBFFEC15AEB9410B3CB207A15FB0737509DFACD160A39DC3:\
-C1624A28732743BBE9B1A2B320CA31EF4A127459D:\
-9C78F55BBBF7C3B8AC9EE5F94F3DD9A20A521F933FB57A035CF27659EC01BC859\
-D1DE6F187791E92DD4F6F547707B7DB7586678E7DCC58F08897E3E552F2BB2ECC\
-61F4F06F4685F382DB34EB23ED93BF22FC7FC2E9C0A4151344CD22AD014B0ABFD\
-C715A199E4EE599F09967E07282624F6F520FE79752B94FD6B32A1BEA8D6D:\
-4C9421E17B605A89976C7274DA20BD5BB94DEAEBF07CB926B4D33C9B9C1E5939E\
-4BC1DB1BDA3CD1CD7828F17456666D243CB05DF5C02B430B25D41EB5E6CC466E6\
-7A5AC7D89EE3830690E3590588EA0CAD1883E299D2B9984B9234C6A49194BE1BA\
-31D5CD8F744177064622E696318B4C15AC1C94854F63473F695F2F517807F:\
-69E4706963C8B28D23E03AEABE27C7B294EEC2338:\
-47656E6B696B656E67617220466C61726521:\
-0A9A8513912E5A2AA2375A50A53E505C0F8D4D0A7F:\
-082B6655BB32ED12D90CA95B8DDCBE36DA1DF3C96F009F88917FCB93F04D6198D\
-438A1EF1FB732914332
-
-3ACDF5C523995E25A96ABE93502691F3411D3A6C19AAC218404B476913794A81EA\
-8E78C3F8A60E6A05B71066EDE730E7CEC8993A6E6296EA8DFBBC7D46615122F23F\
-635FF988E284E3018C2C5347734940F7A0B045A5C9A61288F2865F83256E77DBD8\
-D651E6481A3DC0091CB01E4ECF2CE88F83F8CE4E39290A544519A92FAFF:\
-3C1624A28732743BBE9B1A2B320CA31EF4A1274569:\
-1CC1C87EDAF647CBD7356D6B162BC027C549063734D50446C9FD5DF04EE59547BC\
-B4022D7BD4784DDD0C890B3D17357E1C679BF2BF5688B647982816D63E1CE6254D\
-551211B03D7547B72D734152499257C0E8D45C33B192B62280D365B921881E644A\
-A31C11888EBAAF02791415F433C5635AF09A8FAC366797F40D18365576B:\
-E43E4F1FDD4D7C26D80916ED6A8E5748A4F900B2F6042E1FD2A42B55240258BEAC\
-FD494DFD669CEACD659F8DBBC7649ECBBF1B2DECDD1BE41142BC8A420E05F7A92E\
-3E23DCF021E8363E7027A0B896A456FE087A4CF5AFEBF5702FC8E64B82AE9369CF\
-BEBB174A7080F6911D4D03677671A7011DFB18B1E2B807FF1ECDACE6B9:\
-169E4706963C8B28D23E03AEABE27C7B294EEC2338:\
-47656E6B696B656E67617220466C61726521:\
-2A9A8513912E5A2AA2375A50A53E505C0F8D4D0A7F:\
-34CD8EEF38DE00C87C2281ADEA5A597E85AFB8BDB42F59C80618D6EDB7361EF766\
-74C0D535B31BDA3A9A
-
-7ACDF5C523995E25A96ABE93502691F3411D3A6C19AAC218404B476913794A81EA\
-8E78C3F8A60E6A05B71066EDE730E7CEC8993A6E6296EA8DFBBC7D46615122F23F\
-635FF988E284E3018C2C5347734940F7A0B045A5C9A61288F2865F83256E77DBD8\
-D651E6481A3DC00A927480187FDEA61E094D4DBCCD2A60F4B5E9F613829:\
-3C1624A28732743BBE9B1A2B320CA31EF4A1274569:\
-74C4E94AFFBFD290B2F15EF802B81F51A1F4C872687FE373BC410C9CAC231F8AE6\
-9F0D48921AB3497334E5D692E6DCF5F8A7A64C571E1DFFE0D4361CD3EE6B74FED9\
-5AFF2C67C616B1D6C9A072973B33510D86CD64080388D757ECE5DF8BAD1D4DA42F\
-021A35C5A7225591470AC32F8699772AE9562FDAD76F811F3131FAF9259:\
-3C9A8741FBBF7AC5A245F138922CD64EE798B62AA99931D050A71650D12B3FFBEF\
-E1AA95450A6DCFD526D9BE866089BD400FD2D6F4921533F5BB10FDC559C67FAEE8\
-4C75A8A611A57D83E69E26991E2B3F9B1224B61BECAB77D249F5F83DF42B284E3C\
-89565EB5D875573A61066275D3A8D2C90897CDA7DC4D02CA0AFF4A14DB5:\
-169E4706963C8B28D23E03AEABE27C7B294EEC2338:\
-47656E6B696B656E67617220466C61726521:\
-2A9A8513912E5A2AA2375A50A53E505C0F8D4D0A7F:\
-3255F933B90A659F32A2CEBDAD6C3465A494A87D350255D303139C95B0B60D3258\
-A060B4510B0F26B22A
-
-C537448C630CDBA7C285B31E420F2BEA827EC72309E3D707251350BAFA3DB9FAAA\
-889769A43A2B48A08B46D18842BDA591EE3FDF95A3E3D6A2137BB273E2FB7632C5\
-D7F620122DBED2574A5C9F6F34123132A3A1A6F7C5E105C129375A3733245580C3\
-659A11D4FBA7D50C116FE2D9BA950D6E03A0D20FA083056B38B3A3000C3:\
-2C0094AEAA23065124FC9C8ED04E1006D9403F4BB9:\
-834E982235B6DB4EF6EC52025C56C3A5BB4533BBB83F99C2BD12A200A0FCEC8840\
-94075F74F9D7BD5E4C1F4FA719E082EAC7F4C8A7AC5799F9F614C974E4C84A0487\
-AACA50CB2D7ED3A1FDE75D5147D8EA9654BB2E0D19C807188A64A5B4FAF05A52DD\
-AE1EAFA74146E28A1BC61B8C57192CC404D139F760DD3943E94B547930C:\
-470421750B0C8EF53949D4474F8DE8ADE8CCBF57FB1BB29238968074D9D703286A\
-E7BB845F8BAF54C865FCBF89AC0668F7941A2EEF751D9E477543133CB5BA4FEAE1\
-59A877ADC3D590ED0AD0EBA0D0AC1134B7B1BBCCCAE4B26E1452C0A9308B476DAC\
-D13B3BBAF3B7764BE5C2D9805DBD0640CF2D82FAABB58A4C4F1322E11D9:\
-2B9C9338848ACEB05F7C4F412F401C769616D48324:\
-49276D206A757374206C656164696E67206D79206C696665206F66207175696574\
-206465737065726174696F6E2E:\
-2B51BC665CF466B2CEC3DCA92F6D8F0F02F6A4F05E:\
-26DA0260F10D5C283D85A29399B341384B295B01EE2B2BF011377942FE9DA24B07\
-1B87D83E4167B0B5C8
-
-1E9FFA630130BC80BC709C3FCA6F819848DA96CC300AE868236F4AE5F93ED150B3\
-7FF1DF910C28996364F2E737E574811F85DCEC79AFF30B76C4415E742A2519D596\
-ED1227EF561CEBCE6BC029A10B71BE3C88DA1486774B985F5AE5CA97B3ABF3CBDE\
-F7C35402BE0029AC89BEEB2E3BAA596D913B046168E38F02291023BAE525:\
-2BE48B895976B2E8C34B129EB01DD76697C0C16829:\
-C4AB3CB5A673050E19379A28C6A044AD1E85FB66C4D52DFB640B1ACC103D31242D\
-68B19E11F0058F6507E9582094393B43160EF231CF73588CB6B02C4884898EA886\
-DC2EBF9C85E0FA567464D649C17562A15E5CA5A6E8E2F93CC30454AB3DA0D5DEAF\
-833F78B734ED3374AB5FFB9A110DA42C27AD87762EFEB112EBC88B103E3:\
-14707CF4838E01CD359472ACDA71737D51D0BEBC61D0F825275265E42EACA744D4\
-587249D54F901C0BD4F64B0879D4035EC9EDB40C222A15C7113701F8096D6E5CAA\
-3288CA411C7C8DB6B923E933CB297760ECE68EAD0A9CF22CCA855448717399A8E5\
-94DA9925D0CE334BC8434C32CAA225026F03443FD0B74499F3D82127E830:\
-1902ECD8813827AE27FA8033C1DE6A65093BBA1469:\
-49276D206A757374206C656164696E67206D79206C696665206F66207175696574\
-206465737065726174696F6E2E:\
-260FE1BF1BC190EB4014A860AD06DAACF0E62B5C2D:\
-073B5E19E15868A062940B6904BC19083869FECF5E0FAA319A9FD3D414F405D16F\
-11D8EC0EE01B489277
-
-33752A90D9CB3CE0672B72DDC545B97314D990EA3B6B86BB493F1256737CC3EEE6\
-1B1390F29E5E6A733998ED28B04527E05A19EE0994795318587ADDD8FC45C6A0E3\
-B8D83FE78BBDDE6C8BF74BF1A11A1785CB13F894B99E536AB152F5CC6DDBE4DF0A\
-E0B3323085AD6C851D18AC2C6C7A5D9F6F5F6297049C9943F9A9C050DD4B:\
-3B67337DCC5D5318D237B3CC48D05E60B7CFBA17CB:\
-4085148908A5902F01579635FE4BA536F3C5FA00B458A178A2A487D8ADDB0BB4F0\
-6DB1D740975F937FDF4D368444F85E210FD2576242DD0FCA58B3EE0595AA85BBB3\
-73D72B5E03C2C26B6C9AAB1C2D29669AE586347649A011F7428E05F727DB6AF5F2\
-5DF9338D668866E48014F0AE18B84675DB2A1BC9358D1613EB1DBFE2263:\
-24C4791E394B5A015AF827BB0638ED99C394AE67A913A21A04EDD2DEC49166BE7D\
-15CB82DBC0A64AF31C0EDA89B1E7FCEA26F421931AC663215B71516E406EB2677B\
-A4C48C759EC28623833ECE3B2836EBE4FD2405A93695C6C15D8D87ADC8F34162BE\
-B0C2030D59417C8B7275076C1DD64B278051A4813DCF815CFF3325D0BC5A:\
-15DFFDB80E7F4698D43771C5F4ADE8C9CD4DFA9832:\
-49276D206A757374206C656164696E67206D79206C696665206F66207175696574\
-206465737065726174696F6E2E:\
-2C6C5DDC20577082E4711D5F1327B0A8EEAA166617:\
-2AB302E2CFF9D76ADF6B8B348621D5E9A3D8D68F982DF65DFC1E84A31C40C1501C\
-367752E42743FD967A
-
-6A4F538DD1BDFB47B448BB75B0B01837973251C2F2CE4D0C9075685333998DA6A2\
-07B9E5F6624B3F80009877842D334A8D23422AF7D74465A98608BF34390B66C1ED\
-36C83D3EB047DEFCBC62679BBE7D966CB9801CEA54BCA7D88D8511CC4B16A2BF4C\
-9724AA861AD69737FC86ACBAD6D7B3CA756C2C3BD07001741071F60C367F:\
-380DC2F4A7A781B34B0182939CCFAA95F837AAE5FD:\
-4EF29DC07DAEB84A86C077853672D2B37BC8B068923861685ABD55A95BAF109443\
-EFF1B8B14A3B8713E095DB5CCEB6BB52D90EB136699CD017A98F77DB536410B447\
-C70CA8AF4B940D957E68EC0BBE3415C496CB70DD95CBF1F4E63C789EB06DB4548F\
-0B073C95DFFABAE82FDBFDB740D188FC94298857D2EEA9BE482ECF228C51:\
-339533E7F3414DE16F4F01A63E2E8705956A63921433B6D01CBF87D2CB7FE174FE\
-AC1C11856344B017BD123642CFC91EF3B7403F79E88F1CA8EE5B4CCE4C6FD18F89\
-03849C722407D7B864AFC6D81D04A40A9578D004D3E9E4A8BC0DAE6D7BA15EA57D\
-60F486AEBC187343F299DB3CCD1602D70291EE1836C08D28723B9F0AF472:\
-13ABB2B93794CB0F4058A4FDB9B266E5AC74681017:\
-44616D6E20697420776F6D616E21204D616B65206D6520612070696521:\
-23AEAF18FB8F0D808218A587F86C16B16AA5DFA48E:\
-07D6C64CF9FF00D7B8D9191C160ABF50D61E3B90281C06D436B4CBDB6CB380E84A\
-0D0AAB183A11E527BD
-
-# ElGamal format: p:g:x:y:message:nonce:ciphertext
-[ElGamal/Raw]
-C2742F0AB4664BDDE65B66471C32BBD5A383491C1C8FE71A7525B5C301B1CAE7\
-A48317D2ABE8C078CEE424899FEC4D876891BCF3E401E4BF339E27C1ACB97E39\
-83ECFB81E1C74093E8206CC794DD180E5B646EB1D195455092859F981FDB3C39\
-47B179FD9DA4C96A1F716570149B0E5E91AFE7168F4B5B92797B1E374AED6097:\
-D:3571A939ADCC0E0A61F8FE6720372DA9FB130C33757B101BED87CF677B77F94:\
-380BF24E9D162C61E95E2E84EDC0F9E56EADF564F5BE33D7A46BC4E0BBCF9151\
-5129E2A547583E576154A216AC035C11523111F877A4B56EE4C459ED645C63DC\
-52D4131D865DD4BA8D057F9FC1EB77352A13037CA23BC2BDE49794B3AB5A611F\
-D106ADC74D9F48FEC91DB1EC77AE70EC9408EA0E750D1CA4B2E437E4233F3E32:\
-02AD1D776D591520E4D8BEF8B21CC2F54FB4EB788E52ECEBE13564435DA66284\
-D51A6A6696E615EF599786CE4CBEFAFF066E0A1CD8868454EB5CE0CA99241B29\
-E1D1492CF2712C2C101B3F3779034683AD8271098C2E3FBAA83901A97D9645FA\
-5815AF79F4F638ECBE09020003F434D708914899C668F34830E70F4CAF0803:\
-0A5842A8D0C1B07E5DE6FD3E0C6B1108523D4D35417F:\
-5B99F58B48F3D473327075F2FF4EEA3C8C1FEB0B241F042864610D6FC512A81F\
-431A965724195DB71C3B84B6B9F1DFAE0DAE60E7CDA957703D10FCCDA45CDD0E\
-F8C8F76AA4F51F3EDAD8E5085B97D69523A3EAC89D67CDFDDCF0A30491A98BE2\
-FD6C5E69C3A2C95300B9DB4EDF2111E7613EF7B2CA430D0CFFBDECF6A7BE592A\
-853B404B6910C48A0204ED3430691E766FBAF21A428B9F833C5932C053C616EE\
-B59850150A22331A8FB5AF2065B595E4F08881B1DB7CB85A28A33F4449890739\
-679CCAA431A9205210995BEA68759B475BE4183A975C9D042FBBEDF589AB6AF0\
-17D7523B2CC90CD63526BC584F1E9EF42ABAAA9238987D7F73B94E323C6AADFD
-
-FE25EB971E3488A92A4BE75E51050B0824E69B18AC433B5AE7DE98EBCCE8AAA6\
-301237489ABD17A52EA9759AEC87D0E90F7766D64096A49CA99EFBEC82049898\
-06F5C49479FCB6CE8B881BC28F19732F0325786E7DAC54F8C216B6C84562C88F:\
-5:CC4D3B878DB91C340CEBA8495CB5F703ED90AB24BD793E4470125CC:\
-4B722A9E2DC991CEEA1D596586D245EB9B8129515AD66688CEFDBF84FDFF8C19\
-4A2D2BCB2AA82C47CA9FBB3FFB86BFC5CB4676B4DC4A2FF006AC3D578010C9FA\
-E140822DBF9DC26CCCE1701B8CF08740ADEBA1CB94056FB33FA2E88DE84CD477:\
-02C1ED6A171875F055809F12BC61829961CC740935C6DCC468FA663E8D1A7DE9\
-E0555E3EA99476436743FC5C76D3E041055FAEB7641907F8E2F1F94061B22E72\
-B7CD39EDD7A6367828CCDC000301CEA7D91CB1E8A3E20DC85FAA23EF6D08E6:\
-F42F854C10C9DD14A6712594A31326A1FD2CF5:\
-9E47FB001BDDB12F2D8E0FA5501A7EAC1B185FDFC7D2FF3E4461B0D75D626F51\
-56DEDD4D25F13C6C1F5F9A1F916058045705F5E82F748E9B6F0DC95D572B8DC2\
-770159092EECA13946F0522FE2A859705009B615818A1B4F98E8DD38CF00DE74\
-6ABD5F3852D93F8D9299DE18EB763F11E41A8B9660C5F056538EED431BB8E219\
-9D9012F50C7FBEF5AAD35ECCD7F141CD9AC6553315A2699D6718F50EBDCEAE62\
-A11ACC466E8533EDBAF13C15B5532B323EBF283B108F892DBFCEA21231DFD548
-
-FCA682CE8E12CABA26EFCCF7110E526DB078B05EDECBCD1EB4A208F3AE1617AE\
-01F35B91A47E6DF63413C5E12ED0899BCD132ACD50D99151BDC43EE737592E17:\
-DE0B54EFABF297087EE623D5CA5588C64828EF4FDE4FFBAE1ECD2006776B05B1\
-1B81EA3CDE9BC3964C1687C5325BF43D7CCEFA0D0A86BE5DFFDDD0D1143DCD75:\
-841CBF70BC6E95C7E5ABAE60DC6538EE:\
-12C0A0D25B072D8698FD929B8EA219874E4EB6A7FB7D7EB5857A246235D70F6C\
-950118914598E62ACC2EE8E061B560A1FE272B9CA163A7C134E1D6767910ECD:\
-47E586A7E7D98C116A6F553F652E57BF:\
-BEF5E7EFAA76C52A8ECEE604EDAFD31B:\
-CD70DE085B0C586B4E64097EA3AB4CE0B60A71B0F640FE4468F4F940412EDBD\
-D9035EEC602530CFF81B2CDC35805264A866E4689DDBADC3438575B6337118B\
-B23A5AB7710F85F2A4E1E0DBEC5652FEF73C868747ECB7043BA08241A0879A2\
-DC588D3EC14ED552E62B1B111646FF4DFA9050754240A46A840EA5EB1D97712F2BB
-
-FCA682CE8E12CABA26EFCCF7110E526DB078B05EDECBCD1EB4A208F3AE1617AE\
-01F35B91A47E6DF63413C5E12ED0899BCD132ACD50D99151BDC43EE737592E17:\
-DE0B54EFABF297087EE623D5CA5588C64828EF4FDE4FFBAE1ECD2006776B05B1\
-1B81EA3CDE9BC3964C1687C5325BF43D7CCEFA0D0A86BE5DFFDDD0D1143DCD75:\
-AA3837AF7A7ECF6DB7E0B702A054363C:\
-74349C465B92635C1692BB6F2932E06C1BDF3FC81E78DEBD661BB1DBF1FAC1DC\
-C24EA052A119CFD272CCA2BE1E6BDF4579A7D69C739E8A412D4AACDDFE9EDFB5:\
-74BC8D009250F4CD2E08BC556EE01449:\
-A2951BE393736E39E9D209FE978C7546:\
-6D6ED1C6E519C628CACC7981A5BBE487F6E013B26448D711911698CEEAA4F746\
-182A716602183A746FC35B022BD7B27EF079F7164309653D148D0CE91907FF6C\
-4A9001A0CCA2A0A163F3F93200C2E40A957919CB84AC35B928E026F1827E6D4A\
-9B986B592BE39861538414D5EA6980248FD3C3C0CDEE372F392D5AC46DB8EEFB
-
-FCA682CE8E12CABA26EFCCF7110E526DB078B05EDECBCD1EB4A208F3AE1617AE\
-01F35B91A47E6DF63413C5E12ED0899BCD132ACD50D99151BDC43EE737592E17:\
-DE0B54EFABF297087EE623D5CA5588C64828EF4FDE4FFBAE1ECD2006776B05B1\
-1B81EA3CDE9BC3964C1687C5325BF43D7CCEFA0D0A86BE5DFFDDD0D1143DCD75:\
-8FAF3D43EA4C7EEEFB9C08807D90B160:\
-F9AD56F050A9FBF969A0A7D2A56BE409BA0EFCF23CCED06980E5A8965EBC6C30\
-08858AA845370F56C1BAB31177C2BB76DBFA9E04FE89DCCEA67BCED6C55ADD8F:\
-01AFE1A93EDB9CD3E3715523C952478D:\
-9500DDCD404618F64A2063BC19941A6E:\
-0636C3F1C63C54CAB4B48B6EF0ECBFF00BA6AB70DF4DB6266D0785351B37279D\
-41D957D16CAB48C64035DCB2A1CD75BAC298C8ECAE8057D87071EADAA5DA6E2B\
-69B5F353B5753F7E24DA81ABAD40059CD73CFA6E78CAB1C7DA418D55E5DBD42F\
-A4F2B876A25B4AF63588C80E0DB11E8BAB1531960E951C08C1A68C8FAE0DA87C
-
-E9E642599D355F37C97FFD3567120B8E25C9CD43E927B3A9670FBEC5D8901419\
-22D2C3B3AD2480093799869D1E846AAB49FAB0AD26D2CE6A22219D470BCE7D77\
-7D4A21FBE9C270B57F607002F3CEF8393694CF45EE3688C11A8C56AB127A3DAF:\
-DEEE9EF5ED1516CE7E695E672B8CEE45E6CD7B36E0E6385F894BA86163F6F3E6\
-C6D4E8A81146D4017DEFDD71CBD90FA0247659B88B7CC1C894F48269FD4F1AAC\
-0A30538DFF6B3FC76CFB131C9E7965B58858AB0A43B557335912A8AA547F9568:\
-FF4FD921EDD9618570ADA5C59C2A01ABBB9A51:\
-BDF5D785E7621256CAEB307A92AED0BCBC34B6ABCC568C200D413585AEF1E686\
-9C60E87001A664A8FF8645C3F79E1667BC2769D82605C3B1AB1A0DC2734AE831\
-32652544275F5C59CCA355BAA02D9DB3796A6B6CCECC14BD85B02A2C18EC7EC8:\
-58E72BD0F04B11:\
-EF07721FF6B28A8A3B4EBC95C16B13A83649B7:\
-C7B6ACADBBCFD3A34EDA31CE9CA7F7889FBB2DF5C6C25793EB974591BF0EDE93\
-637B6A95E8075BDB2A987039D92487665465C98AAD0C123FA00BB9736170E780\
-69AA32DFBEB07099A0B7D439AA807A2D3D6F9F913EBC673F9F8CD5D3C0E9DD0D\
-988EAC4D8204928C2DA8ECD1FA3A598FCBFFEF5017DB8542D123CF69E8C92EB9\
-56F10DC995AE6B6564967D5C12A07BA35607C54CC3F10A36FF3603DD7CC14906\
-64610002977CE8C4A4EFFBD1421C902D4D8DFF81D014E1AB55F239E0F2FD28AB
-
-E9E642599D355F37C97FFD3567120B8E25C9CD43E927B3A9670FBEC5D8901419\
-22D2C3B3AD2480093799869D1E846AAB49FAB0AD26D2CE6A22219D470BCE7D77\
-7D4A21FBE9C270B57F607002F3CEF8393694CF45EE3688C11A8C56AB127A3DAF:\
-DEEE9EF5ED1516CE7E695E672B8CEE45E6CD7B36E0E6385F894BA86163F6F3E6\
-C6D4E8A81146D4017DEFDD71CBD90FA0247659B88B7CC1C894F48269FD4F1AAC\
-0A30538DFF6B3FC76CFB131C9E7965B58858AB0A43B557335912A8AA547F9568:\
-B3BF90978FB3EF96E40F2AE8260F42B908EE1E:\
-578C33240691D5351BCDF2C727BEDF8C4B956EB32520ED93DB034D00EF69C44E\
-523639DCE55E09631D8EB6C6D6760CE10C510AA68847B7CEED43A3749F653B5B\
-2BAE4B07F95F85DA8F058F8DA2A0D07A2F0C5B009E63C06B638FA1B43CE7F7A9:\
-C37AA41207A357DBCCFBE93DC45C5BD91D29FD29CBA29B26AC437A9B560C3BEA:\
-A36338E4D7815E6A4B178E951BEF073C6D5A7F:\
-D824C94623313298600CC20203F8A40006CAFCFC8F883C99AC09DBAE4B95E6DB\
-9FB5737E24D9D7E39B603893076BC81A2BC0C0D608B32B353972B57066535DAA\
-C49E3F7F2A0E243618EEE01C5AB3AFAE1D55E3A1DB33CF713E5187AD51D55144\
-B1A108354ECA651E55F85F253FE73C1C15FA5EDDDA47467BD0425F09E3C41565\
-48E71896659C618B84FD72BA176E2DEEECD8B15F2C05F870697EA464B8827374\
-2BD6ECBA5164424F34EBB9E13E31683A16712901818C7E5F502720FBCB075EA1
-
-E9E642599D355F37C97FFD3567120B8E25C9CD43E927B3A9670FBEC5D8901419\
-22D2C3B3AD2480093799869D1E846AAB49FAB0AD26D2CE6A22219D470BCE7D77\
-7D4A21FBE9C270B57F607002F3CEF8393694CF45EE3688C11A8C56AB127A3DAF:\
-DEEE9EF5ED1516CE7E695E672B8CEE45E6CD7B36E0E6385F894BA86163F6F3E6\
-C6D4E8A81146D4017DEFDD71CBD90FA0247659B88B7CC1C894F48269FD4F1AAC\
-0A30538DFF6B3FC76CFB131C9E7965B58858AB0A43B557335912A8AA547F9568:\
-EE639A2B80F4FBBB96B82A0DA6ACF23124A1A1:\
-5D13E05491C00E0FAE1245BFE0E374F2753CBF1926352FB4180F11D740A2F6BC\
-8486C0E0F52D2990773ACFE01CD4AE6F428D55092FF33144C2D9F37692BC1230\
-89D9E77ED393C495ACBEAE7A9E927F4AF1D0E845D2EE93E733BCD0D50268A47:\
-36FDC0501B44AF:\
-832BC01DB63F958D47B6962AEAA74C0831A6AB:\
-62E46CDF100BADF4419215256BEC8427DD0388D1B60B5A8675532C0934351BA0\
-036AF58032AB6C4DB829F1A0C8217FBF2CB9C10A5C60FF285919BCAF238E89FB\
-AA4771CAD13D4A69AB2C1FFF0A44D2F9287F1E70D58210AE859074B3969EE800\
-A9D1507BA48582BD1E03CC234B0CB11408BE0932763EDC99CA4BEC6E496A4522\
-37F920972C629714EA2F1FF212460C23B66DB56BC73E94743D32D2CD3536A17A\
-136F56D7F7C24E3B8F102F48BBB21633279D3E584E71DC37B436104CA69A6BB3
-
-FD7F53811D75122952DF4A9C2EECE4E7F611B7523CEF4400C31E3F80B6512669\
-455D402251FB593D8D58FABFC5F5BA30F6CB9B556CD7813B801D346FF26660B7\
-6B9950A5A49F9FE8047B1022C24FBBA9D7FEB7C61BF83B57E7C6A8A6150F04FB\
-83F6D3C51EC3023554135A169132F675F3AE2B61D72AEFF22203199DD14801C7:\
-469603512E30278CD3947595DB22EEC9826A6322ADC97344F41D740C325724C8\
-F9EFBAA7D4D803FF8C609DCD100EBC5BDFCFAD7C6A425FAEA786EA2050EBE983\
-51EA1FDA1FDF24D6947AA6B9AA23766953802F4D7D4A8ECBA06D19768A2491FF\
-B16D0EF9C43A99B5F71672FF6F0A24B444D0736D04D38A1A1322DAF6CDD88C9D:\
-A0A2CF6E5C2C3157078FE232D88778DD7A864507FEF:\
-23020176F56436414B28AA4246433075433AC50C81C803275AB4BFB132D8A42A\
-27B69E40D9A219F36546801348E0191E7CEA23AA70B7EDBD52A44D0FA48946F9\
-0211186E58DAD6C7D2E9207379F31FEF083224FDE665576AC0A1EF193CE23FE0\
-8DB42715CE27A6E00DE4F373F92A221759C1E318161302ADC3CE9F1229290D46:\
-DF72B687F62AFEA3A51195EE876E4C87708F7ABB8D2D5DD72B68256DAC6D:\
-0B333C9C486C5F3A96F37D00133ADD18113376C9BE76:\
-4156CF437A39C415B212AAA34C9AACAFA3F3113F53BB75E0BD3D759089E21754\
-EF89B4BA1A8B37E5EDA13F8A2F87D16F03F3B6FE19A5CF799B17D83F7B5E9A22\
-5F324AAD7D46E80A1DAFCA337A3F500930A7831D1F3785763EB9A6994063CED0\
-33177E1CA2770B751B3053C1445ADFEAED790E49E4685A05B9563D1EF32BD321\
-971D541B525D648EA7C8741D8FA7E46293D46A0F4345BE73EA4FAF1E4C16BCBE\
-11C53BA0FCBA2975BD37F11FE5ADA8731CAED3C403EA6E43AE47ADAA7E284334\
-04AD3ADE6AA8E12BFC374BADAAFB167F3AAF91DC6F8398003E5F8528E8D4773F\
-800D48C8EDDAEDD72A3870E97679F946CE27FB692BC11677757A28F3899A3DA8
-
-FD7F53811D75122952DF4A9C2EECE4E7F611B7523CEF4400C31E3F80B6512669\
-455D402251FB593D8D58FABFC5F5BA30F6CB9B556CD7813B801D346FF26660B7\
-6B9950A5A49F9FE8047B1022C24FBBA9D7FEB7C61BF83B57E7C6A8A6150F04FB\
-83F6D3C51EC3023554135A169132F675F3AE2B61D72AEFF22203199DD14801C7:\
-469603512E30278CD3947595DB22EEC9826A6322ADC97344F41D740C325724C8\
-F9EFBAA7D4D803FF8C609DCD100EBC5BDFCFAD7C6A425FAEA786EA2050EBE983\
-51EA1FDA1FDF24D6947AA6B9AA23766953802F4D7D4A8ECBA06D19768A2491FF\
-B16D0EF9C43A99B5F71672FF6F0A24B444D0736D04D38A1A1322DAF6CDD88C9D:\
-B81133CD81461728FBE2D40682850CBC1176BBF24D9:\
-650BDDC18070CC54F0DC4DFBBF4B3144749D7D219E4122E27092FB005F82612D\
-39B652486DFF5B628FBE626B54D70FC5F3C11E5E4C7CCB5CBC78E528AC70E740\
-302FA043581A55A93EBB7143E807C056748702353A65715E39A86F3F1F90FD00\
-FBBB817D7C48A465A1DBC8DE5D8CDCE259D129D02EB673A4181B9CC88B7636A6:\
-F73BB7E5C8A5619380:\
-0AD9527B09EAD1E59B4A1CAF58C861B69A856AB8AA80:\
-C9881464A37749949D66D75CD9B7A8ACAD33DD1FAC7561F684E9CB5343D2ED15\
-969D7EDB4135518B50F0FEC9A9559C1D5E44DAB42C14BBDE2D2711EA4D02D7F2\
-7D1A9BCFEC9E8B73FA64BA3C54707FDDE7D5BE695E17FB9D259FB576FD4E57D6\
-6C8F727DC236E2A6E9FD01709D34B8D09F7DD3890F003EBE616042B4E0A8A00F\
-6C3F34DE7E002FE72A84AF8D014D64E8CD08B9B56CC3A6BBE6F966B92105A92C\
-5ABF4F2BF735670622F6213FE9739FAD65692E1C0EBF708A47E18600A22972A5\
-A3DA0F22D11C581D46F734151A083FF757E961351EB183B467A859FBB9ED1DAC\
-396FA405701FD6E3A62EB126E93648C3C6DFA9C4DBF3C005880F4799F66B310E
-
-# DH format: p:g:privkey:pubkey:finalkey:keylen
-# where privkey is our private key, pubkey is the other users public key, and
-# keylen is the output size we want (often this is ignored; if it's not there,
-# keylen=0 is assumed)
-
-# Raw: Use the straight output of DH as the key (bad idea in practice)
-[DH/Raw]
-813E0E814BEE676DBD3D9D28ED73D36735D21FF6457236F68D3D6145560C0FAB:02:\
-66277A816EEEF66675319C2AEBF2E8D6154EE359370E8E1B194AAA1B9A20FABC:\
-3B4C5FEFBA6AC0A402C6AE132540B7312C93DCB3259530F3A45F7A2C408C920D:\
-5D9A64F9E54B011381308CF462C207CB0DB7630EAB026E06E5B893041207DBD8
-
-8732EC631F04F7AE57F66AD4A481AB4462AE26400348AC764D679311C41C5EF6\
-5BF618A6E0742A27D59A18868FC7A131DFF158C83ADA310EFA493CB86CC2966B:02:\
-0AAA1D96792CE097CD533208550433ECDAECF557F1DB669A5A0ADE4284B5272C\
-12D46FEA0E9A549B28130CBBB76C36C9122BBD0AA3D3D1C055731DA91F28A99E:\
-675F1A653994E03B986BA4FA13A2B51C4493B310EBFA5EDE77D493CD243FEDCF\
-FFBE9731D3E50A4586EB405FBAFE446E71EB7DF638C1ED43EE3DE69A7363BB61:\
-65F79BCC47862E02DDE775B8FC7B1D0CBA094B753E502D49A446868768\
-1F178CEE98016210E136E80255FC8FDECC4D38D91EBC82C94B17652BDC7569AC383F39
-
-FAD40DCD165ACBDA7D4BB0FA4830F5B27A27D9A01A66A60BB177CC31CED51DBE\
-9B269227BED5BCDD18E217A98D9BE4E55D0498717AB21A4BC1A32BD32D7BB6B3:02:\
-8A2264FE1D57CE13B9D16448C25626CB4A5E254A9A158DEC352C2CF36864F986\
-2021AFAAFDB8F5FBB51282A19A2251C91AF08173E71EED2B2BA7BD3378F3355F:\
-2B86E1EBADFBB7F10C9807602F90EB2BBFE9D77FDFA743777B8CC212892E54DB\
-D01CA7F4023EEF2A56BA9277778A80BC27EC86298E22030469A0EF3D49B57C3E:\
-290BF0265BAAD40A5853BAF3CC18B315982FF282C82D7332DA6A8826E789330D\
-875F29F57D9A622DB7DDF156CF4440EDB8455BC32859FA2A178D42528FA64136
-
-95A2F3D72B3D394EFDE4C055EF6C6E4E7A598242D0F2D2F9F31A2BB5191D7CB4\
-7FDFBDE16BC277BEEBBE02079632F2374CFCF4F9719C154DF8A9BAE52A8D7127:05:\
-2B600D6C9CF358D21D41E0DEE2B3C81520FC617420F63B2ADD9E64D2B13954B1\
-AB117B40B6A1EDA56237DA1ED34DF9643FA471C2B4AFB5A00455DE9A0FBAF399:\
-6A097559AEA851EB6DB23A0D45A5060F32F50961BBBEF3D22A01B4EC229E651C\
-932958088814DFF54E9647FAAABEB555EA966542C24F28980B2A47A902798B55:\
-4ED3B2ED6B3E8446D8E1C3D2BCA00FB939464874BB6750BDE5F5DACFE9F81959\
-7E96F6B1DBA27C785553383AE87188019734A160B6BA5396760B88EC1F2A0E92
-
-86B7815320710E1415DC26FC566F64866BD5AE7FD8DA39F42CFD3533C80B4E37\
-402557B45D027EBDB8BBBFE66769942408E2FB00A9433597BB20B9312A9F84A7\
-F767F7A5851A35F1A4C2A89AD1DC977F45689183C9836C96AA5DA075CFF03419\
-B45B885D83DCC4C0E3FEE66E76212CCCA1382FE314E4846EA0BEB29772FA625B:02:\
-21716E2202D31407E8471E0575465FAC1D309A30C90C9FA498F1718BA4047E7A\
-831E85E0E358C847CA4DC9DE47F007279D4BB22107889E5B7BE0D02F8519D585\
-2A1DCFD54F0AED08906797D9382BBD6F7B4712850F8981E855D6A6769807722B\
-7D93FEF6B822533C2A51CEF857AB9359A36AE6A3B7035AB6C0B7B4660953DAB9:\
-07BC618157B3FD72B2D80494B73AA7A5E5F40BF4A5537E4FD878D3CB6C9B0D70\
-D6A3CB3B35BE49259E7BFCFCBE9FE133B0133924A8CAFB4317005165416F7343\
-42F1593C71854B696ABFEA7E3AABBE99F1ABC745AF0E56AF283DEB81CDD91F26\
-B1FAF1EDE40D97B1E3370339841AA28A99A638DCA7958631BD6ED0BE6A470525:\
-2B6D9504C1D7ACAD9652CF79A6A0630EA9D19C197E908E992BC318BE2867FAE3\
-C1AD5BE83E6E4AA1CBE0347774038F20ACD790DEA82B2A5862BF21FA4A1AB464\
-AE985CA8AC4E5076AD0843E144C1305759BA047446A3A7F2426BE0C724F26900\
-9B54447B6A970876E5E4C613356805014D6060039C081AFB046863CA9BE9C848
-
-# The primes and generators in the next three are from RFC 2412: "The OAKLEY
-# Key Determination Protocol"
-FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74\
-020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437\
-4FE1356D6D51C245E485B576625E7EC6F44C42E9A63A3620FFFFFFFFFFFFFFFF:02:\
-70F70628FC92FFAB93039B31EFC65E760121EA6632F9D37189767CE01D4A7C5F\
-782022DB71857281E270A7AAAD68467C2825635FC198208F749A5BF25C444D12\
-74F6F760E068FE11A7B7FAADC154EBE77DFBD2F9A399BF1710C75291E6B33E53:\
-35F4FE8E20A94672FECC2F8C24597541E7A1EDBF76C0D0A92FDC6E99CA016F4A\
-3F315E42A5CFAF0A50541E420F2ABB632A2609336077CB8E0320CAAD94796478\
-8B26954B847E08B1AE08FC3D2D0F9DCD449A890B2E4448E4B2D106DFA887FB61:\
-1835BAAC22790A32874BAD6465BBFA22BEA8A8FFF9847814273311E715FFED51\
-5AFEFAFBDB88F5F6059A874B8ECA325553D2399B36BDAF703E23D9BA426B440A\
-B9B3232319E82F60651B5D9610FF5F62D9676AB0CC691DAD9373E14407515B06
-
-FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74\
-020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437\
-4FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED\
-EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF:02:\
-A71FB45046F3E7058521C35F08200AF51A0193D68776BABC6F5571BCF092A77D\
-D44E7B4E5AA450A7C4FD142DF648C03BA1C6944941B3A5C2F2515177B23CFC01\
-09825B85029798C6D3EF8C46D9C85A71558AF8CAA411B270EA3FDDD7D3586784\
-DF92CCFAD908096A0FB647B18A62D7E4AEDAA26D9F4E1247BB208232FA9EFB9C:\
-51F0590A0593A41182A1E132E68E33D28F67CE0BF42C6BEFF057EB10255BB78D\
-0BA2517603700FFBEE570EA1591F56468EA7AEAFBE03B10D3B7A04271B94F819\
-0031DADD2D852F8778D9A88486C89EF3C5FF4F478D4E21660A0B1542FB58FE82\
-FF89FD8E10334A455C937EA11FBE28A8188C1DA05B014FAC2A28A273AA517082:\
-78E5A35AEBE11E2A6EE2AC7CF250BB6D14D4194E4B4F863388B403A6D4F77179\
-2399B005B60876A2B54F38B10E80D7FABD5CA0260DA7F49D3C8BC319EAB0DCE9\
-8DB256D55A3D286FB4A92D426908121A48FBE08BCAFBB2CCBD79CF2422ADC0BF\
-7FD6D32BBD7179CC92C5B6F3A0A66F75521119B054C9C890A5508FB82DFCF947
-
-FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74\
-020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437\
-4FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED\
-EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF05\
-98DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB\
-9ED529077096966D670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF:02:\
-4E83BC69DEB2E98884E5BEACD0331AD07869BC0CB3025B4882670A9AF4FF1F62\
-8FE59526733B16B43D90D976EF55BE00A95C7846F447374451565D6470373096\
-C93448F390EBE47E63F22F1840AD1E006F09A85B75EB69DCA9D3D823F9D3F32D\
-81A03DB69CE3A9D35B7999B3F1F692F795805411762570D247B55F02EB64A3C9\
-CDE4EDF05BB008BE68863FA5A01E7BAC582B189A6C5D845E1216C91F2152B708\
-DAB6F985EF5E220C86D2B5CD50739F6A8F6E86527072777EB3940E8F12FDB8FF:\
-3F11982BD3DFBFFCDB49F3B4E401A004C42DB40DB314990413064C5B63D6E0D1\
-E1A5178FAB51AF92AE6B7184DDD06F76B6EF9366247A8CD5ABBE13C61468BFCD\
-BA7CD147EA543D567433E691EFBE80DDBBED90CD2F606EE4C36E568AA00EFDC7\
-8CC2D6F8F98C09E781B120421BF98A8EEB2A1064D93085105307A46CAC09B27B\
-4D1FDD6E3000574FA348D2632865D7958BF64A3A858A8605370F73DD82A1D79F\
-66071E312328BFB4D965BC51044DB4F981C00E23128AA00ABC3F908A2690E0:\
-142195F7212A66E8E79E6CBCBB092107C38051B998A46110A759B2DD35DB9371\
-68AB11CE2AF35F8C9263C585FAE7FFF37B9080F65B6AF33A983D8177455F9D90\
-5ACADB57DBFF67A27D4947C999A2B5CAD13BEDAF05BB2A197654740F54C932D8\
-4580F6B954F57C0A42317CC77036346CB8FB3BB07A72497C74BE7A454AA98BCD\
-458F85B323119565C650AE6F884BAD489BFE34B4A7116412E5FA6920355DCA65\
-24110068A5BFA93E1CACB6A9A3B4FF47A760107AE212279D86C1A333AAC0E7BE
-
-[DH/KDF2(SHA-1)]
-B842DBEC0BBC87979604EA9E14FEA8FB0DCB4BB09653621A7363A54A9DE9332B\
-1D878344D9D98BB06FD14C79315C7B097A7CEAAF4B0F66A422ADDFFF200CA78B:3:\
-7036B197651B364DFF16DCABAE5C6D:\
-9AA69B0066B495822A5586AF3FC19933E5EBF46B715B90DFBBD5393F58926AB3\
-8D02834A54E06798315558C7E274A193D5D9360AC855DA792BFCFE7FC635E213:\
-EDE06CF771:05
-
-C5344A976F327A107D669D4835946362AC3CC1B1198770826CE684958E70B288\
-E5FD065BD2368CB172391B8D046DB93FB1C3ACC0103435EBE8A75C706F63B8E3:3:\
-EFF15251EAB928852C16CA1517E1DC:\
-4772265D1FDB3FC3F2FFB5DFE863FE8D93E871D5B20D697A49BE130DB9B0561E\
-B118B8E8513CC9A6C07CA9647363CEDBF5C0AFDEF41AF7D6BC0F0E6BFAD50672:\
-02F0A9B8677D7874494627C1AE8B1507:16
-
-B9E01426AE646FF40980427636195AAA04DB2D9FC12ECDB4398812D1AE99B885\
-0396A2D6B0CFCFED532DA21A6DC58A491B75833985AF38D97727F44EFC8B2DB7:2:\
-E0E9E13CEE9C43CAE541A8ECD0FDAE:\
-9E549B7F385537D7CE2E0F332D6F98E5865DCA0E6C633B110CFAAB832B4EF75A\
-62617B58C33F9F4D0D957FB0218CB9363C2C6CC4C8DFCD9FDC35D401A69382E1:\
-6F6B153DC35648A59C2A43398318F90CC1015C:19
-
-6591F4A4899EE64DCADDE9E5ABF3A9BC409857F4F7372435F4A45C27E5B0C2CE\
-3E6E35D9FE555B49B80BC978D1B4E7EAFAF7C93A08FB3D9A48C59C9BC596C720B:3:\
-BAF42B613C37B6FB6409D33D9B89DB:\
-C275194FE458D0ED562103E3FE7765AF9639B1C826BD329A60028013B8EE48245\
-487A91EE6B221D29DD30D17FF0C35B55C3CA435BE482EED716A60D266D350A7:\
-5A70601B0668BA303F8FBFC90FBA82B9D589BD586C576B414A6AF17F9B386C7020:33
-
-# DLIES format is p:g:priv1:priv2:message:ciphertext
-
-# p and g are DH parameters
-# priv1 is the private key of the party encrypting the message
-# priv2 is the private key of the party decrypting the message
-
-# The underlying SVDP is Diffie-Hellman
-[DLIES/KDF2(SHA-1)/HMAC(SHA-1)/16]
-FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74\
-020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437\
-4FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED\
-EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF:2:\
-A6963780ACB9D2C5C410D502AE60F027A807AB5BBE5:\
-88EF9E0354C67E9EB781A8BE95DD281A215CA1DCFD3:\
-AB5BBE0D:\
-538F9C9CAC3EEB460B6D40B4AC331EBD3E2F3065E515177F47A083D1AC71533B\
-F3B2931F52D71A99CA0804A633E1948F3B286453EA6CF0DD83C6DD1D2BD93B20\
-F4942D9679CFDE5856DD81E152E1E5ADD023324B945CE68425B025AE5D0CF86C\
-0D33244A60AF6045BD57018FFE5F84A9BF82193242FF32A64691586AAA298FE5\
-31CF06A56412DFEC3AD1F50FF8CD296310E5BB4D06E15AB0
-
-FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74\
-020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437\
-4FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED\
-EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF:2:\
-C2D89AA7566998A9E90E22F9244C84F68B55473594C:\
-AF719F4ACF99CD35BB3B71F0DCBF27F6A4268D91264:\
-C43BB390:\
-C04F6BD6D1BFBDE74E775FB391A29B2D6FB7EE84C13D2061291DBA8708E406B0\
-A6788F69F7DFEBE4CA35B31917EACD7D36CDBEBDCC51567ADF3F287F57592A0F\
-73E1C990B807E0A67ACAE3F07361DF123C59E0A95CFCA9DEB3C7CCDC47C925F9\
-75AF0948B3DE9EC1E34EED30391FD4080D77DD07F091E3D5D89BC158A96485B2\
-8477AA95D62EFB9FA1D2B44A38A698F81C9518355BAE8B74
-
-FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74\
-020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437\
-4FE1356D6D51C245E485B576625E7EC6F44C42E9A63A3620FFFFFFFFFFFFFFFF:2:\
-B8BBACE15066DF21FC2ADF8F2FB47776D98716F5:\
-EB2EDB317A29CE6BD580D1BBDBDA5585450D9B7B:\
-3B06E0705DC9DBA971AA624393984D5B:\
-2AB9B180CEF08E761EDB4D7B7C538FBA0FD37BACE9416789A0DD6551F2DDC602\
-5C76A663F1AAD5000EC03418A6220ABA6D3DC5EA82D7340E2FFCB5665AD3A222\
-3CDFF9C39889CBE31E44CD31BCFDCEFCF2A9916FD39E2720A7B826F7E6998F73\
-4F251C71DC970AF3FB12949C14AA759966733BFC976CAD0BE71FC5DBE285200E\
-75647C62
-
-FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74\
-020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437\
-4FE1356D6D51C245E485B576625E7EC6F44C42E9A63A3620FFFFFFFFFFFFFFFF:2:\
-B2A1040661E071F702CB2190ACAF3CC532FE1DC2:\
-8A9B563FD9A12356EC7851943CF453AF7236A596:\
-DD92A05E19BBAD4A33CEFFA0FA2727E9:\
-3F0300C53C0BB02A3EF2EFCC751EE5D98AE991730C1C2FE39D11A74D32D892AD\
-63A9EECA09BBBE606FB426E03BBD480FD224E09712BB85FE649D543CBC23113A\
-39F9102C65D31DF330ADF233735C1D60D1BCDE22744392D2D9DE50393984F276\
-A33DD85F763ED1226B88DF1662554AD27820F66A995FE1481189A2B8C3071D0C\
-32EE9960
-
-FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74\
-020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437\
-4FE1356D6D51C245E485B576625E7EC6F44C42E9A63A3620FFFFFFFFFFFFFFFF:2:\
-C56BAF8FAC2AB023B2995F5958D5E929C7501555:\
-9F48260F8B6FF09E0F71B97EFA50E2469F316C3D:\
-174E756AF8FFB51990BF3C69688D3A7F0B388F2BCE62A095BC12CD6DA2C2AD65:\
-B99BBBC64F6320060200E6FFE7D1FE6E5EEA79DF142111AF88D377037BD91863\
-41B7A7A27F2AE8BB77282B8EA13D821DD77186412CA3B9B5E1650A0D20687B1C\
-8D556FD7D547D475F71BBD7D6417311F535A9A6D95CEA8AFD1146B1A1741828E\
-8AD46B058507A67111CB62132350EEAC1212D90535677855E17B1DA9DC4CE790\
-C4B917B1359123226FE62DCCE5475721F09CEA23
-
-FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74\
-020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437\
-4FE1356D6D51C245E485B576625E7EC6F44C42E9A63A3620FFFFFFFFFFFFFFFF:2:\
-F54BB009FFFFD728677F76CFF2B1BDF05F24226C:\
-F6F5DFFCEA9F09A784C15BEACBDE88C0F58D19F7:\
-75DAD921764736E389C4224DAF7B278EC291E682044742E2E9C7A025B54DD62F:\
-C591E27A2C12742A959652F5F341F558CA0C7DAF2E6B5ACE32DCAAF459553BA2\
-3EF0235EAFD86A7F2D70587239D858484E5CD36122C2B9F6E410C7A9C307B2A2\
-A084BB1B634A15AC9F09E38EAF421D14C5A07B6EB5EDE6915E8DE9D3D9D01DBD\
-8822FBD79BA7FF3DF921B5451BBD9A12AB41FD4DAB829599BC2736B23753063C\
-0C5FFCBA7DB06DE26D3C441D126FC1A46531F593
diff --git a/src/test-data/aead.vec b/src/tests/data/aead.vec
index 052ac0699..87e77e87f 100644
--- a/src/test-data/aead.vec
+++ b/src/tests/data/aead.vec
@@ -46,6 +46,13 @@ In = 08090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
AD = 0001020304050607
Out = 72C91A36E135F8CF291CA894085C87E3CC15C439C9E43A3BA091D56E10400916
+# Crypto++
+Key = 40CFB7A62E88013BD6D3AFFCC191041E
+Nonce = 00B6A88ADF36912FDCA0F3A5AE
+AD = 88C0D9577DF763C8B6A88ADF3691DC4A8BCA94DD00000000
+In = 2C1BD036831C95496C5F4DBF3D559E72DE802A18
+Out = 89D8580340B626A0B6D4D013BF18F291B89646C8FD1F1F61A9FB4BB3
+
[AES-128/CCM(10,2)]
# RFC 3610
Key = C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
diff --git a/src/test-data/block.vec b/src/tests/data/block.vec
index 78eacbe7f..78eacbe7f 100644
--- a/src/test-data/block.vec
+++ b/src/tests/data/block.vec
diff --git a/src/tests/data/dh.vec b/src/tests/data/dh.vec
new file mode 100644
index 000000000..bdc4eca64
--- /dev/null
+++ b/src/tests/data/dh.vec
@@ -0,0 +1,80 @@
+
+P = 58458002095536094658683755258523362961421200751439456159756164191494576279467
+G = 2
+X = 46205663093589612668746163860870963912226379131190812163519349848291472898748
+Y = 26821400572298074358375073922715498403273583367617402781946773132088456286733
+K = 5D9A64F9E54B011381308CF462C207CB0DB7630EAB026E06E5B893041207DBD8
+
+P = 7080941971697125115953429172307253449997092375902849066092516886443770423993013931939664664691599157495586618571486777257251370592538466283944520569755243
+G = 2
+X = 558545918073450953822828294657166871085534488182588754070944297274702844791239790350137385125663944726718987047123606999344398260535747142299581818644894
+Y = 5414004572904348025296832268296927639985617596751048805496391472266617693297043686410755975231136915922983393130810278045355076974349430254905203521469281
+K = 65F79BCC47862E02DDE775B8FC7B1D0CBA094B753E502D49A4468687681F178CEE98016210E136E80255FC8FDECC4D38D91EBC82C94B17652BDC7569AC383F39
+
+P = 13136945886549419892672364204240698856868140920222753719410945199521492957942501101571382423757107983263697942121022398653040312294171805755003420937008819
+G = 2
+X = 7234683127321298509925294581253140833264699266098978220501763131351358687985896274862103003239800546011982186510097828911316488529426006616714526458066271
+Y = 2279687933022692843565305738851942847753122181957871349712298819158246913703861338250576252594546190393887657989733709994119777023140405518896999362296894
+K = 290BF0265BAAD40A5853BAF3CC18B315982FF282C82D7332DA6A8826E789330D875F29F57D9A622DB7DDF156CF4440EDB8455BC32859FA2A178D42528FA64136
+
+P = 7837101158566379575244981793821373232935960937791570311529087011989828139360157566031864344629391921990623396775060696298931110532512473525227009216442663
+G = 5
+X = 2271743810121848480269660476736588602223609425319496369070326649477151605521404690612976189919437998885287608828699462183553427369647044489290359586354073
+Y = 5553605535786829473948867606958960228544449485744361474243970893441441245322015477973193059017330938119851955120496598438033407790780406867070511553809237
+K = 4ED3B2ED6B3E8446D8E1C3D2BCA00FB939464874BB6750BDE5F5DACFE9F819597E96F6B1DBA27C785553383AE87188019734A160B6BA5396760B88EC1F2A0E92
+
+P = 94601366105683233785857165617633883930888659900865798821537131281240413334589084848277586190796291421413056657355624982032535320546697702506255545831695999765620345337665948695835489391652130862575428732385880123143529399201847515289798598538556585982541405034303884158851145992650670977252891826481077576283
+G = 2
+X = 23484534159498465809072519330053257189446469650913804186985945596423260246286292600333967669376208639922768407894768298151128017428601886623219847603288857771541399565808620552396892534905511436715248032341612931260211253869255846963169818664325386727815821240629227196043893200670349600641190073530521475769
+Y = 5432307605192951130143195594341230106472453193740817014833299044466758796406314885816769577417181043800208414512454882219387455875605089197474590288847925182956692434090736024405561167965732783350054200615740891235826401928590081691818434389717991597889828540215480852496077254876423767132564403274562077989
+K = 2B6D9504C1D7ACAD9652CF79A6A0630EA9D19C197E908E992BC318BE2867FAE3C1AD5BE83E6E4AA1CBE0347774038F20ACD790DEA82B2A5862BF21FA4A1AB464AE985CA8AC4E5076AD0843E144C1305759BA047446A3A7F2426BE0C724F269009B54447B6A970876E5E4C613356805014D6060039C081AFB046863CA9BE9C848
+
+P = 1552518092300708935130918131258481755631334049434514313202351194902966239949102107258669453876591642442910007680288864229150803718918046342632727613031282983744380820890196288509170691316593175367469551763119843371637221007210577919
+G = 2
+X = 685078553304159035464716326854822835193451441997442840800795603162509841400135338379277554904437091176379541017234777332187633447726175655914472581493290704556522238276021530976753683757729964722818958026528667421943355247435136595
+Y = 327223566388550147370456252927505638960185374656702554704111121893769362737925338166155231522305523733603768644188224638966076688893552015565591036893892648172244492495933633231578970690616347817811694307569976520005347020917701473
+K = 1835BAAC22790A32874BAD6465BBFA22BEA8A8FFF9847814273311E715FFED515AFEFAFBDB88F5F6059A874B8ECA325553D2399B36BDAF703E23D9BA426B440AB9B3232319E82F60651B5D9610FF5F62D9676AB0CC691DAD9373E14407515B06
+
+P = 179769313486231590770839156793787453197860296048756011706444423684197180216158519368947833795864925541502180565485980503646440548199239100050792877003355816639229553136239076508735759914822574862575007425302077447712589550957937778424442426617334727629299387668709205606050270810842907692932019128194467627007
+G = 2
+X = 117358355093158243772281726564327046342660004246661964421820081457157103053753677892051651545371928439421320149937005053232860858176909658402981485172940971108603819473237690552637374100064919496138069890177714358665483995265800338671856318966175136885292325639757886026364383579423253849605396187475232095132
+Y = 57539423295638442206892167066359686700569189630077747353691730929497731533857441647649392933925074234706822761847935684100782557487799951849914086530002264625999875869016136773588580906347655217075180010311369271052664776904944276355980602373353393308677804412765860544107788108937583994770986950679514411138
+K = 78E5A35AEBE11E2A6EE2AC7CF250BB6D14D4194E4B4F863388B403A6D4F771792399B005B60876A2B54F38B10E80D7FABD5CA0260DA7F49D3C8BC319EAB0DCE98DB256D55A3D286FB4A92D426908121A48FBE08BCAFBB2CCBD79CF2422ADC0BF7FD6D32BBD7179CC92C5B6F3A0A66F75521119B054C9C890A5508FB82DFCF947
+
+P = 2410312426921032588552076022197566074856950548502459942654116941958108831682612228890093858261341614673227141477904012196503648957050582631942730706805009223062734745341073406696246014589361659774041027169249453200378729434170325843778659198143763193776859869524088940195577346119843545301547043747207749969763750084308926339295559968882457872412993810129130294592999947926365264059284647209730384947211681434464714438488520940127459844288859336526896320919633919
+G = 2
+X = 739237112970057740207427313296331508547391873351087519031317088463605671805753509064566111939928774686685012380575825453558190567587908849270209558552261470752455892663534625353851360146457902583604933234946685508662607721742406960168643112043128254559696702490538293280515843221598157060555060961831253846736136674532026172122886701311272287722144640110537857543398614740899065206358082818681236923673818434846278268060441757896300104313769477393005945867319551
+Y = 2319569997045750172247255393999740875354387751279327121702321177939778299701541339488022815311117326701128396690789142720324309771370152173591363190398312104191303941359918617839579521942187046950042060629622150750681445647628037848196430901082650422412334503051413809801325964735136409994376115795040051320646279397973104004574442215154659146959404571168426685620415022294507517851849794008307530784068395636247103219502223279453021147479873923533569526239456
+K = 142195F7212A66E8E79E6CBCBB092107C38051B998A46110A759B2DD35DB937168AB11CE2AF35F8C9263C585FAE7FFF37B9080F65B6AF33A983D8177455F9D905ACADB57DBFF67A27D4947C999A2B5CAD13BEDAF05BB2A197654740F54C932D84580F6B954F57C0A42317CC77036346CB8FB3BB07A72497C74BE7A454AA98BCD458F85B323119565C650AE6F884BAD489BFE34B4A7116412E5FA6920355DCA6524110068A5BFA93E1CACB6A9A3B4FF47A760107AE212279D86C1A333AAC0E7BE
+
+P = 9650540440490314114937009702862421346296588410976036984583512014387927052445834881962885606471285866861162806563202093993018048357096397454155827066480523
+G = 3
+X = 582646568513729405829699179555740781
+Y = 8099719757647916223822063484222705158878658473312587130023067523399140988048790366880122762583204592631817851831834181092213563237801470024540882048770579
+KDF = KDF2(SHA-1)
+OutLen = 5
+K = EDE06CF771
+
+P = 10328425326708844997463618196881079202096586111807163616712657353772693558065330782839301782605824457005088877790770752381734283533915349886076287514294499
+G = 3
+X = 1245853531965678848050580170395345372
+Y = 3741925297732257800388942145915951818711052550638265126235091729177488141581832572933605375465343091306397047810564632197696258931020804293367408515942002
+KDF = KDF2(SHA-1)
+OutLen = 16
+K = 02F0A9B8677D7874494627C1AE8B1507
+
+P = 9735079771988746160588414005927328258439919394490709255833033931423838694501728498091693697913157881691746262124897319798812025850609839874242846065896887
+G = 2
+X = 1167818142943580811547899864055610798
+Y = 8292441025584385605764255514650466545107472983148620609025625962746170801303655483386434681979246093568268448206095083434064909028960372597282728744026849
+KDF = KDF2(SHA-1)
+OutLen = 19
+K = 6F6B153DC35648A59C2A43398318F90CC1015C
+
+P = 85114557364650008420045895122918006307213511126615441094597696814447313996921277639983683027633045230906349467122611624145875444033385043106252287751516683
+G = 3
+X = 970719560534601667282575035417201115
+Y = 10184561344323260378129885913082975330372891056845460299665355240407681081121453882614207213107251259039062495690891729714821396325174175235314653087355047
+KDF = KDF2(SHA-1)
+OutLen = 33
+K = 5A70601B0668BA303F8FBFC90FBA82B9D589BD586C576B414A6AF17F9B386C7020
diff --git a/src/tests/data/dlies.vec b/src/tests/data/dlies.vec
new file mode 100644
index 000000000..d0546b4e0
--- /dev/null
+++ b/src/tests/data/dlies.vec
@@ -0,0 +1,42 @@
+
+P = 179769313486231590770839156793787453197860296048756011706444423684197180216158519368947833795864925541502180565485980503646440548199239100050792877003355816639229553136239076508735759914822574862575007425302077447712589550957937778424442426617334727629299387668709205606050270810842907692932019128194467627007
+G = 2
+X1 = 3895469730603000759730584760913911891226712505433061
+X2 = 3202115124466487737101087673031994924801994092564435
+Msg = AB5BBE0D
+Ciphertext = 538F9C9CAC3EEB460B6D40B4AC331EBD3E2F3065E515177F47A083D1AC71533BF3B2931F52D71A99CA0804A633E1948F3B286453EA6CF0DD83C6DD1D2BD93B20F4942D9679CFDE5856DD81E152E1E5ADD023324B945CE68425B025AE5D0CF86C0D33244A60AF6045BD57018FFE5F84A9BF82193242FF32A64691586AAA298FE531CF06A56412DFEC3AD1F50FF8CD296310E5BB4D06E15AB0
+
+P = 179769313486231590770839156793787453197860296048756011706444423684197180216158519368947833795864925541502180565485980503646440548199239100050792877003355816639229553136239076508735759914822574862575007425302077447712589550957937778424442426617334727629299387668709205606050270810842907692932019128194467627007
+G = 2
+X1 = 4556286536649761359339945350124531773703491905870156
+X2 = 4102583277207195475485889175414309483746012144669284
+Msg = C43BB390
+Ciphertext = C04F6BD6D1BFBDE74E775FB391A29B2D6FB7EE84C13D2061291DBA8708E406B0A6788F69F7DFEBE4CA35B31917EACD7D36CDBEBDCC51567ADF3F287F57592A0F73E1C990B807E0A67ACAE3F07361DF123C59E0A95CFCA9DEB3C7CCDC47C925F975AF0948B3DE9EC1E34EED30391FD4080D77DD07F091E3D5D89BC158A96485B28477AA95D62EFB9FA1D2B44A38A698F81C9518355BAE8B74
+
+P = 1552518092300708935130918131258481755631334049434514313202351194902966239949102107258669453876591642442910007680288864229150803718918046342632727613031282983744380820890196288509170691316593175367469551763119843371637221007210577919
+G = 2
+X1 = 1054639601167296898572220004033907486000310327029
+X2 = 1342657759849572617856127220396675041367757265787
+Msg = 3B06E0705DC9DBA971AA624393984D5B
+Ciphertext = 2AB9B180CEF08E761EDB4D7B7C538FBA0FD37BACE9416789A0DD6551F2DDC6025C76A663F1AAD5000EC03418A6220ABA6D3DC5EA82D7340E2FFCB5665AD3A2223CDFF9C39889CBE31E44CD31BCFDCEFCF2A9916FD39E2720A7B826F7E6998F734F251C71DC970AF3FB12949C14AA759966733BFC976CAD0BE71FC5DBE285200E75647C62
+
+P = 1552518092300708935130918131258481755631334049434514313202351194902966239949102107258669453876591642442910007680288864229150803718918046342632727613031282983744380820890196288509170691316593175367469551763119843371637221007210577919
+G = 2
+X1 = 1019791127804545295775858763356184757983418129858
+X2 = 791304855263120499982139573682243365135340447126
+Msg = DD92A05E19BBAD4A33CEFFA0FA2727E9
+Ciphertext = 3F0300C53C0BB02A3EF2EFCC751EE5D98AE991730C1C2FE39D11A74D32D892AD63A9EECA09BBBE606FB426E03BBD480FD224E09712BB85FE649D543CBC23113A39F9102C65D31DF330ADF233735C1D60D1BCDE22744392D2D9DE50393984F276A33DD85F763ED1226B88DF1662554AD27820F66A995FE1481189A2B8C3071D0C32EE9960
+
+P = 1552518092300708935130918131258481755631334049434514313202351194902966239949102107258669453876591642442910007680288864229150803718918046342632727613031282983744380820890196288509170691316593175367469551763119843371637221007210577919
+G = 2
+X1 = 1127072655127804554962850771491034708297993164117
+X2 = 909338501771729516589244957544435828677252574269
+Msg = 174E756AF8FFB51990BF3C69688D3A7F0B388F2BCE62A095BC12CD6DA2C2AD65
+Ciphertext = B99BBBC64F6320060200E6FFE7D1FE6E5EEA79DF142111AF88D377037BD9186341B7A7A27F2AE8BB77282B8EA13D821DD77186412CA3B9B5E1650A0D20687B1C8D556FD7D547D475F71BBD7D6417311F535A9A6D95CEA8AFD1146B1A1741828E8AD46B058507A67111CB62132350EEAC1212D90535677855E17B1DA9DC4CE790C4B917B1359123226FE62DCCE5475721F09CEA23
+
+P = 1552518092300708935130918131258481755631334049434514313202351194902966239949102107258669453876591642442910007680288864229150803718918046342632727613031282983744380820890196288509170691316593175367469551763119843371637221007210577919
+G = 2
+X1 = 1400390629906877310807893670888997072266707870316
+X2 = 1409894924299088894270577337460879151312883489271
+Msg = 75DAD921764736E389C4224DAF7B278EC291E682044742E2E9C7A025B54DD62F
+Ciphertext = C591E27A2C12742A959652F5F341F558CA0C7DAF2E6B5ACE32DCAAF459553BA23EF0235EAFD86A7F2D70587239D858484E5CD36122C2B9F6E410C7A9C307B2A2A084BB1B634A15AC9F09E38EAF421D14C5A07B6EB5EDE6915E8DE9D3D9D01DBD8822FBD79BA7FF3DF921B5451BBD9A12AB41FD4DAB829599BC2736B23753063C0C5FFCBA7DB06DE26D3C441D126FC1A46531F593
diff --git a/src/tests/data/dsa.vec b/src/tests/data/dsa.vec
new file mode 100644
index 000000000..561bdf3f9
--- /dev/null
+++ b/src/tests/data/dsa.vec
@@ -0,0 +1,99 @@
+
+Hash = SHA-1
+P = 12270257065277902172111596494483961231804192474187036121797836181131247584932089780250846976703010051122719674458164945374286479988150443637157475734107133
+Q = 1299375671246779600593676384772532093813584338541
+G = 780366311785426093047354159864846769169488815644536449156874587202746748258854623523640019827614715587575157331420659030384035201791567262145164445837006
+X = 64304226652797075136199428090917889602951747558
+Msg = D05268DA47ADDDBA11A45CD2FA71347F6137215B2CCDC40E
+Nonce = 868788898A8B8C8D8E8F9091929394959697989A
+Signature = 19F24178D7369B619E566C5256C49EA648B68CC2D5EA2ADA04CBD68BCB6F014FD3FE0396B821BFEE
+
+Hash = SHA-1
+P = 116287679779556070551056667401322457124428937948811753832732071945687103664949020587235486764623919984456165465659742357205828499991902160607812393791250953806382262794445968225940191930980124228681014089245560854991186229842247618249551974137659243602699006879085681802942426221155596604515130484595210072293
+Q = 1299375671246779600593676384772532093813584338541
+G = 91963941661165653481506208908042102495395838370431364316429648751864248773470550304639855199811515520116277650040132595821755678017635203540593532285834289308326953040029637669980656056560371005963728192838069291844676216080955671709984396020486302047753813502224578933361166080321370120163932404242709356753
+X = 71927177082234296737505723835963793790598265833
+Msg = 1B83134583EF63C7F583AC69F4655B4BCA5D67D8C90779F9
+Nonce = DBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEF
+Signature = 4B4471C82B030F2C2115B65309DF23A8B6AE1EEAAD2F0A376C1C76689601C174AAAD979F4925AFAF
+
+Hash = SHA-1
+P = 116287679779556070551056667401322457124428937948811753832732071945687103664949020587235486764623919984456165465659742357205828499991902160607812393791250953806382262794445968225940191930980124228681014089245560854991186229842247618249551974137659243602699006879085681802942426221155596604515130484595210072293
+Q = 1299375671246779600593676384772532093813584338541
+G = 91963941661165653481506208908042102495395838370431364316429648751864248773470550304639855199811515520116277650040132595821755678017635203540593532285834289308326953040029637669980656056560371005963728192838069291844676216080955671709984396020486302047753813502224578933361166080321370120163932404242709356753
+X = 71927177082234296737505723835963793790598265833
+Msg = F1E6950AAFB240F0194B198C485FC220770005E25A480C87
+Nonce = A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B8
+Signature = 76EC77EFBCE0F6B01C1AA676ADC3AC6409950FB7A87A9A50C9EF2C7B6C86C9027C1E29F2C6EA3850
+
+Hash = SHA-1
+P = 179061322616957523501082979787244857703143582663248572464728559525843535653041237790950443729585243285067018308147507587925460515475949403044102584688905165345956326447092984983582289097765732846470739503353674290771140413677218977736207600855242504919731099465680843141955234196886838647266836329406137291281
+Q = 1227568936457257613747765910894852424387637950163
+G = 55447061991728779589680157097062966147565874042495386924694902509061920947933753585694730820135472163697844025253877093898637466023512984242017402181163445107016270882028418023556239620248016750612928161807785164917703625378097995273657411171969180273661711818279079729015760720382420596198792615660396499411
+X = 1108576690978860937069619874422023955377068860619
+Msg = 2F31C0661BA2AB812B7776CFE5CC710AA268D462508FE43D
+Nonce = A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B9
+Signature = 22E16319CB7FCC90CA03D66B1550FBEB6121AB42A9B5E784F8CA84CA30F40BEE98BB6A666268555B
+
+Hash = SHA-1
+P = 153848637714378494121507252512351480198698539914612689589619905857639664771273480299531255805737005247736828979714623202273316303866329872202516762692840131109369194006819849976424451192783095403989464996900096015982142140347841528939943400412700889598881068604690211351508245054730312753410665964001982682387
+Q = 1157461304199822560740260885592916189587941196301
+G = 138731668224947034741376895340429389869127677162443845224328339067172119781040113593036256835061047595748259555206737655274672301070819086599094699066976480431573785510473992262585066025459933281879258914089312906907867956614804081132801646896267441802665976654976982650943307061527326133693843030788022448650
+X = 294970044949972528355990574740760666660648211949
+Msg = 23427F57C6A99405244AEC6915BB38502969838F34364FDA
+Nonce = 9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB1
+Signature = 033A7684B382E2D2DE424111A110A7A326BA215866B3447002C3A535EBB705C99B0CF658FC2B45A4
+
+Hash = SHA-1
+P = 7318407741184033161915019415806929514902398271860940485494758459651720440471717049441378896687658372847221985077822765330881711812272784111398214531294272570213296245387537371167383674169937208840427330310842646876411141060291337039874386670690146731629355191104879436323063016236595588393
+Q = 1010279367844055013509519219776168651578654964327
+G = 6709335784123324431386179160425131080354942838640753665935072907643408074801183749770889868137836713472340469855926685366755487482940656296783284360653270628425985278296202932654816025967424120607749637377320014928197989459952847122540896348804229893726789010978436642041268110684967356081
+X = 173695667654521850017182626401352723577822440571
+Msg = 8A8BA6DE6D4F6E80837F5250171E3534883BB97B1CCD6984
+Nonce = 8788898A8B8C8D8E8F909192939495969798999B
+Signature = 4AF54C9F782C3B4B1D5000985F684B64D5EF030F5F71CA624A7145BD80674D8B323A191E7069F0EB
+
+Hash = SHA-1
+P = 8935755085182300202840562857649004379495615290235088479492950900721336770042052891181606159390616674371951863451410382933233275674555471293006609026897548255280789813417096949229138589443391480427488120546160047028002551844879581932280442455032233819385096580847416819799924260586539182293
+Q = 1184902326419537393243522486863273599978341991611
+G = 8559968150211944280054444270994798417110755658009000644169699005202609308505754357699309109699635408886747004497498288142950588102719941677107548915157231660425441766752996603188440200356918433831853475826848609752662287353938819550109045981574044455759280514493264807281607095679230204054
+X = 160147330797281724589272447400884313616617945364
+Msg = 1A6236F82FE51AC757C46130EC50D19A6A1F6B4FB403B4C8
+Nonce = 9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B2
+Signature = 00F04C3A7E9D31CC7C76BAA9246F5A0BFC3B552B54E2083A33AB966101E28E39129B60B35FACB03E
+
+Hash = SHA-1
+P = 6952436557537646587090929531666102667883680830933252880391568212775366999951638950134777728315624434028295734097226507523808572636836831945520720629817326446475380124056220000225929673190054721389910394225832373180142881574986581323395648215056944152876397949207398489534733298439561130831
+Q = 904902063384340613288207685993177321276784960423
+G = 1166392222505501999267089674315978923752001066747918964244755924988233130942152935755407165860205174592359699830399798532321885094397168420952237527213078759625955912857109816251163361612654571295923137210688076515441535658947722005749316750562689761828412344228654565498710983438994721064
+X = 858717154735867000325696579678678385404054322404
+Msg = EFDE5496CCC183385F3F2C163F7021FA809D32651FD9E05D
+Nonce = 838485868788898A8B8C8D8E8F90919293949597
+Signature = 01224EAC2D585D92840280C76FB57306222E428030DAC78E2823E2027A20ADA84BF7B6FA085FD327
+
+Hash = Tiger
+P = 205054850158113653576829836564247298371201622947451914663896751620429728536031315180350575183383908345690236084423224529084967549443839371070056108793927
+Q = 193074564556225966993829585339141341
+G = 8548832339578358446511471601136373527478047970390383978214302554869382122537709118087250086263408180306289017866313401482488402043808366246047034469613
+X = 133169634476971613237222909192252611
+Msg = 54686973206973206D6F73746C792061207465737420666F7220454D53413120287365636F6E64207465737429
+Nonce = C40DA376ACBB379890ACDFB021E02A
+Signature = 041A7C1033F50A295DA0C4D436BD612466FB65ECE1357D4770BF93413F2F
+
+Hash = Tiger
+P = 11819714333207273755781886966397437460455801046676151765962122273237869684679809720402750716049313008848953257493413659821686810603139013041282248788197001
+Q = 1098833280265204589648408053971474113
+G = 222580847411197580365901496107580970370265551826671570655500495087455747131091969688056114339014381123211562197756976321153805057374694995100672420995880
+X = 1081994640113262843744111571724403826
+Msg = 492077616E7420736F6D65207069652E
+Nonce = 8182838485868788898A8B8C8D8E90
+Signature = 6DD27F32F0012698CECB2D8BE550ED662111608A6586A481CC7E2E4C5CB4
+
+Hash = Tiger
+P = 49193932043586603554650065678017736254415576843018228127544238194142350774428159756136800009784734086661367788117828601294366770317736994024329572735631
+Q = 201614538311430967264501294067692331
+G = 39005338582959262509020817101138470855604262992168367049925650810184593292935164854796454599311349713861978196034391940372675432966108193229763558917892
+X = 189694880421939583935164356865720345
+Msg = 54686973206973206D6F73746C792061207465737420666F7220454D534131
+Nonce = 25ECC0ED4CE7118A72D133704D002A
+Signature = 14593FBF63EAC64976987524044D8B11AB9A95B4B75A760FE22C45A3EFD6
diff --git a/src/test-data/eax.vec b/src/tests/data/eax.vec
index 95cd7c1ab..95cd7c1ab 100644
--- a/src/test-data/eax.vec
+++ b/src/tests/data/eax.vec
diff --git a/src/test-data/ecc_testdata/CSCA.CSCA.csca-germany.1.crt b/src/tests/data/ecc/CSCA.CSCA.csca-germany.1.crt
index 8653f961a..8653f961a 100644
--- a/src/test-data/ecc_testdata/CSCA.CSCA.csca-germany.1.crt
+++ b/src/tests/data/ecc/CSCA.CSCA.csca-germany.1.crt
Binary files differ
diff --git a/src/test-data/ecc_testdata/CSCA.CSCA.csca-germany.1.pem b/src/tests/data/ecc/CSCA.CSCA.csca-germany.1.pem
index 725e1634e..725e1634e 100644
--- a/src/test-data/ecc_testdata/CSCA.CSCA.csca-germany.1.pem
+++ b/src/tests/data/ecc/CSCA.CSCA.csca-germany.1.pem
diff --git a/src/test-data/ecc_testdata/DE1_flen_chars_cvcRequest_ECDSA.der b/src/tests/data/ecc/DE1_flen_chars_cvcRequest_ECDSA.der
index 358ca8f34..358ca8f34 100644
--- a/src/test-data/ecc_testdata/DE1_flen_chars_cvcRequest_ECDSA.der
+++ b/src/tests/data/ecc/DE1_flen_chars_cvcRequest_ECDSA.der
Binary files differ
diff --git a/src/test-data/ecc_testdata/Lidia.cer b/src/tests/data/ecc/Lidia.cer
index 58c55689b..58c55689b 100644
--- a/src/test-data/ecc_testdata/Lidia.cer
+++ b/src/tests/data/ecc/Lidia.cer
Binary files differ
diff --git a/src/test-data/ecc_testdata/Lidia.pem b/src/tests/data/ecc/Lidia.pem
index c0612d9ca..c0612d9ca 100644
--- a/src/test-data/ecc_testdata/Lidia.pem
+++ b/src/tests/data/ecc/Lidia.pem
diff --git a/src/test-data/ecc_testdata/ado b/src/tests/data/ecc/ado
index baa79177c..baa79177c 100644
--- a/src/test-data/ecc_testdata/ado
+++ b/src/tests/data/ecc/ado
Binary files differ
diff --git a/src/test-data/ecc_testdata/ado.cvcreq b/src/tests/data/ecc/ado.cvcreq
index 09a14bbb4..09a14bbb4 100644
--- a/src/test-data/ecc_testdata/ado.cvcreq
+++ b/src/tests/data/ecc/ado.cvcreq
Binary files differ
diff --git a/src/test-data/ecc_testdata/cvc_chain_cvca.cer b/src/tests/data/ecc/cvc_chain_cvca.cer
index 4a7281aa6..4a7281aa6 100644
--- a/src/test-data/ecc_testdata/cvc_chain_cvca.cer
+++ b/src/tests/data/ecc/cvc_chain_cvca.cer
Binary files differ
diff --git a/src/test-data/ecc_testdata/cvc_chain_dvca_ado2.cer b/src/tests/data/ecc/cvc_chain_dvca_ado2.cer
index 1d6f7c173..1d6f7c173 100644
--- a/src/test-data/ecc_testdata/cvc_chain_dvca_ado2.cer
+++ b/src/tests/data/ecc/cvc_chain_dvca_ado2.cer
Binary files differ
diff --git a/src/test-data/ecc_testdata/cvc_chain_dvca_cert1.cer b/src/tests/data/ecc/cvc_chain_dvca_cert1.cer
index c16c2d279..c16c2d279 100644
--- a/src/test-data/ecc_testdata/cvc_chain_dvca_cert1.cer
+++ b/src/tests/data/ecc/cvc_chain_dvca_cert1.cer
Binary files differ
diff --git a/src/test-data/ecc_testdata/cvc_chain_dvca_req.cer b/src/tests/data/ecc/cvc_chain_dvca_req.cer
index 382351d6a..382351d6a 100644
--- a/src/test-data/ecc_testdata/cvc_chain_dvca_req.cer
+++ b/src/tests/data/ecc/cvc_chain_dvca_req.cer
Binary files differ
diff --git a/src/test-data/ecc_testdata/cvc_chain_dvca_req2.cer b/src/tests/data/ecc/cvc_chain_dvca_req2.cer
index 1b39cee00..1b39cee00 100644
--- a/src/test-data/ecc_testdata/cvc_chain_dvca_req2.cer
+++ b/src/tests/data/ecc/cvc_chain_dvca_req2.cer
Binary files differ
diff --git a/src/test-data/ecc_testdata/cvc_chain_dvca_req2b.cer b/src/tests/data/ecc/cvc_chain_dvca_req2b.cer
index 1b39cee00..1b39cee00 100644
--- a/src/test-data/ecc_testdata/cvc_chain_dvca_req2b.cer
+++ b/src/tests/data/ecc/cvc_chain_dvca_req2b.cer
Binary files differ
diff --git a/src/test-data/ecc_testdata/cvc_chain_is_cert.cer b/src/tests/data/ecc/cvc_chain_is_cert.cer
index f9ee2d20f..f9ee2d20f 100644
--- a/src/test-data/ecc_testdata/cvc_chain_is_cert.cer
+++ b/src/tests/data/ecc/cvc_chain_is_cert.cer
Binary files differ
diff --git a/src/test-data/ecc_testdata/cvc_chain_is_req.cer b/src/tests/data/ecc/cvc_chain_is_req.cer
index 144495f8b..144495f8b 100644
--- a/src/test-data/ecc_testdata/cvc_chain_is_req.cer
+++ b/src/tests/data/ecc/cvc_chain_is_req.cer
Binary files differ
diff --git a/src/test-data/ecc_testdata/cvc_chain_link12.cer b/src/tests/data/ecc/cvc_chain_link12.cer
index 27df92d9d..27df92d9d 100644
--- a/src/test-data/ecc_testdata/cvc_chain_link12.cer
+++ b/src/tests/data/ecc/cvc_chain_link12.cer
Binary files differ
diff --git a/src/test-data/ecc_testdata/cvca01.cv.crt b/src/tests/data/ecc/cvca01.cv.crt
index 8f278167c..8f278167c 100644
--- a/src/test-data/ecc_testdata/cvca01.cv.crt
+++ b/src/tests/data/ecc/cvca01.cv.crt
Binary files differ
diff --git a/src/test-data/ecc_testdata/cvca_illegal_chars.cv.crt b/src/tests/data/ecc/cvca_illegal_chars.cv.crt
index b1a3d266c..b1a3d266c 100644
--- a/src/test-data/ecc_testdata/cvca_illegal_chars.cv.crt
+++ b/src/tests/data/ecc/cvca_illegal_chars.cv.crt
Binary files differ
diff --git a/src/test-data/ecc_testdata/cvca_illegal_chars2.cv.crt b/src/tests/data/ecc/cvca_illegal_chars2.cv.crt
index 00f09b618..00f09b618 100644
--- a/src/test-data/ecc_testdata/cvca_illegal_chars2.cv.crt
+++ b/src/tests/data/ecc/cvca_illegal_chars2.cv.crt
Binary files differ
diff --git a/src/test-data/ecc_testdata/ec_for_flex_mes.sig b/src/tests/data/ecc/ec_for_flex_mes.sig
index 6d9983b67..6d9983b67 100644
--- a/src/test-data/ecc_testdata/ec_for_flex_mes.sig
+++ b/src/tests/data/ecc/ec_for_flex_mes.sig
diff --git a/src/test-data/ecc_testdata/ec_oid_not_in_reg_private_2.pkcs8.pem b/src/tests/data/ecc/ec_oid_not_in_reg_private_2.pkcs8.pem
index 7a1707971..7a1707971 100644
--- a/src/test-data/ecc_testdata/ec_oid_not_in_reg_private_2.pkcs8.pem
+++ b/src/tests/data/ecc/ec_oid_not_in_reg_private_2.pkcs8.pem
diff --git a/src/test-data/ecc_testdata/ecc_private_with_rfc5915_ext.pem b/src/tests/data/ecc/ecc_private_with_rfc5915_ext.pem
index a8699fce7..a8699fce7 100644
--- a/src/test-data/ecc_testdata/ecc_private_with_rfc5915_ext.pem
+++ b/src/tests/data/ecc/ecc_private_with_rfc5915_ext.pem
diff --git a/src/test-data/ecc_testdata/flex_cert.crt b/src/tests/data/ecc/flex_cert.crt
index 0b9015cb2..0b9015cb2 100644
--- a/src/test-data/ecc_testdata/flex_cert.crt
+++ b/src/tests/data/ecc/flex_cert.crt
Binary files differ
diff --git a/src/test-data/ecc_testdata/flex_mes b/src/tests/data/ecc/flex_mes
index 52a91be5e..52a91be5e 100644
--- a/src/test-data/ecc_testdata/flex_mes
+++ b/src/tests/data/ecc/flex_mes
diff --git a/src/test-data/ecc_testdata/flex_mes.sig b/src/tests/data/ecc/flex_mes.sig
index fde33473a..fde33473a 100644
--- a/src/test-data/ecc_testdata/flex_mes.sig
+++ b/src/tests/data/ecc/flex_mes.sig
Binary files differ
diff --git a/src/test-data/ecc_testdata/insito_expl_ec.pem b/src/tests/data/ecc/insito_expl_ec.pem
index e8e57848f..e8e57848f 100644
--- a/src/test-data/ecc_testdata/insito_expl_ec.pem
+++ b/src/tests/data/ecc/insito_expl_ec.pem
diff --git a/src/test-data/ecc_testdata/insito_oid_ec.pem b/src/tests/data/ecc/insito_oid_ec.pem
index 2e0517187..2e0517187 100644
--- a/src/test-data/ecc_testdata/insito_oid_ec.pem
+++ b/src/tests/data/ecc/insito_oid_ec.pem
diff --git a/src/test-data/ecc_testdata/link_SHA1.166.crt b/src/tests/data/ecc/link_SHA1.166.crt
index 8f76b3203..8f76b3203 100644
--- a/src/test-data/ecc_testdata/link_SHA1.166.crt
+++ b/src/tests/data/ecc/link_SHA1.166.crt
Binary files differ
diff --git a/src/test-data/ecc_testdata/link_SHA256.cer b/src/tests/data/ecc/link_SHA256.cer
index add40f738..add40f738 100644
--- a/src/test-data/ecc_testdata/link_SHA256.cer
+++ b/src/tests/data/ecc/link_SHA256.cer
Binary files differ
diff --git a/src/test-data/ecc_testdata/my_cv_cert.ber b/src/tests/data/ecc/my_cv_cert.ber
index 7a14fd3eb..7a14fd3eb 100644
--- a/src/test-data/ecc_testdata/my_cv_cert.ber
+++ b/src/tests/data/ecc/my_cv_cert.ber
Binary files differ
diff --git a/src/test-data/ecc_testdata/my_cv_cert2.ber b/src/tests/data/ecc/my_cv_cert2.ber
index 7a14fd3eb..7a14fd3eb 100644
--- a/src/test-data/ecc_testdata/my_cv_cert2.ber
+++ b/src/tests/data/ecc/my_cv_cert2.ber
Binary files differ
diff --git a/src/test-data/ecc_testdata/my_cv_req.ber b/src/tests/data/ecc/my_cv_req.ber
index 4e121eee7..4e121eee7 100644
--- a/src/test-data/ecc_testdata/my_cv_req.ber
+++ b/src/tests/data/ecc/my_cv_req.ber
Binary files differ
diff --git a/src/test-data/ecc_testdata/nodompar_private.pkcs8.pem b/src/tests/data/ecc/nodompar_private.pkcs8.pem
index a2c64ec53..a2c64ec53 100644
--- a/src/test-data/ecc_testdata/nodompar_private.pkcs8.pem
+++ b/src/tests/data/ecc/nodompar_private.pkcs8.pem
diff --git a/src/test-data/ecc_testdata/private.pem b/src/tests/data/ecc/private.pem
index 4465da669..4465da669 100644
--- a/src/test-data/ecc_testdata/private.pem
+++ b/src/tests/data/ecc/private.pem
diff --git a/src/test-data/ecc_testdata/root1_SHA256.cer b/src/tests/data/ecc/root1_SHA256.cer
index 021afe530..021afe530 100644
--- a/src/test-data/ecc_testdata/root1_SHA256.cer
+++ b/src/tests/data/ecc/root1_SHA256.cer
Binary files differ
diff --git a/src/test-data/ecc_testdata/root2_SHA256.cer b/src/tests/data/ecc/root2_SHA256.cer
index a2ecfed22..a2ecfed22 100644
--- a/src/test-data/ecc_testdata/root2_SHA256.cer
+++ b/src/tests/data/ecc/root2_SHA256.cer
Binary files differ
diff --git a/src/test-data/ecc_testdata/root_SHA1.163.crt b/src/tests/data/ecc/root_SHA1.163.crt
index e1bf39f9a..e1bf39f9a 100644
--- a/src/test-data/ecc_testdata/root_SHA1.163.crt
+++ b/src/tests/data/ecc/root_SHA1.163.crt
Binary files differ
diff --git a/src/test-data/ecc_testdata/withdompar_private.pkcs8.pem b/src/tests/data/ecc/withdompar_private.pkcs8.pem
index 85d7b575e..85d7b575e 100644
--- a/src/test-data/ecc_testdata/withdompar_private.pkcs8.pem
+++ b/src/tests/data/ecc/withdompar_private.pkcs8.pem
diff --git a/src/test-data/ecc_testdata/x509_req_test_expl.pem b/src/tests/data/ecc/x509_req_test_expl.pem
index e4ae1a9b3..e4ae1a9b3 100644
--- a/src/test-data/ecc_testdata/x509_req_test_expl.pem
+++ b/src/tests/data/ecc/x509_req_test_expl.pem
diff --git a/src/test-data/ecc_testdata/x509_req_test_oid.pem b/src/tests/data/ecc/x509_req_test_oid.pem
index 2ae0c2ea5..2ae0c2ea5 100644
--- a/src/test-data/ecc_testdata/x509_req_test_oid.pem
+++ b/src/tests/data/ecc/x509_req_test_oid.pem
diff --git a/src/test-data/ecc_testdata/x509_test_privkey_expl_pw123456.pem b/src/tests/data/ecc/x509_test_privkey_expl_pw123456.pem
index 20f17130c..20f17130c 100644
--- a/src/test-data/ecc_testdata/x509_test_privkey_expl_pw123456.pem
+++ b/src/tests/data/ecc/x509_test_privkey_expl_pw123456.pem
diff --git a/src/test-data/ecc_testdata/x509_test_privkey_oid_pw123456.pem b/src/tests/data/ecc/x509_test_privkey_oid_pw123456.pem
index ecd188a5d..ecd188a5d 100644
--- a/src/test-data/ecc_testdata/x509_test_privkey_oid_pw123456.pem
+++ b/src/tests/data/ecc/x509_test_privkey_oid_pw123456.pem
diff --git a/src/tests/data/ecdsa.vec b/src/tests/data/ecdsa.vec
new file mode 100644
index 000000000..bc21299c3
--- /dev/null
+++ b/src/tests/data/ecdsa.vec
@@ -0,0 +1,105 @@
+
+Group = secp192r1
+Hash = SHA-1
+X = 0x1A8D598FC15BF0FD89030B5CB1111AEB92AE8BAF5EA475FB
+Msg = 616263
+Nonce = FA6DE29746BBEB7F8BB1E761F85F7DFB2983169D82FA2F4E
+Signature = 885052380FF147B734C330C43D39B2C4A89F29B0F749FEADE9ECC78106DEF82BF1070CF1D4D804C3CB390046951DF686
+
+Group = x962_p239v1
+Hash = SHA-1
+X = 0x7EF7C6FABEFFFDEA864206E80B0B08A9331ED93E698561B64CA0F7777F3D
+Msg = 616263
+Nonce = 656C7196BF87DCC5D1F1020906DF2782360D36B2DE7A17ECE37D503784AF
+Signature = 2CB7F36803EBB9C427C58D8265F11FC5084747133078FC279DE874FBECB02EEAE988104E9C2234A3C2BEB1F53BFA5DC11FF36A875D1E3CCB1F7E45CF
+
+Group = brainpool160r1
+Hash = SHA-1
+X = 0x1CA8A0ACE60292D2813D992C4EC7A4BCDF611C0
+Msg = 43727970746F2B2B20352E362E312045434453412074657374206D7367
+Nonce = 9CB692B33F02179D1A6F2A0669FD8DAAF17E4FC4
+Signature = 672EAFD043D30BAE7CA826828333FA70F10A14C70F49C076BB26178277D8E490D0C77F7A9649DE31
+
+Group = secp224r1
+Hash = SHA-224
+X = 0x42D126D0E51F3D6AA9B4D60BD1290853AA964A9C8698D5D5BDBAADEB
+Msg = 45434453412074657374206D657373616765203230313130323135
+Nonce = E1F6B207B4FC896879A51F65E85DB94CEB633FEC765739E689847D64
+Signature = A4C80AAF3D7B61200E66D6F41EC66D3D65E9E38DC06A88FE3B7F6C4C8A5CEE4E04FE240464EA2DBB52489D3FAC1CDE6DA24A0E4C6598BCD2
+
+Group = brainpool224r1
+Hash = SHA-224
+X = 0x47B5CCE9EED463CED28666DA57DA9D0A8BDD3F000CCFC0AE6054F1AD
+Msg = 43727970746F2B2B20352E362E312045434453412074657374206D7367
+Nonce = 9E9D0C9E67FF5785C3AD89195567CD3990D54C628788F26DB926F5B6
+Signature = 40369F41BD0D15C92DFB855779DBF439376FB6EDC4153E9B99019B7940FEF076FC8D610EC12AFC9CC43A150BD0190E507622E6623906D6B8
+
+Group = secp256r1
+Hash = SHA-256
+X = 0x368E89CC30AE7A3B4B4903C30C238C010257FE97DB85AF35982A7960A0DBD2F3
+Msg = 43727970746F2B2B20352E362E312045434453412074657374206D7367
+Nonce = E2AAB3BD3AB1999651CD903F5385B8EC2EDA84C43B7801F08608C179DD373369
+Signature = CBED1CE0D581020D2F89174EC2DE450C1D547BAC3DCEECCDD476A6AADF46D24FC456F43F351605CC40FC2A000B4D291042B5AEEA7A783DF89FC86666D832DACF
+
+Group = secp256r1
+Hash = SHA-256
+X = 0x6CC691616D2C996A8F00A31C2EBF4E35C5EFFEAAFA2266F800768D5BF8EA2C1B
+Msg = 45434453412074657374206D657373616765203230313130323135
+Nonce = C1DDAA59A4E0B5D95EB873C33BC465C6782EBF7BC43DB18058C9EC4816AD2A11
+Signature = A8369164EF54A67303760B77AA62C4DE8122396908EA5B06DBCC2BC48264C832ADB3A8855019D5AFF789EC1F276AD38A03AAF41F88593B74E5CB9DF7E4BD4922
+
+Group = brainpool256r1
+Hash = SHA-256
+X = 0x4EC702404A8047A08206721DE33F02E1F06B14E09A5582171EA9BB8AB3C9BC14
+Msg = 43727970746F2B2B20352E362E312045434453412074657374206D7367
+Nonce = A9952A1B896FB2C2AEA88EA578E2A5323114978A765E03E397969DC0F282708C
+Signature = 54F843E89B084EEE1CFFED09F222DF041CD46DB0C48833667BA0790ECD6030895304039A927714E79E5FCDB1D043E093FD85C8DD98B835CD6C7BB492C05357E5
+
+Group = brainpool256r1
+Hash = SHA-256
+X = 0x416D7FCEB966DF966CAE7BE2608C5C4D8939A7B5B3CF6D3E441A64886AC5FAD7
+Msg = 43727970746F2B2B20352E362E312045434453412074657374206D7367
+Nonce = A07978494C1B301C1E44467853CD367624549E0E9F5092C0100A53F877AD2EF6
+Signature = 93935B733CCC6A8702191664346135D1D6320D86A2346DFCA41AEDFBC4260435A4A9C66485C02BC2DCC858364173FAE00EA02529BA21B56BBBB2EAA4B811416D
+
+Group = secp384r1
+Hash = SHA-384
+X = 0x100CC52F0263DCB12FDB9E50D44A4C84831A98756265DF0CBFD092D27A739821043BFE282E2C8FAD46948C1F0365DD0C
+Msg = 45434453412074657374206D657373616765203230313130323135
+Nonce = C27CC4947F7CA7AF386AF5BEA88582685A043BB3C83C0C8B2A4BB1E53A3971FA8161168E332B2F3735A50BB3E8694F43
+Signature = C8B93B3C4B97B87A918522F423E26194F1AEA2B83FE890893C15928B79BCAC75F66AB47309378A54771ED46AF6AA453BFD2404EECFCCE19ACE11E5D5883EE40A300A42BD9AC79E77E507DE9EAE0B54034DB17355EE2111990ED226701D4ED7EC
+
+Group = secp384r1
+Hash = SHA-384
+X = 0x4AF67D00B7A8D964B38CC52CBC808D4693595A5B330E0B3EA52BDCD619D41B856961BDAC571D9BC93D16A9B1C4D5CC2F
+Msg = 45434453412074657374206D657373616765203230313130323135
+Nonce = 8C5D8DDCF8AF127174577A60F9B5512813E33EA8E45B471F343806FBF68663E9915B81A33F6AD22007D57818023AF982
+Signature = FF83C10E8D84777D17B724957B83E1500F578F1096C48BE2BCACE73E6681CDD6A34F66CA2AF31241FAF85AEE2528438DA6BED934D75ACCF2E41176D8B661AB58B7B867D802C38B39E8227F9CF0865072D381948FFFF637D8FB9B37BEC6AE0772
+
+Group = brainpool384r1
+Hash = SHA-384
+X = 0x19AD48ECFB30F115AEF41CAFD29B265A586399C0F95166017AA7DB894413A2AE821B7BE4F4E7B6BBC22A4E2EB1CC0865
+Msg = 43727970746F2B2B20352E362E312045434453412074657374206D7367
+Nonce = 83928FD1219F1C6D5B128C0ECD2E39A83399CE609382D41890D43FD476318E0C26264E98E0D5A0DBCC28A8C01C2D63D7
+Signature = 4B800A206ED7807C0F15798509164709E94ED73B5E02B10D65F45B6C2B7FD69437F3B5D1342DAF0988CA100B8875C7392CFA819E10B76CFE12B2C6485D8326B66E6256CD2F4A6DFEB9B2B7BDD732EA9E9D5398DDECCBEAAF3FD53D554AA1FADD
+
+Group = secp521r1
+Hash = SHA-512
+X = 0x1511908E830069DAD59E8BA8F1BD4045612A4844805F61F7ECD92A1DEE1877B7E62A57860314820C97FFC972732E3C4C0AE837103692E85B3A11B49EB3E20EF1599
+Msg = 45434453412F53484128353132292074657374206D657373616765203230313130323135
+Nonce = 01C352020AAA6D14B6FC2B78FD46209A9EEF6A357CD8B5D53738E3D655FE7A808396E1DC5742058D05F2D76C8CBF4832BE0580A6FD7B4C7426656D17680DEAAEEEC2
+Signature = 0138A515C79EECAAB50139FB5D9EF5A771CC1C0999F2E54B5A1A9370EA8ADCFDDDD6E9933A39EDA0862F3ECAEBD49EA5ED58D93DA8F72B1CFB11E52A1528AEC863870060D717B29AD6D36DE953A4753FAC58629429EF4DD8F98B5A4F5504C5B229C23C609905632CD8D839DC472693698D7A149E8F3F17462F86BA0A7A895D80583A46E9
+
+Group = brainpool512r1
+Hash = SHA-512
+X = 0x1433AE89858BE7DD9346AF015FEC69F0556982FFEB9CCEF7FB1CE71155F7620CED4A6ACD0F35461A17C8370C4E600BECBACC0F7C1D2D1A2C00203A0E6626C21C
+Msg = 43727970746F2B2B20352E362E312045434453412074657374206D7367
+Nonce = AA72BC70ABD9E078DDE47F5440E75A93F136F6EAA5267F591E0D3F562DE48BD8FED21B9E3F6F5560250566A00C7AAE7E57770BFC7D18A3E7750DC6C7083CC5B0
+Signature = A058CD406C7F2D87FBBDDDD1870C67D1ACBD222D45A929565101842EDFAEFB893CF07AD22CAC0F3350A7D1300741AB5ECE38498F196690CBCEDBF8C866995E5C17F48EA66EB70ADE68F6C16103BE54DD004230270E1F8CAC2D6BD47F717C0D1B1E335FA4AAA5212321EE93E55FED129D781912A0D87B78A5B569DA272B3C9469
+
+Group = brainpool512r1
+Hash = SHA-512
+X = 0x83DBEFECAF8CFF78C575BE9659C1A104767979497AD9B589B1B13705C71F1DEFAF5CA76C8700236CE2392268E0133CAADE358E3D4F2E64CB4AB8517079E3EFA0
+Msg = 43727970746F2B2B20352E362E312045434453412074657374206D7367
+Nonce = A110CC7BEF64F5C0349344025B97B151C735408BD2BC0D0CC4E54642EA0DF33E829E85916086B51624B830BB2CDF53DAD9003A6D194115051139DBC3E81DF197
+Signature = 3254388208915E0EEB99DA89AA198C6FDB1A31B21D3B69EF8EFE4848AE78C32A4C489347510A9DD04125BBE95F847E14A2DF3267A0A6D1B5EC442B130C9B5DD1924FCD9F365897570329BFEC41FBAF42961210F3FF850DE5736FFBAAB09C5C03E0058BD51C8A8EF0FF221F31CF93FE59572ADA3CFEC7016085258A45D1E8544C
diff --git a/src/tests/data/elgamal.vec b/src/tests/data/elgamal.vec
new file mode 100644
index 000000000..bd1324930
--- /dev/null
+++ b/src/tests/data/elgamal.vec
@@ -0,0 +1,70 @@
+
+P = 136550132129373534922507711226759804754619982886933552169144285816422961826670939809191792098144910680550713812844380006313555117122165428748783786608271022403942873493436560444821356125311154291882139133582532448340435515492341806441259053210325586938723802483143283639706381254257990493250497160336192135319
+G = 13
+X = 1510837665211600837455333225484573368412905214721958306259132011740929687444
+Msg = 02AD1D776D591520E4D8BEF8B21CC2F54FB4EB788E52ECEBE13564435DA66284D51A6A6696E615EF599786CE4CBEFAFF066E0A1CD8868454EB5CE0CA99241B29E1D1492CF2712C2C101B3F3779034683AD8271098C2E3FBAA83901A97D9645FA5815AF79F4F638ECBE09020003F434D708914899C668F34830E70F4CAF0803
+Nonce = 0A5842A8D0C1B07E5DE6FD3E0C6B1108523D4D35417F
+Ciphertext 5B99F58B48F3D473327075F2FF4EEA3C8C1FEB0B241F042864610D6FC512A81F431A965724195DB71C3B84B6B9F1DFAE0DAE60E7CDA957703D10FCCDA45CDD0EF8C8F76AA4F51F3EDAD8E5085B97D69523A3EAC89D67CDFDDCF0A30491A98BE2FD6C5E69C3A2C95300B9DB4EDF2111E7613EF7B2CA430D0CFFBDECF6A7BE592A853B404B6910C48A0204ED3430691E766FBAF21A428B9F833C5932C053C616EEB59850150A22331A8FB5AF2065B595E4F08881B1DB7CB85A28A33F4449890739679CCAA431A9205210995BEA68759B475BE4183A975C9D042FBBEDF589AB6AF017D7523B2CC90CD63526BC584F1E9EF42ABAAA9238987D7F73B94E323C6AADFD
+
+P = 1541287358797997024335652872773425159872421808416662301794871595911973385718041854467851087853175356350298847849929853669980047096240555092681165983790725605204837589691602540741068782404825906414885161661820441988899240406981724303
+G = 5
+X = 1344717445208905302019700797220481877896877304443340806021921711564
+Msg = 02C1ED6A171875F055809F12BC61829961CC740935C6DCC468FA663E8D1A7DE9E0555E3EA99476436743FC5C76D3E041055FAEB7641907F8E2F1F94061B22E72B7CD39EDD7A6367828CCDC000301CEA7D91CB1E8A3E20DC85FAA23EF6D08E6
+Nonce = F42F854C10C9DD14A6712594A31326A1FD2CF5
+Ciphertext 9E47FB001BDDB12F2D8E0FA5501A7EAC1B185FDFC7D2FF3E4461B0D75D626F5156DEDD4D25F13C6C1F5F9A1F916058045705F5E82F748E9B6F0DC95D572B8DC2770159092EECA13946F0522FE2A859705009B615818A1B4F98E8DD38CF00DE746ABD5F3852D93F8D9299DE18EB763F11E41A8B9660C5F056538EED431BB8E2199D9012F50C7FBEF5AAD35ECCD7F141CD9AC6553315A2699D6718F50EBDCEAE62A11ACC466E8533EDBAF13C15B5532B323EBF283B108F892DBFCEA21231DFD548
+
+P = 13232376895198612407547930718267435757728527029623408872245156039757713029036368719146452186041204237350521785240337048752071462798273003935646236777459223
+G = 11629401773565540073100961473632977008134185076958364415809981826641612629974728305105606061133984394938666464842000720534465163992699133277631369246002549
+X = 175607362627753240470186183617696577774
+Msg = 47E586A7E7D98C116A6F553F652E57BF
+Nonce = BEF5E7EFAA76C52A8ECEE604EDAFD31B
+Ciphertext CD70DE085B0C586B4E64097EA3AB4CE0B60A71B0F640FE4468F4F940412EDBDD9035EEC602530CFF81B2CDC35805264A866E4689DDBADC3438575B6337118BB23A5AB7710F85F2A4E1E0DBEC5652FEF73C868747ECB7043BA08241A0879A2DC588D3EC14ED552E62B1B111646FF4DFA9050754240A46A840EA5EB1D97712F2BB
+
+P = 13232376895198612407547930718267435757728527029623408872245156039757713029036368719146452186041204237350521785240337048752071462798273003935646236777459223
+G = 11629401773565540073100961473632977008134185076958364415809981826641612629974728305105606061133984394938666464842000720534465163992699133277631369246002549
+X = 226260657342880764984259695048075261500
+Msg = 74BC8D009250F4CD2E08BC556EE01449
+Nonce = A2951BE393736E39E9D209FE978C7546
+Ciphertext 6D6ED1C6E519C628CACC7981A5BBE487F6E013B26448D711911698CEEAA4F746182A716602183A746FC35B022BD7B27EF079F7164309653D148D0CE91907FF6C4A9001A0CCA2A0A163F3F93200C2E40A957919CB84AC35B928E026F1827E6D4A9B986B592BE39861538414D5EA6980248FD3C3C0CDEE372F392D5AC46DB8EEFB
+
+P = 13232376895198612407547930718267435757728527029623408872245156039757713029036368719146452186041204237350521785240337048752071462798273003935646236777459223
+G = 11629401773565540073100961473632977008134185076958364415809981826641612629974728305105606061133984394938666464842000720534465163992699133277631369246002549
+X = 190989497955271245954961490592364802400
+Msg = 01AFE1A93EDB9CD3E3715523C952478D
+Nonce = 9500DDCD404618F64A2063BC19941A6E
+Ciphertext 0636C3F1C63C54CAB4B48B6EF0ECBFF00BA6AB70DF4DB6266D0785351B37279D41D957D16CAB48C64035DCB2A1CD75BAC298C8ECAE8057D87071EADAA5DA6E2B69B5F353B5753F7E24DA81ABAD40059CD73CFA6E78CAB1C7DA418D55E5DBD42FA4F2B876A25B4AF63588C80E0DB11E8BAB1531960E951C08C1A68C8FAE0DA87C
+
+P = 1418488780399624169246918906980830188668962659968489177172519612007411971965075884911751185624649475197807409457369163882960326663412481439463507475025544888587052733646843233033458377686354235239579046252542291754237282749312023983
+G = 1351977104923085061876231022324913317418268765766371251774974499254352282996737121345129752664271877383194755574993089982460597274051441610498438524702048238124542105329402087161253933648442955133245175046317041420863434958965806440
+X = 5693645782587047029911723275175292231768316497
+Msg = 58E72BD0F04B11
+Nonce = EF07721FF6B28A8A3B4EBC95C16B13A83649B7
+Ciphertext C7B6ACADBBCFD3A34EDA31CE9CA7F7889FBB2DF5C6C25793EB974591BF0EDE93637B6A95E8075BDB2A987039D92487665465C98AAD0C123FA00BB9736170E78069AA32DFBEB07099A0B7D439AA807A2D3D6F9F913EBC673F9F8CD5D3C0E9DD0D988EAC4D8204928C2DA8ECD1FA3A598FCBFFEF5017DB8542D123CF69E8C92EB956F10DC995AE6B6564967D5C12A07BA35607C54CC3F10A36FF3603DD7CC1490664610002977CE8C4A4EFFBD1421C902D4D8DFF81D014E1AB55F239E0F2FD28AB
+
+P = 1418488780399624169246918906980830188668962659968489177172519612007411971965075884911751185624649475197807409457369163882960326663412481439463507475025544888587052733646843233033458377686354235239579046252542291754237282749312023983
+G = 1351977104923085061876231022324913317418268765766371251774974499254352282996737121345129752664271877383194755574993089982460597274051441610498438524702048238124542105329402087161253933648442955133245175046317041420863434958965806440
+X = 4008521039270359712424267366152273661245582878
+Msg = C37AA41207A357DBCCFBE93DC45C5BD91D29FD29CBA29B26AC437A9B560C3BEA
+Nonce = A36338E4D7815E6A4B178E951BEF073C6D5A7F
+Ciphertext D824C94623313298600CC20203F8A40006CAFCFC8F883C99AC09DBAE4B95E6DB9FB5737E24D9D7E39B603893076BC81A2BC0C0D608B32B353972B57066535DAAC49E3F7F2A0E243618EEE01C5AB3AFAE1D55E3A1DB33CF713E5187AD51D55144B1A108354ECA651E55F85F253FE73C1C15FA5EDDDA47467BD0425F09E3C4156548E71896659C618B84FD72BA176E2DEEECD8B15F2C05F870697EA464B88273742BD6ECBA5164424F34EBB9E13E31683A16712901818C7E5F502720FBCB075EA1
+
+P = 1418488780399624169246918906980830188668962659968489177172519612007411971965075884911751185624649475197807409457369163882960326663412481439463507475025544888587052733646843233033458377686354235239579046252542291754237282749312023983
+G = 1351977104923085061876231022324913317418268765766371251774974499254352282996737121345129752664271877383194755574993089982460597274051441610498438524702048238124542105329402087161253933648442955133245175046317041420863434958965806440
+X = 5316253934868425065538718034591876558413406625
+Msg = 36FDC0501B44AF
+Nonce = 832BC01DB63F958D47B6962AEAA74C0831A6AB
+Ciphertext 62E46CDF100BADF4419215256BEC8427DD0388D1B60B5A8675532C0934351BA0036AF58032AB6C4DB829F1A0C8217FBF2CB9C10A5C60FF285919BCAF238E89FBAA4771CAD13D4A69AB2C1FFF0A44D2F9287F1E70D58210AE859074B3969EE800A9D1507BA48582BD1E03CC234B0CB11408BE0932763EDC99CA4BEC6E496A452237F920972C629714EA2F1FF212460C23B66DB56BC73E94743D32D2CD3536A17A136F56D7F7C24E3B8F102F48BBB21633279D3E584E71DC37B436104CA69A6BB3
+
+P = 178011905478542266528237562450159990145232156369120674273274450314442865788737020770612695252123463079567156784778466449970650770920727857050009668388144034129745221171818506047231150039301079959358067395348717066319802262019714966524135060945913707594956514672855690606794135837542707371727429551343320695239
+G = 49567166504681114998529684425585849617514862026978329597099192087961538717407709177883083441369264146939535263894140299406849834767828526204179623557679393249247253593623658376992386256295047165071989556654741504656225128772294708626157371448610928885819291350567633953878147205134001752476855481804967677085
+X = 3756315909532643155590215634844150624450334340186095
+Msg = DF72B687F62AFEA3A51195EE876E4C87708F7ABB8D2D5DD72B68256DAC6D
+Nonce = 0B333C9C486C5F3A96F37D00133ADD18113376C9BE76
+Ciphertext 4156CF437A39C415B212AAA34C9AACAFA3F3113F53BB75E0BD3D759089E21754EF89B4BA1A8B37E5EDA13F8A2F87D16F03F3B6FE19A5CF799B17D83F7B5E9A225F324AAD7D46E80A1DAFCA337A3F500930A7831D1F3785763EB9A6994063CED033177E1CA2770B751B3053C1445ADFEAED790E49E4685A05B9563D1EF32BD321971D541B525D648EA7C8741D8FA7E46293D46A0F4345BE73EA4FAF1E4C16BCBE11C53BA0FCBA2975BD37F11FE5ADA8731CAED3C403EA6E43AE47ADAA7E28433404AD3ADE6AA8E12BFC374BADAAFB167F3AAF91DC6F8398003E5F8528E8D4773F800D48C8EDDAEDD72A3870E97679F946CE27FB692BC11677757A28F3899A3DA8
+
+P = 178011905478542266528237562450159990145232156369120674273274450314442865788737020770612695252123463079567156784778466449970650770920727857050009668388144034129745221171818506047231150039301079959358067395348717066319802262019714966524135060945913707594956514672855690606794135837542707371727429551343320695239
+G = 49567166504681114998529684425585849617514862026978329597099192087961538717407709177883083441369264146939535263894140299406849834767828526204179623557679393249247253593623658376992386256295047165071989556654741504656225128772294708626157371448610928885819291350567633953878147205134001752476855481804967677085
+X = 4304232149632055597449717737864742436448127103739097
+Msg = F73BB7E5C8A5619380
+Nonce = 0AD9527B09EAD1E59B4A1CAF58C861B69A856AB8AA80
+Ciphertext C9881464A37749949D66D75CD9B7A8ACAD33DD1FAC7561F684E9CB5343D2ED15969D7EDB4135518B50F0FEC9A9559C1D5E44DAB42C14BBDE2D2711EA4D02D7F27D1A9BCFEC9E8B73FA64BA3C54707FDDE7D5BE695E17FB9D259FB576FD4E57D66C8F727DC236E2A6E9FD01709D34B8D09F7DD3890F003EBE616042B4E0A8A00F6C3F34DE7E002FE72A84AF8D014D64E8CD08B9B56CC3A6BBE6F966B92105A92C5ABF4F2BF735670622F6213FE9739FAD65692E1C0EBF708A47E18600A22972A5A3DA0F22D11C581D46F734151A083FF757E961351EB183B467A859FBB9ED1DAC396FA405701FD6E3A62EB126E93648C3C6DFA9C4DBF3C005880F4799F66B310E
diff --git a/src/tests/data/gost.vec b/src/tests/data/gost.vec
new file mode 100644
index 000000000..5348467a6
--- /dev/null
+++ b/src/tests/data/gost.vec
@@ -0,0 +1,18 @@
+
+Group = gost_256A
+Pubkey = 0400B6F1D75EF48902B0C2302F52CCC71233EC55B903061673AAA586A2B5864048EA2675E8FD8DB1FEDFC7DD40E3CF3A319EE3130E0BE9FDF994B625BC1885F271
+Hash = GOST-34.11
+Msg =
+Signature = FE406F383A54127453AED406FA9A3B610B28F89FC918C07A5A75289E97B3A991AA3CB0563295A3E281BA368DF8471DE0A4150B3CFCEA575D8A9CC9779035EC36
+
+Group = gost_256A
+Pubkey = 04BFE0BA366BE575E45C5BBA339C51ACD75D517008A9D3169E3CCEA6EF08046DA74312382D835BEEA1C561A75AFCAFDA0F75A4E5D9787F9DB2870A032AC1D90465
+Hash = GOST-34.11
+Msg =
+Signature = F3AFCBE1398DDC01F0A9E4B45397F3ACD8F343399BD2805FB6293E9CB871123AB7AB61F33E0B70166C355963BB80B8F6DF54F7F6A43872295CD42B6ACF7DF678
+
+Group = gost_256A
+Pubkey = 03773DC3F032886D56439A9F17490B680570043F757252C1F60819D6C30DBF1469
+Hash = GOST-34.11
+Msg = 00010C0300000E1070DBD880386D4380E954076578616D706C65036E65740003777777076578616D706C65036E6574000001000100000E100004C0000201
+Signature = 66ED09C0A6C97E22CB4E66BCA61D2082FDF6924F3A717C43B531B2D43FEE76DBB0F490A7901B009CCDF87252EBE1790A9AB1A6A444DBACA3E264AF21D18B5E83
diff --git a/src/test-data/hash.vec b/src/tests/data/hash.vec
index 9125b55e8..9125b55e8 100644
--- a/src/test-data/hash.vec
+++ b/src/tests/data/hash.vec
diff --git a/src/test-data/hkdf.vec b/src/tests/data/hkdf.vec
index 7d309aea7..7d309aea7 100644
--- a/src/test-data/hkdf.vec
+++ b/src/tests/data/hkdf.vec
diff --git a/src/test-data/kdf.vec b/src/tests/data/kdf.vec
index 0f5bb3383..0f5bb3383 100644
--- a/src/test-data/kdf.vec
+++ b/src/tests/data/kdf.vec
diff --git a/src/test-data/mac.vec b/src/tests/data/mac.vec
index 8007a0721..8007a0721 100644
--- a/src/test-data/mac.vec
+++ b/src/tests/data/mac.vec
diff --git a/src/test-data/modes.vec b/src/tests/data/modes.vec
index 5d771c7fc..5d771c7fc 100644
--- a/src/test-data/modes.vec
+++ b/src/tests/data/modes.vec
diff --git a/src/test-data/mp_valid.dat b/src/tests/data/mp_valid.dat
index 1b45bf9bb..1b45bf9bb 100644
--- a/src/test-data/mp_valid.dat
+++ b/src/tests/data/mp_valid.dat
diff --git a/src/test-data/nist_x509/test01/end.crt b/src/tests/data/nist_x509/test01/end.crt
index d7e64d6de..d7e64d6de 100644
--- a/src/test-data/nist_x509/test01/end.crt
+++ b/src/tests/data/nist_x509/test01/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test01/root.crl b/src/tests/data/nist_x509/test01/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test01/root.crl
+++ b/src/tests/data/nist_x509/test01/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test01/root.crt b/src/tests/data/nist_x509/test01/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test01/root.crt
+++ b/src/tests/data/nist_x509/test01/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test02/end.crt b/src/tests/data/nist_x509/test02/end.crt
index f97da0509..f97da0509 100644
--- a/src/test-data/nist_x509/test02/end.crt
+++ b/src/tests/data/nist_x509/test02/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test02/int.crl b/src/tests/data/nist_x509/test02/int.crl
index e7dfa96ee..e7dfa96ee 100644
--- a/src/test-data/nist_x509/test02/int.crl
+++ b/src/tests/data/nist_x509/test02/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test02/int.crt b/src/tests/data/nist_x509/test02/int.crt
index 0aba75048..0aba75048 100644
--- a/src/test-data/nist_x509/test02/int.crt
+++ b/src/tests/data/nist_x509/test02/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test02/root.crl b/src/tests/data/nist_x509/test02/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test02/root.crl
+++ b/src/tests/data/nist_x509/test02/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test02/root.crt b/src/tests/data/nist_x509/test02/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test02/root.crt
+++ b/src/tests/data/nist_x509/test02/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test03/end.crt b/src/tests/data/nist_x509/test03/end.crt
index 9b0463a67..9b0463a67 100644
--- a/src/test-data/nist_x509/test03/end.crt
+++ b/src/tests/data/nist_x509/test03/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test03/int.crl b/src/tests/data/nist_x509/test03/int.crl
index 528f3237c..528f3237c 100644
--- a/src/test-data/nist_x509/test03/int.crl
+++ b/src/tests/data/nist_x509/test03/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test03/int.crt b/src/tests/data/nist_x509/test03/int.crt
index c8cfc0550..c8cfc0550 100644
--- a/src/test-data/nist_x509/test03/int.crt
+++ b/src/tests/data/nist_x509/test03/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test03/root.crl b/src/tests/data/nist_x509/test03/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test03/root.crl
+++ b/src/tests/data/nist_x509/test03/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test03/root.crt b/src/tests/data/nist_x509/test03/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test03/root.crt
+++ b/src/tests/data/nist_x509/test03/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test04/end.crt b/src/tests/data/nist_x509/test04/end.crt
index 75d2fd50e..75d2fd50e 100644
--- a/src/test-data/nist_x509/test04/end.crt
+++ b/src/tests/data/nist_x509/test04/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test04/int1.crl b/src/tests/data/nist_x509/test04/int1.crl
index 2f30c77b5..2f30c77b5 100644
--- a/src/test-data/nist_x509/test04/int1.crl
+++ b/src/tests/data/nist_x509/test04/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test04/int1.crt b/src/tests/data/nist_x509/test04/int1.crt
index f4e88d58c..f4e88d58c 100644
--- a/src/test-data/nist_x509/test04/int1.crt
+++ b/src/tests/data/nist_x509/test04/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test04/int2.crl b/src/tests/data/nist_x509/test04/int2.crl
index e8596c314..e8596c314 100644
--- a/src/test-data/nist_x509/test04/int2.crl
+++ b/src/tests/data/nist_x509/test04/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test04/int2.crt b/src/tests/data/nist_x509/test04/int2.crt
index 727035b6c..727035b6c 100644
--- a/src/test-data/nist_x509/test04/int2.crt
+++ b/src/tests/data/nist_x509/test04/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test04/root.crl b/src/tests/data/nist_x509/test04/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test04/root.crl
+++ b/src/tests/data/nist_x509/test04/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test04/root.crt b/src/tests/data/nist_x509/test04/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test04/root.crt
+++ b/src/tests/data/nist_x509/test04/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test05/end.crt b/src/tests/data/nist_x509/test05/end.crt
index a3a658923..a3a658923 100644
--- a/src/test-data/nist_x509/test05/end.crt
+++ b/src/tests/data/nist_x509/test05/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test05/int.crl b/src/tests/data/nist_x509/test05/int.crl
index a34ef279b..a34ef279b 100644
--- a/src/test-data/nist_x509/test05/int.crl
+++ b/src/tests/data/nist_x509/test05/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test05/int.crt b/src/tests/data/nist_x509/test05/int.crt
index 610df750e..610df750e 100644
--- a/src/test-data/nist_x509/test05/int.crt
+++ b/src/tests/data/nist_x509/test05/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test05/root.crl b/src/tests/data/nist_x509/test05/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test05/root.crl
+++ b/src/tests/data/nist_x509/test05/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test05/root.crt b/src/tests/data/nist_x509/test05/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test05/root.crt
+++ b/src/tests/data/nist_x509/test05/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test06/end.crt b/src/tests/data/nist_x509/test06/end.crt
index 1e68f0de1..1e68f0de1 100644
--- a/src/test-data/nist_x509/test06/end.crt
+++ b/src/tests/data/nist_x509/test06/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test06/int.crl b/src/tests/data/nist_x509/test06/int.crl
index d87cd7e26..d87cd7e26 100644
--- a/src/test-data/nist_x509/test06/int.crl
+++ b/src/tests/data/nist_x509/test06/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test06/int.crt b/src/tests/data/nist_x509/test06/int.crt
index 5bb74d259..5bb74d259 100644
--- a/src/test-data/nist_x509/test06/int.crt
+++ b/src/tests/data/nist_x509/test06/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test06/root.crl b/src/tests/data/nist_x509/test06/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test06/root.crl
+++ b/src/tests/data/nist_x509/test06/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test06/root.crt b/src/tests/data/nist_x509/test06/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test06/root.crt
+++ b/src/tests/data/nist_x509/test06/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test07/end.crt b/src/tests/data/nist_x509/test07/end.crt
index 0f97e6f5a..0f97e6f5a 100644
--- a/src/test-data/nist_x509/test07/end.crt
+++ b/src/tests/data/nist_x509/test07/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test07/int.crl b/src/tests/data/nist_x509/test07/int.crl
index 8064e91bc..8064e91bc 100644
--- a/src/test-data/nist_x509/test07/int.crl
+++ b/src/tests/data/nist_x509/test07/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test07/int.crt b/src/tests/data/nist_x509/test07/int.crt
index 5c1ddd3e3..5c1ddd3e3 100644
--- a/src/test-data/nist_x509/test07/int.crt
+++ b/src/tests/data/nist_x509/test07/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test07/root.crl b/src/tests/data/nist_x509/test07/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test07/root.crl
+++ b/src/tests/data/nist_x509/test07/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test07/root.crt b/src/tests/data/nist_x509/test07/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test07/root.crt
+++ b/src/tests/data/nist_x509/test07/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test08/end.crt b/src/tests/data/nist_x509/test08/end.crt
index cb99c2ac5..cb99c2ac5 100644
--- a/src/test-data/nist_x509/test08/end.crt
+++ b/src/tests/data/nist_x509/test08/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test08/int.crl b/src/tests/data/nist_x509/test08/int.crl
index d5ee3c3ce..d5ee3c3ce 100644
--- a/src/test-data/nist_x509/test08/int.crl
+++ b/src/tests/data/nist_x509/test08/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test08/int.crt b/src/tests/data/nist_x509/test08/int.crt
index d26979cdd..d26979cdd 100644
--- a/src/test-data/nist_x509/test08/int.crt
+++ b/src/tests/data/nist_x509/test08/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test08/root.crl b/src/tests/data/nist_x509/test08/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test08/root.crl
+++ b/src/tests/data/nist_x509/test08/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test08/root.crt b/src/tests/data/nist_x509/test08/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test08/root.crt
+++ b/src/tests/data/nist_x509/test08/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test09/end.crt b/src/tests/data/nist_x509/test09/end.crt
index 4dd2352b4..4dd2352b4 100644
--- a/src/test-data/nist_x509/test09/end.crt
+++ b/src/tests/data/nist_x509/test09/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test09/int.crl b/src/tests/data/nist_x509/test09/int.crl
index fbd85145c..fbd85145c 100644
--- a/src/test-data/nist_x509/test09/int.crl
+++ b/src/tests/data/nist_x509/test09/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test09/int.crt b/src/tests/data/nist_x509/test09/int.crt
index c107dd756..c107dd756 100644
--- a/src/test-data/nist_x509/test09/int.crt
+++ b/src/tests/data/nist_x509/test09/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test09/root.crl b/src/tests/data/nist_x509/test09/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test09/root.crl
+++ b/src/tests/data/nist_x509/test09/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test09/root.crt b/src/tests/data/nist_x509/test09/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test09/root.crt
+++ b/src/tests/data/nist_x509/test09/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test10/end.crt b/src/tests/data/nist_x509/test10/end.crt
index de3924003..de3924003 100644
--- a/src/test-data/nist_x509/test10/end.crt
+++ b/src/tests/data/nist_x509/test10/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test10/int.crl b/src/tests/data/nist_x509/test10/int.crl
index daefd50c8..daefd50c8 100644
--- a/src/test-data/nist_x509/test10/int.crl
+++ b/src/tests/data/nist_x509/test10/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test10/int.crt b/src/tests/data/nist_x509/test10/int.crt
index 2d691abce..2d691abce 100644
--- a/src/test-data/nist_x509/test10/int.crt
+++ b/src/tests/data/nist_x509/test10/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test10/root.crl b/src/tests/data/nist_x509/test10/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test10/root.crl
+++ b/src/tests/data/nist_x509/test10/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test10/root.crt b/src/tests/data/nist_x509/test10/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test10/root.crt
+++ b/src/tests/data/nist_x509/test10/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test11/end.crt b/src/tests/data/nist_x509/test11/end.crt
index 6e14527d2..6e14527d2 100644
--- a/src/test-data/nist_x509/test11/end.crt
+++ b/src/tests/data/nist_x509/test11/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test11/int.crl b/src/tests/data/nist_x509/test11/int.crl
index cc91ad51d..cc91ad51d 100644
--- a/src/test-data/nist_x509/test11/int.crl
+++ b/src/tests/data/nist_x509/test11/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test11/int.crt b/src/tests/data/nist_x509/test11/int.crt
index 87fa07962..87fa07962 100644
--- a/src/test-data/nist_x509/test11/int.crt
+++ b/src/tests/data/nist_x509/test11/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test11/root.crl b/src/tests/data/nist_x509/test11/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test11/root.crl
+++ b/src/tests/data/nist_x509/test11/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test11/root.crt b/src/tests/data/nist_x509/test11/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test11/root.crt
+++ b/src/tests/data/nist_x509/test11/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test12/end.crt b/src/tests/data/nist_x509/test12/end.crt
index 158c6ae01..158c6ae01 100644
--- a/src/test-data/nist_x509/test12/end.crt
+++ b/src/tests/data/nist_x509/test12/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test12/int.crl b/src/tests/data/nist_x509/test12/int.crl
index 7ce6928bb..7ce6928bb 100644
--- a/src/test-data/nist_x509/test12/int.crl
+++ b/src/tests/data/nist_x509/test12/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test12/int.crt b/src/tests/data/nist_x509/test12/int.crt
index a55333b63..a55333b63 100644
--- a/src/test-data/nist_x509/test12/int.crt
+++ b/src/tests/data/nist_x509/test12/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test12/root.crl b/src/tests/data/nist_x509/test12/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test12/root.crl
+++ b/src/tests/data/nist_x509/test12/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test12/root.crt b/src/tests/data/nist_x509/test12/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test12/root.crt
+++ b/src/tests/data/nist_x509/test12/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test13/end.crt b/src/tests/data/nist_x509/test13/end.crt
index d1ddf4b44..d1ddf4b44 100644
--- a/src/test-data/nist_x509/test13/end.crt
+++ b/src/tests/data/nist_x509/test13/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test13/int.crl b/src/tests/data/nist_x509/test13/int.crl
index df86506d8..df86506d8 100644
--- a/src/test-data/nist_x509/test13/int.crl
+++ b/src/tests/data/nist_x509/test13/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test13/int.crt b/src/tests/data/nist_x509/test13/int.crt
index abc6fe537..abc6fe537 100644
--- a/src/test-data/nist_x509/test13/int.crt
+++ b/src/tests/data/nist_x509/test13/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test13/root.crl b/src/tests/data/nist_x509/test13/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test13/root.crl
+++ b/src/tests/data/nist_x509/test13/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test13/root.crt b/src/tests/data/nist_x509/test13/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test13/root.crt
+++ b/src/tests/data/nist_x509/test13/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test14/end.crt b/src/tests/data/nist_x509/test14/end.crt
index f43e03826..f43e03826 100644
--- a/src/test-data/nist_x509/test14/end.crt
+++ b/src/tests/data/nist_x509/test14/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test14/int.crl b/src/tests/data/nist_x509/test14/int.crl
index ae372f38b..ae372f38b 100644
--- a/src/test-data/nist_x509/test14/int.crl
+++ b/src/tests/data/nist_x509/test14/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test14/int.crt b/src/tests/data/nist_x509/test14/int.crt
index 6e97ee2b8..6e97ee2b8 100644
--- a/src/test-data/nist_x509/test14/int.crt
+++ b/src/tests/data/nist_x509/test14/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test14/root.crl b/src/tests/data/nist_x509/test14/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test14/root.crl
+++ b/src/tests/data/nist_x509/test14/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test14/root.crt b/src/tests/data/nist_x509/test14/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test14/root.crt
+++ b/src/tests/data/nist_x509/test14/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test15/end.crt b/src/tests/data/nist_x509/test15/end.crt
index a2408315c..a2408315c 100644
--- a/src/test-data/nist_x509/test15/end.crt
+++ b/src/tests/data/nist_x509/test15/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test15/int.crl b/src/tests/data/nist_x509/test15/int.crl
index 626049aaf..626049aaf 100644
--- a/src/test-data/nist_x509/test15/int.crl
+++ b/src/tests/data/nist_x509/test15/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test15/int.crt b/src/tests/data/nist_x509/test15/int.crt
index 23fb78c0f..23fb78c0f 100644
--- a/src/test-data/nist_x509/test15/int.crt
+++ b/src/tests/data/nist_x509/test15/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test15/root.crl b/src/tests/data/nist_x509/test15/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test15/root.crl
+++ b/src/tests/data/nist_x509/test15/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test15/root.crt b/src/tests/data/nist_x509/test15/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test15/root.crt
+++ b/src/tests/data/nist_x509/test15/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test16/end.crt b/src/tests/data/nist_x509/test16/end.crt
index 108a75d73..108a75d73 100644
--- a/src/test-data/nist_x509/test16/end.crt
+++ b/src/tests/data/nist_x509/test16/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test16/int.crl b/src/tests/data/nist_x509/test16/int.crl
index d345a338e..d345a338e 100644
--- a/src/test-data/nist_x509/test16/int.crl
+++ b/src/tests/data/nist_x509/test16/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test16/int.crt b/src/tests/data/nist_x509/test16/int.crt
index 6f2a332ad..6f2a332ad 100644
--- a/src/test-data/nist_x509/test16/int.crt
+++ b/src/tests/data/nist_x509/test16/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test16/root.crl b/src/tests/data/nist_x509/test16/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test16/root.crl
+++ b/src/tests/data/nist_x509/test16/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test16/root.crt b/src/tests/data/nist_x509/test16/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test16/root.crt
+++ b/src/tests/data/nist_x509/test16/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test17/end.crt b/src/tests/data/nist_x509/test17/end.crt
index b90340872..b90340872 100644
--- a/src/test-data/nist_x509/test17/end.crt
+++ b/src/tests/data/nist_x509/test17/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test17/int.crl b/src/tests/data/nist_x509/test17/int.crl
index 0b1ba6fda..0b1ba6fda 100644
--- a/src/test-data/nist_x509/test17/int.crl
+++ b/src/tests/data/nist_x509/test17/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test17/int.crt b/src/tests/data/nist_x509/test17/int.crt
index 25e7b48e5..25e7b48e5 100644
--- a/src/test-data/nist_x509/test17/int.crt
+++ b/src/tests/data/nist_x509/test17/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test17/root.crl b/src/tests/data/nist_x509/test17/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test17/root.crl
+++ b/src/tests/data/nist_x509/test17/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test17/root.crt b/src/tests/data/nist_x509/test17/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test17/root.crt
+++ b/src/tests/data/nist_x509/test17/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test18/end.crt b/src/tests/data/nist_x509/test18/end.crt
index 2edb51394..2edb51394 100644
--- a/src/test-data/nist_x509/test18/end.crt
+++ b/src/tests/data/nist_x509/test18/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test18/int.crl b/src/tests/data/nist_x509/test18/int.crl
index 2948246d7..2948246d7 100644
--- a/src/test-data/nist_x509/test18/int.crl
+++ b/src/tests/data/nist_x509/test18/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test18/int.crt b/src/tests/data/nist_x509/test18/int.crt
index eac3e8693..eac3e8693 100644
--- a/src/test-data/nist_x509/test18/int.crt
+++ b/src/tests/data/nist_x509/test18/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test18/root.crl b/src/tests/data/nist_x509/test18/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test18/root.crl
+++ b/src/tests/data/nist_x509/test18/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test18/root.crt b/src/tests/data/nist_x509/test18/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test18/root.crt
+++ b/src/tests/data/nist_x509/test18/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test19/end.crt b/src/tests/data/nist_x509/test19/end.crt
index a9c7a1fc6..a9c7a1fc6 100644
--- a/src/test-data/nist_x509/test19/end.crt
+++ b/src/tests/data/nist_x509/test19/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test19/int.crt b/src/tests/data/nist_x509/test19/int.crt
index eff60dd15..eff60dd15 100644
--- a/src/test-data/nist_x509/test19/int.crt
+++ b/src/tests/data/nist_x509/test19/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test19/root.crl b/src/tests/data/nist_x509/test19/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test19/root.crl
+++ b/src/tests/data/nist_x509/test19/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test19/root.crt b/src/tests/data/nist_x509/test19/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test19/root.crt
+++ b/src/tests/data/nist_x509/test19/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test20/end.crt b/src/tests/data/nist_x509/test20/end.crt
index b26e77c19..b26e77c19 100644
--- a/src/test-data/nist_x509/test20/end.crt
+++ b/src/tests/data/nist_x509/test20/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test20/int.crl b/src/tests/data/nist_x509/test20/int.crl
index 5755a2eae..5755a2eae 100644
--- a/src/test-data/nist_x509/test20/int.crl
+++ b/src/tests/data/nist_x509/test20/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test20/int.crt b/src/tests/data/nist_x509/test20/int.crt
index d7daa69ef..d7daa69ef 100644
--- a/src/test-data/nist_x509/test20/int.crt
+++ b/src/tests/data/nist_x509/test20/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test20/root.crl b/src/tests/data/nist_x509/test20/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test20/root.crl
+++ b/src/tests/data/nist_x509/test20/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test20/root.crt b/src/tests/data/nist_x509/test20/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test20/root.crt
+++ b/src/tests/data/nist_x509/test20/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test21/end.crt b/src/tests/data/nist_x509/test21/end.crt
index 798e5cf17..798e5cf17 100644
--- a/src/test-data/nist_x509/test21/end.crt
+++ b/src/tests/data/nist_x509/test21/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test21/int.crl b/src/tests/data/nist_x509/test21/int.crl
index ea3cbb9d8..ea3cbb9d8 100644
--- a/src/test-data/nist_x509/test21/int.crl
+++ b/src/tests/data/nist_x509/test21/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test21/int.crt b/src/tests/data/nist_x509/test21/int.crt
index 9082c4d77..9082c4d77 100644
--- a/src/test-data/nist_x509/test21/int.crt
+++ b/src/tests/data/nist_x509/test21/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test21/root.crl b/src/tests/data/nist_x509/test21/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test21/root.crl
+++ b/src/tests/data/nist_x509/test21/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test21/root.crt b/src/tests/data/nist_x509/test21/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test21/root.crt
+++ b/src/tests/data/nist_x509/test21/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test22/end.crt b/src/tests/data/nist_x509/test22/end.crt
index d130c7506..d130c7506 100644
--- a/src/test-data/nist_x509/test22/end.crt
+++ b/src/tests/data/nist_x509/test22/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test22/int.crl b/src/tests/data/nist_x509/test22/int.crl
index 07e18398d..07e18398d 100644
--- a/src/test-data/nist_x509/test22/int.crl
+++ b/src/tests/data/nist_x509/test22/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test22/int.crt b/src/tests/data/nist_x509/test22/int.crt
index d0f401bae..d0f401bae 100644
--- a/src/test-data/nist_x509/test22/int.crt
+++ b/src/tests/data/nist_x509/test22/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test22/root.crl b/src/tests/data/nist_x509/test22/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test22/root.crl
+++ b/src/tests/data/nist_x509/test22/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test22/root.crt b/src/tests/data/nist_x509/test22/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test22/root.crt
+++ b/src/tests/data/nist_x509/test22/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test23/end.crt b/src/tests/data/nist_x509/test23/end.crt
index 787941b16..787941b16 100644
--- a/src/test-data/nist_x509/test23/end.crt
+++ b/src/tests/data/nist_x509/test23/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test23/int.crl b/src/tests/data/nist_x509/test23/int.crl
index 2841be769..2841be769 100644
--- a/src/test-data/nist_x509/test23/int.crl
+++ b/src/tests/data/nist_x509/test23/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test23/int.crt b/src/tests/data/nist_x509/test23/int.crt
index 2890b3967..2890b3967 100644
--- a/src/test-data/nist_x509/test23/int.crt
+++ b/src/tests/data/nist_x509/test23/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test23/root.crl b/src/tests/data/nist_x509/test23/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test23/root.crl
+++ b/src/tests/data/nist_x509/test23/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test23/root.crt b/src/tests/data/nist_x509/test23/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test23/root.crt
+++ b/src/tests/data/nist_x509/test23/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test24/end.crt b/src/tests/data/nist_x509/test24/end.crt
index 0d145b2fa..0d145b2fa 100644
--- a/src/test-data/nist_x509/test24/end.crt
+++ b/src/tests/data/nist_x509/test24/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test24/int.crl b/src/tests/data/nist_x509/test24/int.crl
index f608de6bb..f608de6bb 100644
--- a/src/test-data/nist_x509/test24/int.crl
+++ b/src/tests/data/nist_x509/test24/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test24/int.crt b/src/tests/data/nist_x509/test24/int.crt
index a4633ee9a..a4633ee9a 100644
--- a/src/test-data/nist_x509/test24/int.crt
+++ b/src/tests/data/nist_x509/test24/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test24/root.crl b/src/tests/data/nist_x509/test24/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test24/root.crl
+++ b/src/tests/data/nist_x509/test24/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test24/root.crt b/src/tests/data/nist_x509/test24/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test24/root.crt
+++ b/src/tests/data/nist_x509/test24/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test25/end.crt b/src/tests/data/nist_x509/test25/end.crt
index d12670188..d12670188 100644
--- a/src/test-data/nist_x509/test25/end.crt
+++ b/src/tests/data/nist_x509/test25/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test25/int.crl b/src/tests/data/nist_x509/test25/int.crl
index 553e1bbd1..553e1bbd1 100644
--- a/src/test-data/nist_x509/test25/int.crl
+++ b/src/tests/data/nist_x509/test25/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test25/int.crt b/src/tests/data/nist_x509/test25/int.crt
index 5d06aac4a..5d06aac4a 100644
--- a/src/test-data/nist_x509/test25/int.crt
+++ b/src/tests/data/nist_x509/test25/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test25/root.crl b/src/tests/data/nist_x509/test25/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test25/root.crl
+++ b/src/tests/data/nist_x509/test25/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test25/root.crt b/src/tests/data/nist_x509/test25/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test25/root.crt
+++ b/src/tests/data/nist_x509/test25/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test26/end.crt b/src/tests/data/nist_x509/test26/end.crt
index 5abc96600..5abc96600 100644
--- a/src/test-data/nist_x509/test26/end.crt
+++ b/src/tests/data/nist_x509/test26/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test26/int.crl b/src/tests/data/nist_x509/test26/int.crl
index 9f2f1b0a8..9f2f1b0a8 100644
--- a/src/test-data/nist_x509/test26/int.crl
+++ b/src/tests/data/nist_x509/test26/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test26/int.crt b/src/tests/data/nist_x509/test26/int.crt
index e9c273a05..e9c273a05 100644
--- a/src/test-data/nist_x509/test26/int.crt
+++ b/src/tests/data/nist_x509/test26/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test26/root.crl b/src/tests/data/nist_x509/test26/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test26/root.crl
+++ b/src/tests/data/nist_x509/test26/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test26/root.crt b/src/tests/data/nist_x509/test26/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test26/root.crt
+++ b/src/tests/data/nist_x509/test26/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test27/end.crt b/src/tests/data/nist_x509/test27/end.crt
index 2147dbd3a..2147dbd3a 100644
--- a/src/test-data/nist_x509/test27/end.crt
+++ b/src/tests/data/nist_x509/test27/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test27/int.crl b/src/tests/data/nist_x509/test27/int.crl
index fd769e5f3..fd769e5f3 100644
--- a/src/test-data/nist_x509/test27/int.crl
+++ b/src/tests/data/nist_x509/test27/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test27/int.crt b/src/tests/data/nist_x509/test27/int.crt
index 4de4a9f51..4de4a9f51 100644
--- a/src/test-data/nist_x509/test27/int.crt
+++ b/src/tests/data/nist_x509/test27/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test27/root.crl b/src/tests/data/nist_x509/test27/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test27/root.crl
+++ b/src/tests/data/nist_x509/test27/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test27/root.crt b/src/tests/data/nist_x509/test27/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test27/root.crt
+++ b/src/tests/data/nist_x509/test27/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test28/end.crt b/src/tests/data/nist_x509/test28/end.crt
index c72c97b81..c72c97b81 100644
--- a/src/test-data/nist_x509/test28/end.crt
+++ b/src/tests/data/nist_x509/test28/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test28/int.crl b/src/tests/data/nist_x509/test28/int.crl
index 35e87eb0b..35e87eb0b 100644
--- a/src/test-data/nist_x509/test28/int.crl
+++ b/src/tests/data/nist_x509/test28/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test28/int.crt b/src/tests/data/nist_x509/test28/int.crt
index fee01f21e..fee01f21e 100644
--- a/src/test-data/nist_x509/test28/int.crt
+++ b/src/tests/data/nist_x509/test28/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test28/root.crl b/src/tests/data/nist_x509/test28/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test28/root.crl
+++ b/src/tests/data/nist_x509/test28/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test28/root.crt b/src/tests/data/nist_x509/test28/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test28/root.crt
+++ b/src/tests/data/nist_x509/test28/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test29/end.crt b/src/tests/data/nist_x509/test29/end.crt
index e4e2dd072..e4e2dd072 100644
--- a/src/test-data/nist_x509/test29/end.crt
+++ b/src/tests/data/nist_x509/test29/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test29/int.crl b/src/tests/data/nist_x509/test29/int.crl
index 2739bd933..2739bd933 100644
--- a/src/test-data/nist_x509/test29/int.crl
+++ b/src/tests/data/nist_x509/test29/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test29/int.crt b/src/tests/data/nist_x509/test29/int.crt
index e830043fd..e830043fd 100644
--- a/src/test-data/nist_x509/test29/int.crt
+++ b/src/tests/data/nist_x509/test29/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test29/root.crl b/src/tests/data/nist_x509/test29/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test29/root.crl
+++ b/src/tests/data/nist_x509/test29/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test29/root.crt b/src/tests/data/nist_x509/test29/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test29/root.crt
+++ b/src/tests/data/nist_x509/test29/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test30/end.crt b/src/tests/data/nist_x509/test30/end.crt
index abdc0381f..abdc0381f 100644
--- a/src/test-data/nist_x509/test30/end.crt
+++ b/src/tests/data/nist_x509/test30/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test30/int.crl b/src/tests/data/nist_x509/test30/int.crl
index fed695a3b..fed695a3b 100644
--- a/src/test-data/nist_x509/test30/int.crl
+++ b/src/tests/data/nist_x509/test30/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test30/int.crt b/src/tests/data/nist_x509/test30/int.crt
index 26fd2cb6a..26fd2cb6a 100644
--- a/src/test-data/nist_x509/test30/int.crt
+++ b/src/tests/data/nist_x509/test30/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test30/root.crl b/src/tests/data/nist_x509/test30/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test30/root.crl
+++ b/src/tests/data/nist_x509/test30/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test30/root.crt b/src/tests/data/nist_x509/test30/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test30/root.crt
+++ b/src/tests/data/nist_x509/test30/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test31/end.crt b/src/tests/data/nist_x509/test31/end.crt
index cd766ef7f..cd766ef7f 100644
--- a/src/test-data/nist_x509/test31/end.crt
+++ b/src/tests/data/nist_x509/test31/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test31/int.crl b/src/tests/data/nist_x509/test31/int.crl
index 9014141f9..9014141f9 100644
--- a/src/test-data/nist_x509/test31/int.crl
+++ b/src/tests/data/nist_x509/test31/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test31/int.crt b/src/tests/data/nist_x509/test31/int.crt
index 396947b15..396947b15 100644
--- a/src/test-data/nist_x509/test31/int.crt
+++ b/src/tests/data/nist_x509/test31/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test31/root.crl b/src/tests/data/nist_x509/test31/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test31/root.crl
+++ b/src/tests/data/nist_x509/test31/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test31/root.crt b/src/tests/data/nist_x509/test31/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test31/root.crt
+++ b/src/tests/data/nist_x509/test31/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test32/end.crt b/src/tests/data/nist_x509/test32/end.crt
index 3804a27b4..3804a27b4 100644
--- a/src/test-data/nist_x509/test32/end.crt
+++ b/src/tests/data/nist_x509/test32/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test32/int.crl b/src/tests/data/nist_x509/test32/int.crl
index 2e2e505a0..2e2e505a0 100644
--- a/src/test-data/nist_x509/test32/int.crl
+++ b/src/tests/data/nist_x509/test32/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test32/int.crt b/src/tests/data/nist_x509/test32/int.crt
index 6df3396b7..6df3396b7 100644
--- a/src/test-data/nist_x509/test32/int.crt
+++ b/src/tests/data/nist_x509/test32/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test32/root.crl b/src/tests/data/nist_x509/test32/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test32/root.crl
+++ b/src/tests/data/nist_x509/test32/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test32/root.crt b/src/tests/data/nist_x509/test32/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test32/root.crt
+++ b/src/tests/data/nist_x509/test32/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test33/end.crt b/src/tests/data/nist_x509/test33/end.crt
index 6ef1d03a8..6ef1d03a8 100644
--- a/src/test-data/nist_x509/test33/end.crt
+++ b/src/tests/data/nist_x509/test33/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test33/int.crl b/src/tests/data/nist_x509/test33/int.crl
index 4008e3d46..4008e3d46 100644
--- a/src/test-data/nist_x509/test33/int.crl
+++ b/src/tests/data/nist_x509/test33/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test33/int.crt b/src/tests/data/nist_x509/test33/int.crt
index ba183696e..ba183696e 100644
--- a/src/test-data/nist_x509/test33/int.crt
+++ b/src/tests/data/nist_x509/test33/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test33/root.crl b/src/tests/data/nist_x509/test33/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test33/root.crl
+++ b/src/tests/data/nist_x509/test33/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test33/root.crt b/src/tests/data/nist_x509/test33/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test33/root.crt
+++ b/src/tests/data/nist_x509/test33/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test34/end.crt b/src/tests/data/nist_x509/test34/end.crt
index 695de1cb4..695de1cb4 100644
--- a/src/test-data/nist_x509/test34/end.crt
+++ b/src/tests/data/nist_x509/test34/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test34/int.crl b/src/tests/data/nist_x509/test34/int.crl
index a8d11e788..a8d11e788 100644
--- a/src/test-data/nist_x509/test34/int.crl
+++ b/src/tests/data/nist_x509/test34/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test34/int.crt b/src/tests/data/nist_x509/test34/int.crt
index 5657ddaf6..5657ddaf6 100644
--- a/src/test-data/nist_x509/test34/int.crt
+++ b/src/tests/data/nist_x509/test34/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test34/root.crl b/src/tests/data/nist_x509/test34/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test34/root.crl
+++ b/src/tests/data/nist_x509/test34/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test34/root.crt b/src/tests/data/nist_x509/test34/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test34/root.crt
+++ b/src/tests/data/nist_x509/test34/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test35/end.crt b/src/tests/data/nist_x509/test35/end.crt
index 26846be18..26846be18 100644
--- a/src/test-data/nist_x509/test35/end.crt
+++ b/src/tests/data/nist_x509/test35/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test35/int.crl b/src/tests/data/nist_x509/test35/int.crl
index f7021d32c..f7021d32c 100644
--- a/src/test-data/nist_x509/test35/int.crl
+++ b/src/tests/data/nist_x509/test35/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test35/int.crt b/src/tests/data/nist_x509/test35/int.crt
index 6a6641823..6a6641823 100644
--- a/src/test-data/nist_x509/test35/int.crt
+++ b/src/tests/data/nist_x509/test35/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test35/root.crl b/src/tests/data/nist_x509/test35/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test35/root.crl
+++ b/src/tests/data/nist_x509/test35/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test35/root.crt b/src/tests/data/nist_x509/test35/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test35/root.crt
+++ b/src/tests/data/nist_x509/test35/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test36/end.crt b/src/tests/data/nist_x509/test36/end.crt
index ee6ec5f4b..ee6ec5f4b 100644
--- a/src/test-data/nist_x509/test36/end.crt
+++ b/src/tests/data/nist_x509/test36/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test36/int1.crl b/src/tests/data/nist_x509/test36/int1.crl
index d4ad1013d..d4ad1013d 100644
--- a/src/test-data/nist_x509/test36/int1.crl
+++ b/src/tests/data/nist_x509/test36/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test36/int1.crt b/src/tests/data/nist_x509/test36/int1.crt
index a300e8d67..a300e8d67 100644
--- a/src/test-data/nist_x509/test36/int1.crt
+++ b/src/tests/data/nist_x509/test36/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test36/int2.crl b/src/tests/data/nist_x509/test36/int2.crl
index d45cedcee..d45cedcee 100644
--- a/src/test-data/nist_x509/test36/int2.crl
+++ b/src/tests/data/nist_x509/test36/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test36/int2.crt b/src/tests/data/nist_x509/test36/int2.crt
index 87c8253c3..87c8253c3 100644
--- a/src/test-data/nist_x509/test36/int2.crt
+++ b/src/tests/data/nist_x509/test36/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test36/root.crl b/src/tests/data/nist_x509/test36/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test36/root.crl
+++ b/src/tests/data/nist_x509/test36/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test36/root.crt b/src/tests/data/nist_x509/test36/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test36/root.crt
+++ b/src/tests/data/nist_x509/test36/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test37/end.crt b/src/tests/data/nist_x509/test37/end.crt
index e5c5ae8c7..e5c5ae8c7 100644
--- a/src/test-data/nist_x509/test37/end.crt
+++ b/src/tests/data/nist_x509/test37/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test37/int1.crl b/src/tests/data/nist_x509/test37/int1.crl
index 6b488fdb8..6b488fdb8 100644
--- a/src/test-data/nist_x509/test37/int1.crl
+++ b/src/tests/data/nist_x509/test37/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test37/int1.crt b/src/tests/data/nist_x509/test37/int1.crt
index 26b6b9605..26b6b9605 100644
--- a/src/test-data/nist_x509/test37/int1.crt
+++ b/src/tests/data/nist_x509/test37/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test37/int2.crl b/src/tests/data/nist_x509/test37/int2.crl
index 724051124..724051124 100644
--- a/src/test-data/nist_x509/test37/int2.crl
+++ b/src/tests/data/nist_x509/test37/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test37/int2.crt b/src/tests/data/nist_x509/test37/int2.crt
index c0e986a08..c0e986a08 100644
--- a/src/test-data/nist_x509/test37/int2.crt
+++ b/src/tests/data/nist_x509/test37/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test37/root.crl b/src/tests/data/nist_x509/test37/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test37/root.crl
+++ b/src/tests/data/nist_x509/test37/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test37/root.crt b/src/tests/data/nist_x509/test37/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test37/root.crt
+++ b/src/tests/data/nist_x509/test37/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test38/end.crt b/src/tests/data/nist_x509/test38/end.crt
index 9331b90a2..9331b90a2 100644
--- a/src/test-data/nist_x509/test38/end.crt
+++ b/src/tests/data/nist_x509/test38/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test38/int1.crl b/src/tests/data/nist_x509/test38/int1.crl
index 81f75d4e5..81f75d4e5 100644
--- a/src/test-data/nist_x509/test38/int1.crl
+++ b/src/tests/data/nist_x509/test38/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test38/int1.crt b/src/tests/data/nist_x509/test38/int1.crt
index c8ee614f4..c8ee614f4 100644
--- a/src/test-data/nist_x509/test38/int1.crt
+++ b/src/tests/data/nist_x509/test38/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test38/int2.crl b/src/tests/data/nist_x509/test38/int2.crl
index ae1d7d5e8..ae1d7d5e8 100644
--- a/src/test-data/nist_x509/test38/int2.crl
+++ b/src/tests/data/nist_x509/test38/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test38/int2.crt b/src/tests/data/nist_x509/test38/int2.crt
index 8d2834294..8d2834294 100644
--- a/src/test-data/nist_x509/test38/int2.crt
+++ b/src/tests/data/nist_x509/test38/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test38/root.crl b/src/tests/data/nist_x509/test38/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test38/root.crl
+++ b/src/tests/data/nist_x509/test38/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test38/root.crt b/src/tests/data/nist_x509/test38/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test38/root.crt
+++ b/src/tests/data/nist_x509/test38/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test39/end.crt b/src/tests/data/nist_x509/test39/end.crt
index 57263d4cb..57263d4cb 100644
--- a/src/test-data/nist_x509/test39/end.crt
+++ b/src/tests/data/nist_x509/test39/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test39/int1.crl b/src/tests/data/nist_x509/test39/int1.crl
index f2a01385e..f2a01385e 100644
--- a/src/test-data/nist_x509/test39/int1.crl
+++ b/src/tests/data/nist_x509/test39/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test39/int1.crt b/src/tests/data/nist_x509/test39/int1.crt
index b7003f7eb..b7003f7eb 100644
--- a/src/test-data/nist_x509/test39/int1.crt
+++ b/src/tests/data/nist_x509/test39/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test39/int2.crl b/src/tests/data/nist_x509/test39/int2.crl
index b6672d85a..b6672d85a 100644
--- a/src/test-data/nist_x509/test39/int2.crl
+++ b/src/tests/data/nist_x509/test39/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test39/int2.crt b/src/tests/data/nist_x509/test39/int2.crt
index c56ce57f0..c56ce57f0 100644
--- a/src/test-data/nist_x509/test39/int2.crt
+++ b/src/tests/data/nist_x509/test39/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test39/int3.crl b/src/tests/data/nist_x509/test39/int3.crl
index 453420be8..453420be8 100644
--- a/src/test-data/nist_x509/test39/int3.crl
+++ b/src/tests/data/nist_x509/test39/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test39/int3.crt b/src/tests/data/nist_x509/test39/int3.crt
index ce1224ada..ce1224ada 100644
--- a/src/test-data/nist_x509/test39/int3.crt
+++ b/src/tests/data/nist_x509/test39/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test39/root.crl b/src/tests/data/nist_x509/test39/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test39/root.crl
+++ b/src/tests/data/nist_x509/test39/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test39/root.crt b/src/tests/data/nist_x509/test39/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test39/root.crt
+++ b/src/tests/data/nist_x509/test39/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test40/end.crt b/src/tests/data/nist_x509/test40/end.crt
index 24ce9e4d8..24ce9e4d8 100644
--- a/src/test-data/nist_x509/test40/end.crt
+++ b/src/tests/data/nist_x509/test40/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test40/int1.crl b/src/tests/data/nist_x509/test40/int1.crl
index 5bd6a9f83..5bd6a9f83 100644
--- a/src/test-data/nist_x509/test40/int1.crl
+++ b/src/tests/data/nist_x509/test40/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test40/int1.crt b/src/tests/data/nist_x509/test40/int1.crt
index 5a8ac5006..5a8ac5006 100644
--- a/src/test-data/nist_x509/test40/int1.crt
+++ b/src/tests/data/nist_x509/test40/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test40/int2.crl b/src/tests/data/nist_x509/test40/int2.crl
index dde5a124c..dde5a124c 100644
--- a/src/test-data/nist_x509/test40/int2.crl
+++ b/src/tests/data/nist_x509/test40/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test40/int2.crt b/src/tests/data/nist_x509/test40/int2.crt
index 70e4d9092..70e4d9092 100644
--- a/src/test-data/nist_x509/test40/int2.crt
+++ b/src/tests/data/nist_x509/test40/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test40/int3.crl b/src/tests/data/nist_x509/test40/int3.crl
index 713fa4bbf..713fa4bbf 100644
--- a/src/test-data/nist_x509/test40/int3.crl
+++ b/src/tests/data/nist_x509/test40/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test40/int3.crt b/src/tests/data/nist_x509/test40/int3.crt
index a0c673453..a0c673453 100644
--- a/src/test-data/nist_x509/test40/int3.crt
+++ b/src/tests/data/nist_x509/test40/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test40/root.crl b/src/tests/data/nist_x509/test40/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test40/root.crl
+++ b/src/tests/data/nist_x509/test40/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test40/root.crt b/src/tests/data/nist_x509/test40/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test40/root.crt
+++ b/src/tests/data/nist_x509/test40/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test41/end.crt b/src/tests/data/nist_x509/test41/end.crt
index b88e38eb9..b88e38eb9 100644
--- a/src/test-data/nist_x509/test41/end.crt
+++ b/src/tests/data/nist_x509/test41/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test41/int1.crl b/src/tests/data/nist_x509/test41/int1.crl
index 2d4c41521..2d4c41521 100644
--- a/src/test-data/nist_x509/test41/int1.crl
+++ b/src/tests/data/nist_x509/test41/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test41/int1.crt b/src/tests/data/nist_x509/test41/int1.crt
index 4b96b2afb..4b96b2afb 100644
--- a/src/test-data/nist_x509/test41/int1.crt
+++ b/src/tests/data/nist_x509/test41/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test41/int2.crl b/src/tests/data/nist_x509/test41/int2.crl
index e389a7fd9..e389a7fd9 100644
--- a/src/test-data/nist_x509/test41/int2.crl
+++ b/src/tests/data/nist_x509/test41/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test41/int2.crt b/src/tests/data/nist_x509/test41/int2.crt
index 4b1edc710..4b1edc710 100644
--- a/src/test-data/nist_x509/test41/int2.crt
+++ b/src/tests/data/nist_x509/test41/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test41/int3.crl b/src/tests/data/nist_x509/test41/int3.crl
index d26dc1b75..d26dc1b75 100644
--- a/src/test-data/nist_x509/test41/int3.crl
+++ b/src/tests/data/nist_x509/test41/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test41/int3.crt b/src/tests/data/nist_x509/test41/int3.crt
index 6012a3a5b..6012a3a5b 100644
--- a/src/test-data/nist_x509/test41/int3.crt
+++ b/src/tests/data/nist_x509/test41/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test41/root.crl b/src/tests/data/nist_x509/test41/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test41/root.crl
+++ b/src/tests/data/nist_x509/test41/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test41/root.crt b/src/tests/data/nist_x509/test41/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test41/root.crt
+++ b/src/tests/data/nist_x509/test41/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test42/end.crt b/src/tests/data/nist_x509/test42/end.crt
index 9815c5d5c..9815c5d5c 100644
--- a/src/test-data/nist_x509/test42/end.crt
+++ b/src/tests/data/nist_x509/test42/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test42/int1.crl b/src/tests/data/nist_x509/test42/int1.crl
index d4f21dbe3..d4f21dbe3 100644
--- a/src/test-data/nist_x509/test42/int1.crl
+++ b/src/tests/data/nist_x509/test42/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test42/int1.crt b/src/tests/data/nist_x509/test42/int1.crt
index f344a9f27..f344a9f27 100644
--- a/src/test-data/nist_x509/test42/int1.crt
+++ b/src/tests/data/nist_x509/test42/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test42/int2.crl b/src/tests/data/nist_x509/test42/int2.crl
index 32906057a..32906057a 100644
--- a/src/test-data/nist_x509/test42/int2.crl
+++ b/src/tests/data/nist_x509/test42/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test42/int2.crt b/src/tests/data/nist_x509/test42/int2.crt
index a2fd05ccb..a2fd05ccb 100644
--- a/src/test-data/nist_x509/test42/int2.crt
+++ b/src/tests/data/nist_x509/test42/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test42/int3.crl b/src/tests/data/nist_x509/test42/int3.crl
index ee2b2b18c..ee2b2b18c 100644
--- a/src/test-data/nist_x509/test42/int3.crl
+++ b/src/tests/data/nist_x509/test42/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test42/int3.crt b/src/tests/data/nist_x509/test42/int3.crt
index 8104a65f8..8104a65f8 100644
--- a/src/test-data/nist_x509/test42/int3.crt
+++ b/src/tests/data/nist_x509/test42/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test42/int4.crl b/src/tests/data/nist_x509/test42/int4.crl
index 7602160fa..7602160fa 100644
--- a/src/test-data/nist_x509/test42/int4.crl
+++ b/src/tests/data/nist_x509/test42/int4.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test42/int4.crt b/src/tests/data/nist_x509/test42/int4.crt
index 5b6ffbd4e..5b6ffbd4e 100644
--- a/src/test-data/nist_x509/test42/int4.crt
+++ b/src/tests/data/nist_x509/test42/int4.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test42/root.crl b/src/tests/data/nist_x509/test42/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test42/root.crl
+++ b/src/tests/data/nist_x509/test42/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test42/root.crt b/src/tests/data/nist_x509/test42/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test42/root.crt
+++ b/src/tests/data/nist_x509/test42/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test43/end.crt b/src/tests/data/nist_x509/test43/end.crt
index 9465ea5bf..9465ea5bf 100644
--- a/src/test-data/nist_x509/test43/end.crt
+++ b/src/tests/data/nist_x509/test43/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test43/int1.crl b/src/tests/data/nist_x509/test43/int1.crl
index 4ce26fdb9..4ce26fdb9 100644
--- a/src/test-data/nist_x509/test43/int1.crl
+++ b/src/tests/data/nist_x509/test43/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test43/int1.crt b/src/tests/data/nist_x509/test43/int1.crt
index e18a4e168..e18a4e168 100644
--- a/src/test-data/nist_x509/test43/int1.crt
+++ b/src/tests/data/nist_x509/test43/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test43/int2.crl b/src/tests/data/nist_x509/test43/int2.crl
index 9820bc6f6..9820bc6f6 100644
--- a/src/test-data/nist_x509/test43/int2.crl
+++ b/src/tests/data/nist_x509/test43/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test43/int2.crt b/src/tests/data/nist_x509/test43/int2.crt
index 1521fce98..1521fce98 100644
--- a/src/test-data/nist_x509/test43/int2.crt
+++ b/src/tests/data/nist_x509/test43/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test43/int3.crl b/src/tests/data/nist_x509/test43/int3.crl
index b8dfd8dfd..b8dfd8dfd 100644
--- a/src/test-data/nist_x509/test43/int3.crl
+++ b/src/tests/data/nist_x509/test43/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test43/int3.crt b/src/tests/data/nist_x509/test43/int3.crt
index 30b9706d8..30b9706d8 100644
--- a/src/test-data/nist_x509/test43/int3.crt
+++ b/src/tests/data/nist_x509/test43/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test43/int4.crl b/src/tests/data/nist_x509/test43/int4.crl
index 4b4136209..4b4136209 100644
--- a/src/test-data/nist_x509/test43/int4.crl
+++ b/src/tests/data/nist_x509/test43/int4.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test43/int4.crt b/src/tests/data/nist_x509/test43/int4.crt
index 949562273..949562273 100644
--- a/src/test-data/nist_x509/test43/int4.crt
+++ b/src/tests/data/nist_x509/test43/int4.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test43/root.crl b/src/tests/data/nist_x509/test43/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test43/root.crl
+++ b/src/tests/data/nist_x509/test43/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test43/root.crt b/src/tests/data/nist_x509/test43/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test43/root.crt
+++ b/src/tests/data/nist_x509/test43/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test44/end.crt b/src/tests/data/nist_x509/test44/end.crt
index 5fc9bec78..5fc9bec78 100644
--- a/src/test-data/nist_x509/test44/end.crt
+++ b/src/tests/data/nist_x509/test44/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test44/int1.crl b/src/tests/data/nist_x509/test44/int1.crl
index 2d4478cfc..2d4478cfc 100644
--- a/src/test-data/nist_x509/test44/int1.crl
+++ b/src/tests/data/nist_x509/test44/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test44/int1.crt b/src/tests/data/nist_x509/test44/int1.crt
index fbfd2a4d0..fbfd2a4d0 100644
--- a/src/test-data/nist_x509/test44/int1.crt
+++ b/src/tests/data/nist_x509/test44/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test44/int2.crl b/src/tests/data/nist_x509/test44/int2.crl
index 780ef7c0f..780ef7c0f 100644
--- a/src/test-data/nist_x509/test44/int2.crl
+++ b/src/tests/data/nist_x509/test44/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test44/int2.crt b/src/tests/data/nist_x509/test44/int2.crt
index 26f319399..26f319399 100644
--- a/src/test-data/nist_x509/test44/int2.crt
+++ b/src/tests/data/nist_x509/test44/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test44/int3.crl b/src/tests/data/nist_x509/test44/int3.crl
index 5e5267ed9..5e5267ed9 100644
--- a/src/test-data/nist_x509/test44/int3.crl
+++ b/src/tests/data/nist_x509/test44/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test44/int3.crt b/src/tests/data/nist_x509/test44/int3.crt
index 7f62ef6ef..7f62ef6ef 100644
--- a/src/test-data/nist_x509/test44/int3.crt
+++ b/src/tests/data/nist_x509/test44/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test44/int4.crl b/src/tests/data/nist_x509/test44/int4.crl
index 5d775f551..5d775f551 100644
--- a/src/test-data/nist_x509/test44/int4.crl
+++ b/src/tests/data/nist_x509/test44/int4.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test44/int4.crt b/src/tests/data/nist_x509/test44/int4.crt
index 76d6111ec..76d6111ec 100644
--- a/src/test-data/nist_x509/test44/int4.crt
+++ b/src/tests/data/nist_x509/test44/int4.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test44/root.crl b/src/tests/data/nist_x509/test44/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test44/root.crl
+++ b/src/tests/data/nist_x509/test44/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test44/root.crt b/src/tests/data/nist_x509/test44/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test44/root.crt
+++ b/src/tests/data/nist_x509/test44/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test45/end.crt b/src/tests/data/nist_x509/test45/end.crt
index a2ddb0430..a2ddb0430 100644
--- a/src/test-data/nist_x509/test45/end.crt
+++ b/src/tests/data/nist_x509/test45/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test45/int1.crl b/src/tests/data/nist_x509/test45/int1.crl
index 079062c14..079062c14 100644
--- a/src/test-data/nist_x509/test45/int1.crl
+++ b/src/tests/data/nist_x509/test45/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test45/int1.crt b/src/tests/data/nist_x509/test45/int1.crt
index 90ee8e3fe..90ee8e3fe 100644
--- a/src/test-data/nist_x509/test45/int1.crt
+++ b/src/tests/data/nist_x509/test45/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test45/int2.crl b/src/tests/data/nist_x509/test45/int2.crl
index 7c12bd0c3..7c12bd0c3 100644
--- a/src/test-data/nist_x509/test45/int2.crl
+++ b/src/tests/data/nist_x509/test45/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test45/int2.crt b/src/tests/data/nist_x509/test45/int2.crt
index 7fc0467ca..7fc0467ca 100644
--- a/src/test-data/nist_x509/test45/int2.crt
+++ b/src/tests/data/nist_x509/test45/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test45/int3.crl b/src/tests/data/nist_x509/test45/int3.crl
index f81b5042f..f81b5042f 100644
--- a/src/test-data/nist_x509/test45/int3.crl
+++ b/src/tests/data/nist_x509/test45/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test45/int3.crt b/src/tests/data/nist_x509/test45/int3.crt
index fb9500f12..fb9500f12 100644
--- a/src/test-data/nist_x509/test45/int3.crt
+++ b/src/tests/data/nist_x509/test45/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test45/int4.crl b/src/tests/data/nist_x509/test45/int4.crl
index 9e67a4a91..9e67a4a91 100644
--- a/src/test-data/nist_x509/test45/int4.crl
+++ b/src/tests/data/nist_x509/test45/int4.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test45/int4.crt b/src/tests/data/nist_x509/test45/int4.crt
index 60b6c9133..60b6c9133 100644
--- a/src/test-data/nist_x509/test45/int4.crt
+++ b/src/tests/data/nist_x509/test45/int4.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test45/root.crl b/src/tests/data/nist_x509/test45/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test45/root.crl
+++ b/src/tests/data/nist_x509/test45/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test45/root.crt b/src/tests/data/nist_x509/test45/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test45/root.crt
+++ b/src/tests/data/nist_x509/test45/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test46/end.crt b/src/tests/data/nist_x509/test46/end.crt
index 39ebf20a3..39ebf20a3 100644
--- a/src/test-data/nist_x509/test46/end.crt
+++ b/src/tests/data/nist_x509/test46/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test46/int1.crl b/src/tests/data/nist_x509/test46/int1.crl
index f9a2236bc..f9a2236bc 100644
--- a/src/test-data/nist_x509/test46/int1.crl
+++ b/src/tests/data/nist_x509/test46/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test46/int1.crt b/src/tests/data/nist_x509/test46/int1.crt
index 985a5d575..985a5d575 100644
--- a/src/test-data/nist_x509/test46/int1.crt
+++ b/src/tests/data/nist_x509/test46/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test46/int2.crl b/src/tests/data/nist_x509/test46/int2.crl
index 02e82c48a..02e82c48a 100644
--- a/src/test-data/nist_x509/test46/int2.crl
+++ b/src/tests/data/nist_x509/test46/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test46/int2.crt b/src/tests/data/nist_x509/test46/int2.crt
index ade64339c..ade64339c 100644
--- a/src/test-data/nist_x509/test46/int2.crt
+++ b/src/tests/data/nist_x509/test46/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test46/int3.crl b/src/tests/data/nist_x509/test46/int3.crl
index ddd59a80c..ddd59a80c 100644
--- a/src/test-data/nist_x509/test46/int3.crl
+++ b/src/tests/data/nist_x509/test46/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test46/int3.crt b/src/tests/data/nist_x509/test46/int3.crt
index 6e33faaaa..6e33faaaa 100644
--- a/src/test-data/nist_x509/test46/int3.crt
+++ b/src/tests/data/nist_x509/test46/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test46/int4.crl b/src/tests/data/nist_x509/test46/int4.crl
index 3dedfb11e..3dedfb11e 100644
--- a/src/test-data/nist_x509/test46/int4.crl
+++ b/src/tests/data/nist_x509/test46/int4.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test46/int4.crt b/src/tests/data/nist_x509/test46/int4.crt
index 1b3fc5726..1b3fc5726 100644
--- a/src/test-data/nist_x509/test46/int4.crt
+++ b/src/tests/data/nist_x509/test46/int4.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test46/root.crl b/src/tests/data/nist_x509/test46/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test46/root.crl
+++ b/src/tests/data/nist_x509/test46/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test46/root.crt b/src/tests/data/nist_x509/test46/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test46/root.crt
+++ b/src/tests/data/nist_x509/test46/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test47/end.crt b/src/tests/data/nist_x509/test47/end.crt
index 7337bc5b5..7337bc5b5 100644
--- a/src/test-data/nist_x509/test47/end.crt
+++ b/src/tests/data/nist_x509/test47/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test47/int1.crl b/src/tests/data/nist_x509/test47/int1.crl
index 938e3f412..938e3f412 100644
--- a/src/test-data/nist_x509/test47/int1.crl
+++ b/src/tests/data/nist_x509/test47/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test47/int1.crt b/src/tests/data/nist_x509/test47/int1.crt
index bf3e22239..bf3e22239 100644
--- a/src/test-data/nist_x509/test47/int1.crt
+++ b/src/tests/data/nist_x509/test47/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test47/int2.crl b/src/tests/data/nist_x509/test47/int2.crl
index f715c112d..f715c112d 100644
--- a/src/test-data/nist_x509/test47/int2.crl
+++ b/src/tests/data/nist_x509/test47/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test47/int2.crt b/src/tests/data/nist_x509/test47/int2.crt
index 1b7854e33..1b7854e33 100644
--- a/src/test-data/nist_x509/test47/int2.crt
+++ b/src/tests/data/nist_x509/test47/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test47/int3.crl b/src/tests/data/nist_x509/test47/int3.crl
index 786aa5032..786aa5032 100644
--- a/src/test-data/nist_x509/test47/int3.crl
+++ b/src/tests/data/nist_x509/test47/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test47/int3.crt b/src/tests/data/nist_x509/test47/int3.crt
index 62eb3b220..62eb3b220 100644
--- a/src/test-data/nist_x509/test47/int3.crt
+++ b/src/tests/data/nist_x509/test47/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test47/int4.crl b/src/tests/data/nist_x509/test47/int4.crl
index 925b78324..925b78324 100644
--- a/src/test-data/nist_x509/test47/int4.crl
+++ b/src/tests/data/nist_x509/test47/int4.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test47/int4.crt b/src/tests/data/nist_x509/test47/int4.crt
index 1c9a14344..1c9a14344 100644
--- a/src/test-data/nist_x509/test47/int4.crt
+++ b/src/tests/data/nist_x509/test47/int4.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test47/root.crl b/src/tests/data/nist_x509/test47/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test47/root.crl
+++ b/src/tests/data/nist_x509/test47/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test47/root.crt b/src/tests/data/nist_x509/test47/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test47/root.crt
+++ b/src/tests/data/nist_x509/test47/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test48/end.crt b/src/tests/data/nist_x509/test48/end.crt
index 933f27912..933f27912 100644
--- a/src/test-data/nist_x509/test48/end.crt
+++ b/src/tests/data/nist_x509/test48/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test48/int.crl b/src/tests/data/nist_x509/test48/int.crl
index 89ad99cd1..89ad99cd1 100644
--- a/src/test-data/nist_x509/test48/int.crl
+++ b/src/tests/data/nist_x509/test48/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test48/int.crt b/src/tests/data/nist_x509/test48/int.crt
index b2eefc4ae..b2eefc4ae 100644
--- a/src/test-data/nist_x509/test48/int.crt
+++ b/src/tests/data/nist_x509/test48/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test48/root.crl b/src/tests/data/nist_x509/test48/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test48/root.crl
+++ b/src/tests/data/nist_x509/test48/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test48/root.crt b/src/tests/data/nist_x509/test48/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test48/root.crt
+++ b/src/tests/data/nist_x509/test48/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test49/end.crt b/src/tests/data/nist_x509/test49/end.crt
index d0e4a26e6..d0e4a26e6 100644
--- a/src/test-data/nist_x509/test49/end.crt
+++ b/src/tests/data/nist_x509/test49/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test49/int.crl b/src/tests/data/nist_x509/test49/int.crl
index 1defb1ef5..1defb1ef5 100644
--- a/src/test-data/nist_x509/test49/int.crl
+++ b/src/tests/data/nist_x509/test49/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test49/int.crt b/src/tests/data/nist_x509/test49/int.crt
index 037f68d8b..037f68d8b 100644
--- a/src/test-data/nist_x509/test49/int.crt
+++ b/src/tests/data/nist_x509/test49/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test49/root.crl b/src/tests/data/nist_x509/test49/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test49/root.crl
+++ b/src/tests/data/nist_x509/test49/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test49/root.crt b/src/tests/data/nist_x509/test49/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test49/root.crt
+++ b/src/tests/data/nist_x509/test49/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test50/end.crt b/src/tests/data/nist_x509/test50/end.crt
index ed9b0a3ce..ed9b0a3ce 100644
--- a/src/test-data/nist_x509/test50/end.crt
+++ b/src/tests/data/nist_x509/test50/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test50/int.crl b/src/tests/data/nist_x509/test50/int.crl
index 0c7cdfee5..0c7cdfee5 100644
--- a/src/test-data/nist_x509/test50/int.crl
+++ b/src/tests/data/nist_x509/test50/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test50/int.crt b/src/tests/data/nist_x509/test50/int.crt
index 74c41f021..74c41f021 100644
--- a/src/test-data/nist_x509/test50/int.crt
+++ b/src/tests/data/nist_x509/test50/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test50/root.crl b/src/tests/data/nist_x509/test50/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test50/root.crl
+++ b/src/tests/data/nist_x509/test50/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test50/root.crt b/src/tests/data/nist_x509/test50/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test50/root.crt
+++ b/src/tests/data/nist_x509/test50/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test51/end.crt b/src/tests/data/nist_x509/test51/end.crt
index 12ebc74c7..12ebc74c7 100644
--- a/src/test-data/nist_x509/test51/end.crt
+++ b/src/tests/data/nist_x509/test51/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test51/int.crl b/src/tests/data/nist_x509/test51/int.crl
index c887c9a2c..c887c9a2c 100644
--- a/src/test-data/nist_x509/test51/int.crl
+++ b/src/tests/data/nist_x509/test51/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test51/int.crt b/src/tests/data/nist_x509/test51/int.crt
index def7e90d1..def7e90d1 100644
--- a/src/test-data/nist_x509/test51/int.crt
+++ b/src/tests/data/nist_x509/test51/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test51/root.crl b/src/tests/data/nist_x509/test51/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test51/root.crl
+++ b/src/tests/data/nist_x509/test51/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test51/root.crt b/src/tests/data/nist_x509/test51/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test51/root.crt
+++ b/src/tests/data/nist_x509/test51/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test52/end.crt b/src/tests/data/nist_x509/test52/end.crt
index 0bd19185f..0bd19185f 100644
--- a/src/test-data/nist_x509/test52/end.crt
+++ b/src/tests/data/nist_x509/test52/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test52/int.crl b/src/tests/data/nist_x509/test52/int.crl
index ec220874c..ec220874c 100644
--- a/src/test-data/nist_x509/test52/int.crl
+++ b/src/tests/data/nist_x509/test52/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test52/int.crt b/src/tests/data/nist_x509/test52/int.crt
index 3429d7cf7..3429d7cf7 100644
--- a/src/test-data/nist_x509/test52/int.crt
+++ b/src/tests/data/nist_x509/test52/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test52/root.crl b/src/tests/data/nist_x509/test52/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test52/root.crl
+++ b/src/tests/data/nist_x509/test52/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test52/root.crt b/src/tests/data/nist_x509/test52/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test52/root.crt
+++ b/src/tests/data/nist_x509/test52/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test53/end.crt b/src/tests/data/nist_x509/test53/end.crt
index 9b99dc562..9b99dc562 100644
--- a/src/test-data/nist_x509/test53/end.crt
+++ b/src/tests/data/nist_x509/test53/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test53/int.crl b/src/tests/data/nist_x509/test53/int.crl
index 79fed242a..79fed242a 100644
--- a/src/test-data/nist_x509/test53/int.crl
+++ b/src/tests/data/nist_x509/test53/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test53/int.crt b/src/tests/data/nist_x509/test53/int.crt
index 72eac943f..72eac943f 100644
--- a/src/test-data/nist_x509/test53/int.crt
+++ b/src/tests/data/nist_x509/test53/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test53/root.crl b/src/tests/data/nist_x509/test53/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test53/root.crl
+++ b/src/tests/data/nist_x509/test53/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test53/root.crt b/src/tests/data/nist_x509/test53/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test53/root.crt
+++ b/src/tests/data/nist_x509/test53/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test54/end.crt b/src/tests/data/nist_x509/test54/end.crt
index 185f019cf..185f019cf 100644
--- a/src/test-data/nist_x509/test54/end.crt
+++ b/src/tests/data/nist_x509/test54/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test54/int1.crl b/src/tests/data/nist_x509/test54/int1.crl
index 5b1c4439c..5b1c4439c 100644
--- a/src/test-data/nist_x509/test54/int1.crl
+++ b/src/tests/data/nist_x509/test54/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test54/int1.crt b/src/tests/data/nist_x509/test54/int1.crt
index 140ef0669..140ef0669 100644
--- a/src/test-data/nist_x509/test54/int1.crt
+++ b/src/tests/data/nist_x509/test54/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test54/int2.crl b/src/tests/data/nist_x509/test54/int2.crl
index c531566a9..c531566a9 100644
--- a/src/test-data/nist_x509/test54/int2.crl
+++ b/src/tests/data/nist_x509/test54/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test54/int2.crt b/src/tests/data/nist_x509/test54/int2.crt
index 506761d71..506761d71 100644
--- a/src/test-data/nist_x509/test54/int2.crt
+++ b/src/tests/data/nist_x509/test54/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test54/root.crl b/src/tests/data/nist_x509/test54/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test54/root.crl
+++ b/src/tests/data/nist_x509/test54/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test54/root.crt b/src/tests/data/nist_x509/test54/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test54/root.crt
+++ b/src/tests/data/nist_x509/test54/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test55/end.crt b/src/tests/data/nist_x509/test55/end.crt
index 923d4c5a8..923d4c5a8 100644
--- a/src/test-data/nist_x509/test55/end.crt
+++ b/src/tests/data/nist_x509/test55/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test55/int1.crl b/src/tests/data/nist_x509/test55/int1.crl
index 371821e5e..371821e5e 100644
--- a/src/test-data/nist_x509/test55/int1.crl
+++ b/src/tests/data/nist_x509/test55/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test55/int1.crt b/src/tests/data/nist_x509/test55/int1.crt
index 7597faf7f..7597faf7f 100644
--- a/src/test-data/nist_x509/test55/int1.crt
+++ b/src/tests/data/nist_x509/test55/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test55/int2.crl b/src/tests/data/nist_x509/test55/int2.crl
index 9a242916e..9a242916e 100644
--- a/src/test-data/nist_x509/test55/int2.crl
+++ b/src/tests/data/nist_x509/test55/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test55/int2.crt b/src/tests/data/nist_x509/test55/int2.crt
index 982235a21..982235a21 100644
--- a/src/test-data/nist_x509/test55/int2.crt
+++ b/src/tests/data/nist_x509/test55/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test55/root.crl b/src/tests/data/nist_x509/test55/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test55/root.crl
+++ b/src/tests/data/nist_x509/test55/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test55/root.crt b/src/tests/data/nist_x509/test55/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test55/root.crt
+++ b/src/tests/data/nist_x509/test55/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test56/end.crt b/src/tests/data/nist_x509/test56/end.crt
index d1dc82186..d1dc82186 100644
--- a/src/test-data/nist_x509/test56/end.crt
+++ b/src/tests/data/nist_x509/test56/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test56/int.crl b/src/tests/data/nist_x509/test56/int.crl
index 840b209e0..840b209e0 100644
--- a/src/test-data/nist_x509/test56/int.crl
+++ b/src/tests/data/nist_x509/test56/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test56/int.crt b/src/tests/data/nist_x509/test56/int.crt
index 9b622cabd..9b622cabd 100644
--- a/src/test-data/nist_x509/test56/int.crt
+++ b/src/tests/data/nist_x509/test56/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test56/root.crl b/src/tests/data/nist_x509/test56/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test56/root.crl
+++ b/src/tests/data/nist_x509/test56/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test56/root.crt b/src/tests/data/nist_x509/test56/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test56/root.crt
+++ b/src/tests/data/nist_x509/test56/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test57/end.crt b/src/tests/data/nist_x509/test57/end.crt
index 2f939384a..2f939384a 100644
--- a/src/test-data/nist_x509/test57/end.crt
+++ b/src/tests/data/nist_x509/test57/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test57/int.crl b/src/tests/data/nist_x509/test57/int.crl
index a0be908ae..a0be908ae 100644
--- a/src/test-data/nist_x509/test57/int.crl
+++ b/src/tests/data/nist_x509/test57/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test57/int.crt b/src/tests/data/nist_x509/test57/int.crt
index 79f6d6b8a..79f6d6b8a 100644
--- a/src/test-data/nist_x509/test57/int.crt
+++ b/src/tests/data/nist_x509/test57/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test57/root.crl b/src/tests/data/nist_x509/test57/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test57/root.crl
+++ b/src/tests/data/nist_x509/test57/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test57/root.crt b/src/tests/data/nist_x509/test57/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test57/root.crt
+++ b/src/tests/data/nist_x509/test57/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test58/end.crt b/src/tests/data/nist_x509/test58/end.crt
index 674009c83..674009c83 100644
--- a/src/test-data/nist_x509/test58/end.crt
+++ b/src/tests/data/nist_x509/test58/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test58/int1.crl b/src/tests/data/nist_x509/test58/int1.crl
index aa9dc9d7f..aa9dc9d7f 100644
--- a/src/test-data/nist_x509/test58/int1.crl
+++ b/src/tests/data/nist_x509/test58/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test58/int1.crt b/src/tests/data/nist_x509/test58/int1.crt
index 42e983122..42e983122 100644
--- a/src/test-data/nist_x509/test58/int1.crt
+++ b/src/tests/data/nist_x509/test58/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test58/int2.crl b/src/tests/data/nist_x509/test58/int2.crl
index 7dec9c1eb..7dec9c1eb 100644
--- a/src/test-data/nist_x509/test58/int2.crl
+++ b/src/tests/data/nist_x509/test58/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test58/int2.crt b/src/tests/data/nist_x509/test58/int2.crt
index 08eb808c4..08eb808c4 100644
--- a/src/test-data/nist_x509/test58/int2.crt
+++ b/src/tests/data/nist_x509/test58/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test58/int3.crl b/src/tests/data/nist_x509/test58/int3.crl
index bec634480..bec634480 100644
--- a/src/test-data/nist_x509/test58/int3.crl
+++ b/src/tests/data/nist_x509/test58/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test58/int3.crt b/src/tests/data/nist_x509/test58/int3.crt
index 6c5e6efae..6c5e6efae 100644
--- a/src/test-data/nist_x509/test58/int3.crt
+++ b/src/tests/data/nist_x509/test58/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test58/root.crl b/src/tests/data/nist_x509/test58/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test58/root.crl
+++ b/src/tests/data/nist_x509/test58/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test58/root.crt b/src/tests/data/nist_x509/test58/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test58/root.crt
+++ b/src/tests/data/nist_x509/test58/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test59/end.crt b/src/tests/data/nist_x509/test59/end.crt
index da5ee9e69..da5ee9e69 100644
--- a/src/test-data/nist_x509/test59/end.crt
+++ b/src/tests/data/nist_x509/test59/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test59/int1.crl b/src/tests/data/nist_x509/test59/int1.crl
index eb7f0e883..eb7f0e883 100644
--- a/src/test-data/nist_x509/test59/int1.crl
+++ b/src/tests/data/nist_x509/test59/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test59/int1.crt b/src/tests/data/nist_x509/test59/int1.crt
index be0ee21f2..be0ee21f2 100644
--- a/src/test-data/nist_x509/test59/int1.crt
+++ b/src/tests/data/nist_x509/test59/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test59/int2.crl b/src/tests/data/nist_x509/test59/int2.crl
index 2b2fe9ced..2b2fe9ced 100644
--- a/src/test-data/nist_x509/test59/int2.crl
+++ b/src/tests/data/nist_x509/test59/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test59/int2.crt b/src/tests/data/nist_x509/test59/int2.crt
index a84a7ba5e..a84a7ba5e 100644
--- a/src/test-data/nist_x509/test59/int2.crt
+++ b/src/tests/data/nist_x509/test59/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test59/int3.crl b/src/tests/data/nist_x509/test59/int3.crl
index cb7885c17..cb7885c17 100644
--- a/src/test-data/nist_x509/test59/int3.crl
+++ b/src/tests/data/nist_x509/test59/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test59/int3.crt b/src/tests/data/nist_x509/test59/int3.crt
index 0b13f9f9b..0b13f9f9b 100644
--- a/src/test-data/nist_x509/test59/int3.crt
+++ b/src/tests/data/nist_x509/test59/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test59/root.crl b/src/tests/data/nist_x509/test59/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test59/root.crl
+++ b/src/tests/data/nist_x509/test59/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test59/root.crt b/src/tests/data/nist_x509/test59/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test59/root.crt
+++ b/src/tests/data/nist_x509/test59/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test60/end.crt b/src/tests/data/nist_x509/test60/end.crt
index 8741105ea..8741105ea 100644
--- a/src/test-data/nist_x509/test60/end.crt
+++ b/src/tests/data/nist_x509/test60/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test60/int1.crl b/src/tests/data/nist_x509/test60/int1.crl
index e778e911d..e778e911d 100644
--- a/src/test-data/nist_x509/test60/int1.crl
+++ b/src/tests/data/nist_x509/test60/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test60/int1.crt b/src/tests/data/nist_x509/test60/int1.crt
index 01d844201..01d844201 100644
--- a/src/test-data/nist_x509/test60/int1.crt
+++ b/src/tests/data/nist_x509/test60/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test60/int2.crl b/src/tests/data/nist_x509/test60/int2.crl
index 4f4ac6bc0..4f4ac6bc0 100644
--- a/src/test-data/nist_x509/test60/int2.crl
+++ b/src/tests/data/nist_x509/test60/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test60/int2.crt b/src/tests/data/nist_x509/test60/int2.crt
index 0054dc622..0054dc622 100644
--- a/src/test-data/nist_x509/test60/int2.crt
+++ b/src/tests/data/nist_x509/test60/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test60/int3.crl b/src/tests/data/nist_x509/test60/int3.crl
index 0b568e7cc..0b568e7cc 100644
--- a/src/test-data/nist_x509/test60/int3.crl
+++ b/src/tests/data/nist_x509/test60/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test60/int3.crt b/src/tests/data/nist_x509/test60/int3.crt
index 6fff65cc7..6fff65cc7 100644
--- a/src/test-data/nist_x509/test60/int3.crt
+++ b/src/tests/data/nist_x509/test60/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test60/int4.crl b/src/tests/data/nist_x509/test60/int4.crl
index 4cf694a98..4cf694a98 100644
--- a/src/test-data/nist_x509/test60/int4.crl
+++ b/src/tests/data/nist_x509/test60/int4.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test60/int4.crt b/src/tests/data/nist_x509/test60/int4.crt
index c5eebca96..c5eebca96 100644
--- a/src/test-data/nist_x509/test60/int4.crt
+++ b/src/tests/data/nist_x509/test60/int4.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test60/root.crl b/src/tests/data/nist_x509/test60/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test60/root.crl
+++ b/src/tests/data/nist_x509/test60/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test60/root.crt b/src/tests/data/nist_x509/test60/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test60/root.crt
+++ b/src/tests/data/nist_x509/test60/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test61/end.crt b/src/tests/data/nist_x509/test61/end.crt
index 7be023caf..7be023caf 100644
--- a/src/test-data/nist_x509/test61/end.crt
+++ b/src/tests/data/nist_x509/test61/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test61/int1.crl b/src/tests/data/nist_x509/test61/int1.crl
index 05c2809aa..05c2809aa 100644
--- a/src/test-data/nist_x509/test61/int1.crl
+++ b/src/tests/data/nist_x509/test61/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test61/int1.crt b/src/tests/data/nist_x509/test61/int1.crt
index ba03f6c24..ba03f6c24 100644
--- a/src/test-data/nist_x509/test61/int1.crt
+++ b/src/tests/data/nist_x509/test61/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test61/int2.crl b/src/tests/data/nist_x509/test61/int2.crl
index d74b9168c..d74b9168c 100644
--- a/src/test-data/nist_x509/test61/int2.crl
+++ b/src/tests/data/nist_x509/test61/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test61/int2.crt b/src/tests/data/nist_x509/test61/int2.crt
index bd4e40ea3..bd4e40ea3 100644
--- a/src/test-data/nist_x509/test61/int2.crt
+++ b/src/tests/data/nist_x509/test61/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test61/int3.crl b/src/tests/data/nist_x509/test61/int3.crl
index 7e6e83fb2..7e6e83fb2 100644
--- a/src/test-data/nist_x509/test61/int3.crl
+++ b/src/tests/data/nist_x509/test61/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test61/int3.crt b/src/tests/data/nist_x509/test61/int3.crt
index 4f9342b20..4f9342b20 100644
--- a/src/test-data/nist_x509/test61/int3.crt
+++ b/src/tests/data/nist_x509/test61/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test61/int4.crl b/src/tests/data/nist_x509/test61/int4.crl
index 7161f4192..7161f4192 100644
--- a/src/test-data/nist_x509/test61/int4.crl
+++ b/src/tests/data/nist_x509/test61/int4.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test61/int4.crt b/src/tests/data/nist_x509/test61/int4.crt
index 5962eedfa..5962eedfa 100644
--- a/src/test-data/nist_x509/test61/int4.crt
+++ b/src/tests/data/nist_x509/test61/int4.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test61/root.crl b/src/tests/data/nist_x509/test61/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test61/root.crl
+++ b/src/tests/data/nist_x509/test61/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test61/root.crt b/src/tests/data/nist_x509/test61/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test61/root.crt
+++ b/src/tests/data/nist_x509/test61/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test62/end.crt b/src/tests/data/nist_x509/test62/end.crt
index bff8ea4cb..bff8ea4cb 100644
--- a/src/test-data/nist_x509/test62/end.crt
+++ b/src/tests/data/nist_x509/test62/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test62/int1.crl b/src/tests/data/nist_x509/test62/int1.crl
index aa26a419a..aa26a419a 100644
--- a/src/test-data/nist_x509/test62/int1.crl
+++ b/src/tests/data/nist_x509/test62/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test62/int1.crt b/src/tests/data/nist_x509/test62/int1.crt
index aee257d7e..aee257d7e 100644
--- a/src/test-data/nist_x509/test62/int1.crt
+++ b/src/tests/data/nist_x509/test62/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test62/int2.crl b/src/tests/data/nist_x509/test62/int2.crl
index 61e712f0d..61e712f0d 100644
--- a/src/test-data/nist_x509/test62/int2.crl
+++ b/src/tests/data/nist_x509/test62/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test62/int2.crt b/src/tests/data/nist_x509/test62/int2.crt
index a62d9a026..a62d9a026 100644
--- a/src/test-data/nist_x509/test62/int2.crt
+++ b/src/tests/data/nist_x509/test62/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test62/int3.crl b/src/tests/data/nist_x509/test62/int3.crl
index 09707fd7b..09707fd7b 100644
--- a/src/test-data/nist_x509/test62/int3.crl
+++ b/src/tests/data/nist_x509/test62/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test62/int3.crt b/src/tests/data/nist_x509/test62/int3.crt
index aa91f3427..aa91f3427 100644
--- a/src/test-data/nist_x509/test62/int3.crt
+++ b/src/tests/data/nist_x509/test62/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test62/int4.crl b/src/tests/data/nist_x509/test62/int4.crl
index 997a057f2..997a057f2 100644
--- a/src/test-data/nist_x509/test62/int4.crl
+++ b/src/tests/data/nist_x509/test62/int4.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test62/int4.crt b/src/tests/data/nist_x509/test62/int4.crt
index 744603003..744603003 100644
--- a/src/test-data/nist_x509/test62/int4.crt
+++ b/src/tests/data/nist_x509/test62/int4.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test62/root.crl b/src/tests/data/nist_x509/test62/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test62/root.crl
+++ b/src/tests/data/nist_x509/test62/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test62/root.crt b/src/tests/data/nist_x509/test62/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test62/root.crt
+++ b/src/tests/data/nist_x509/test62/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test63/end.crt b/src/tests/data/nist_x509/test63/end.crt
index 16c1c687d..16c1c687d 100644
--- a/src/test-data/nist_x509/test63/end.crt
+++ b/src/tests/data/nist_x509/test63/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test63/int1.crl b/src/tests/data/nist_x509/test63/int1.crl
index 40c4afc45..40c4afc45 100644
--- a/src/test-data/nist_x509/test63/int1.crl
+++ b/src/tests/data/nist_x509/test63/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test63/int1.crt b/src/tests/data/nist_x509/test63/int1.crt
index 6b3f6eb4b..6b3f6eb4b 100644
--- a/src/test-data/nist_x509/test63/int1.crt
+++ b/src/tests/data/nist_x509/test63/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test63/int2.crl b/src/tests/data/nist_x509/test63/int2.crl
index 7bffd4661..7bffd4661 100644
--- a/src/test-data/nist_x509/test63/int2.crl
+++ b/src/tests/data/nist_x509/test63/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test63/int2.crt b/src/tests/data/nist_x509/test63/int2.crt
index f2e88f9fe..f2e88f9fe 100644
--- a/src/test-data/nist_x509/test63/int2.crt
+++ b/src/tests/data/nist_x509/test63/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test63/int3.crl b/src/tests/data/nist_x509/test63/int3.crl
index 20f503c6b..20f503c6b 100644
--- a/src/test-data/nist_x509/test63/int3.crl
+++ b/src/tests/data/nist_x509/test63/int3.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test63/int3.crt b/src/tests/data/nist_x509/test63/int3.crt
index 2d636dd43..2d636dd43 100644
--- a/src/test-data/nist_x509/test63/int3.crt
+++ b/src/tests/data/nist_x509/test63/int3.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test63/int4.crl b/src/tests/data/nist_x509/test63/int4.crl
index 71e622907..71e622907 100644
--- a/src/test-data/nist_x509/test63/int4.crl
+++ b/src/tests/data/nist_x509/test63/int4.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test63/int4.crt b/src/tests/data/nist_x509/test63/int4.crt
index a0ed3a167..a0ed3a167 100644
--- a/src/test-data/nist_x509/test63/int4.crt
+++ b/src/tests/data/nist_x509/test63/int4.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test63/root.crl b/src/tests/data/nist_x509/test63/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test63/root.crl
+++ b/src/tests/data/nist_x509/test63/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test63/root.crt b/src/tests/data/nist_x509/test63/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test63/root.crt
+++ b/src/tests/data/nist_x509/test63/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test64/end.crt b/src/tests/data/nist_x509/test64/end.crt
index 771423eca..771423eca 100644
--- a/src/test-data/nist_x509/test64/end.crt
+++ b/src/tests/data/nist_x509/test64/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test64/int.crl b/src/tests/data/nist_x509/test64/int.crl
index 0e3e2bd95..0e3e2bd95 100644
--- a/src/test-data/nist_x509/test64/int.crl
+++ b/src/tests/data/nist_x509/test64/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test64/int.crt b/src/tests/data/nist_x509/test64/int.crt
index 1ae82584e..1ae82584e 100644
--- a/src/test-data/nist_x509/test64/int.crt
+++ b/src/tests/data/nist_x509/test64/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test64/root.crl b/src/tests/data/nist_x509/test64/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test64/root.crl
+++ b/src/tests/data/nist_x509/test64/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test64/root.crt b/src/tests/data/nist_x509/test64/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test64/root.crt
+++ b/src/tests/data/nist_x509/test64/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test65/end.crt b/src/tests/data/nist_x509/test65/end.crt
index 29d51a7f9..29d51a7f9 100644
--- a/src/test-data/nist_x509/test65/end.crt
+++ b/src/tests/data/nist_x509/test65/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test65/int.crl b/src/tests/data/nist_x509/test65/int.crl
index bd2d906ff..bd2d906ff 100644
--- a/src/test-data/nist_x509/test65/int.crl
+++ b/src/tests/data/nist_x509/test65/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test65/int1.crt b/src/tests/data/nist_x509/test65/int1.crt
index 214c839fe..214c839fe 100644
--- a/src/test-data/nist_x509/test65/int1.crt
+++ b/src/tests/data/nist_x509/test65/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test65/int2.crt b/src/tests/data/nist_x509/test65/int2.crt
index 57c2e5914..57c2e5914 100644
--- a/src/test-data/nist_x509/test65/int2.crt
+++ b/src/tests/data/nist_x509/test65/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test65/root.crl b/src/tests/data/nist_x509/test65/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test65/root.crl
+++ b/src/tests/data/nist_x509/test65/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test65/root.crt b/src/tests/data/nist_x509/test65/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test65/root.crt
+++ b/src/tests/data/nist_x509/test65/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test66/end.crt b/src/tests/data/nist_x509/test66/end.crt
index ccdb0e086..ccdb0e086 100644
--- a/src/test-data/nist_x509/test66/end.crt
+++ b/src/tests/data/nist_x509/test66/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test66/int.crl b/src/tests/data/nist_x509/test66/int.crl
index f80b444e2..f80b444e2 100644
--- a/src/test-data/nist_x509/test66/int.crl
+++ b/src/tests/data/nist_x509/test66/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test66/int.crt b/src/tests/data/nist_x509/test66/int.crt
index 23f8b17c2..23f8b17c2 100644
--- a/src/test-data/nist_x509/test66/int.crt
+++ b/src/tests/data/nist_x509/test66/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test66/root.crl b/src/tests/data/nist_x509/test66/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test66/root.crl
+++ b/src/tests/data/nist_x509/test66/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test66/root.crt b/src/tests/data/nist_x509/test66/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test66/root.crt
+++ b/src/tests/data/nist_x509/test66/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test67/end.crt b/src/tests/data/nist_x509/test67/end.crt
index 85d5508db..85d5508db 100644
--- a/src/test-data/nist_x509/test67/end.crt
+++ b/src/tests/data/nist_x509/test67/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test67/int.crt b/src/tests/data/nist_x509/test67/int.crt
index 92a4b3a95..92a4b3a95 100644
--- a/src/test-data/nist_x509/test67/int.crt
+++ b/src/tests/data/nist_x509/test67/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test67/int1.crl b/src/tests/data/nist_x509/test67/int1.crl
index 3fe834938..3fe834938 100644
--- a/src/test-data/nist_x509/test67/int1.crl
+++ b/src/tests/data/nist_x509/test67/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test67/int2.crl b/src/tests/data/nist_x509/test67/int2.crl
index 15593fa84..15593fa84 100644
--- a/src/test-data/nist_x509/test67/int2.crl
+++ b/src/tests/data/nist_x509/test67/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test67/root.crl b/src/tests/data/nist_x509/test67/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test67/root.crl
+++ b/src/tests/data/nist_x509/test67/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test67/root.crt b/src/tests/data/nist_x509/test67/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test67/root.crt
+++ b/src/tests/data/nist_x509/test67/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test68/end.crt b/src/tests/data/nist_x509/test68/end.crt
index bddd72da6..bddd72da6 100644
--- a/src/test-data/nist_x509/test68/end.crt
+++ b/src/tests/data/nist_x509/test68/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test68/int1.crl b/src/tests/data/nist_x509/test68/int1.crl
index fdbf8ea0c..fdbf8ea0c 100644
--- a/src/test-data/nist_x509/test68/int1.crl
+++ b/src/tests/data/nist_x509/test68/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test68/int1.crt b/src/tests/data/nist_x509/test68/int1.crt
index 4bc8127b3..4bc8127b3 100644
--- a/src/test-data/nist_x509/test68/int1.crt
+++ b/src/tests/data/nist_x509/test68/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test68/int2.crl b/src/tests/data/nist_x509/test68/int2.crl
index 33b764094..33b764094 100644
--- a/src/test-data/nist_x509/test68/int2.crl
+++ b/src/tests/data/nist_x509/test68/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test68/int2.crt b/src/tests/data/nist_x509/test68/int2.crt
index 1ca8d5c32..1ca8d5c32 100644
--- a/src/test-data/nist_x509/test68/int2.crt
+++ b/src/tests/data/nist_x509/test68/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test68/root.crl b/src/tests/data/nist_x509/test68/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test68/root.crl
+++ b/src/tests/data/nist_x509/test68/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test68/root.crt b/src/tests/data/nist_x509/test68/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test68/root.crt
+++ b/src/tests/data/nist_x509/test68/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test69/end.crt b/src/tests/data/nist_x509/test69/end.crt
index 00fc716dc..00fc716dc 100644
--- a/src/test-data/nist_x509/test69/end.crt
+++ b/src/tests/data/nist_x509/test69/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test69/int.crl b/src/tests/data/nist_x509/test69/int.crl
index fc09d351a..fc09d351a 100644
--- a/src/test-data/nist_x509/test69/int.crl
+++ b/src/tests/data/nist_x509/test69/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test69/int.crt b/src/tests/data/nist_x509/test69/int.crt
index 6c19ee09e..6c19ee09e 100644
--- a/src/test-data/nist_x509/test69/int.crt
+++ b/src/tests/data/nist_x509/test69/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test69/root.crl b/src/tests/data/nist_x509/test69/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test69/root.crl
+++ b/src/tests/data/nist_x509/test69/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test69/root.crt b/src/tests/data/nist_x509/test69/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test69/root.crt
+++ b/src/tests/data/nist_x509/test69/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test70/end.crt b/src/tests/data/nist_x509/test70/end.crt
index c576960be..c576960be 100644
--- a/src/test-data/nist_x509/test70/end.crt
+++ b/src/tests/data/nist_x509/test70/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test70/int1.crl b/src/tests/data/nist_x509/test70/int1.crl
index 77dafb909..77dafb909 100644
--- a/src/test-data/nist_x509/test70/int1.crl
+++ b/src/tests/data/nist_x509/test70/int1.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test70/int1.crt b/src/tests/data/nist_x509/test70/int1.crt
index 5509c5438..5509c5438 100644
--- a/src/test-data/nist_x509/test70/int1.crt
+++ b/src/tests/data/nist_x509/test70/int1.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test70/int2.crl b/src/tests/data/nist_x509/test70/int2.crl
index 4e22f3966..4e22f3966 100644
--- a/src/test-data/nist_x509/test70/int2.crl
+++ b/src/tests/data/nist_x509/test70/int2.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test70/int2.crt b/src/tests/data/nist_x509/test70/int2.crt
index 9af80b8e4..9af80b8e4 100644
--- a/src/test-data/nist_x509/test70/int2.crt
+++ b/src/tests/data/nist_x509/test70/int2.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test70/root.crl b/src/tests/data/nist_x509/test70/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test70/root.crl
+++ b/src/tests/data/nist_x509/test70/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test70/root.crt b/src/tests/data/nist_x509/test70/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test70/root.crt
+++ b/src/tests/data/nist_x509/test70/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test71/end.crt b/src/tests/data/nist_x509/test71/end.crt
index 0cc1718ee..0cc1718ee 100644
--- a/src/test-data/nist_x509/test71/end.crt
+++ b/src/tests/data/nist_x509/test71/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test71/int.crl b/src/tests/data/nist_x509/test71/int.crl
index c34a95df1..c34a95df1 100644
--- a/src/test-data/nist_x509/test71/int.crl
+++ b/src/tests/data/nist_x509/test71/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test71/int.crt b/src/tests/data/nist_x509/test71/int.crt
index 07076019c..07076019c 100644
--- a/src/test-data/nist_x509/test71/int.crt
+++ b/src/tests/data/nist_x509/test71/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test71/root.crl b/src/tests/data/nist_x509/test71/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test71/root.crl
+++ b/src/tests/data/nist_x509/test71/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test71/root.crt b/src/tests/data/nist_x509/test71/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test71/root.crt
+++ b/src/tests/data/nist_x509/test71/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test72/end.crt b/src/tests/data/nist_x509/test72/end.crt
index 6c61375d8..6c61375d8 100644
--- a/src/test-data/nist_x509/test72/end.crt
+++ b/src/tests/data/nist_x509/test72/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test72/int.crl b/src/tests/data/nist_x509/test72/int.crl
index 643141b37..643141b37 100644
--- a/src/test-data/nist_x509/test72/int.crl
+++ b/src/tests/data/nist_x509/test72/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test72/int.crt b/src/tests/data/nist_x509/test72/int.crt
index 36b1f2052..36b1f2052 100644
--- a/src/test-data/nist_x509/test72/int.crt
+++ b/src/tests/data/nist_x509/test72/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test72/root.crl b/src/tests/data/nist_x509/test72/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test72/root.crl
+++ b/src/tests/data/nist_x509/test72/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test72/root.crt b/src/tests/data/nist_x509/test72/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test72/root.crt
+++ b/src/tests/data/nist_x509/test72/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test73/end.crt b/src/tests/data/nist_x509/test73/end.crt
index 9bae5325f..9bae5325f 100644
--- a/src/test-data/nist_x509/test73/end.crt
+++ b/src/tests/data/nist_x509/test73/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test73/int.crl b/src/tests/data/nist_x509/test73/int.crl
index 6b76dc0b8..6b76dc0b8 100644
--- a/src/test-data/nist_x509/test73/int.crl
+++ b/src/tests/data/nist_x509/test73/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test73/int.crt b/src/tests/data/nist_x509/test73/int.crt
index ff6df2598..ff6df2598 100644
--- a/src/test-data/nist_x509/test73/int.crt
+++ b/src/tests/data/nist_x509/test73/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test73/root.crl b/src/tests/data/nist_x509/test73/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test73/root.crl
+++ b/src/tests/data/nist_x509/test73/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test73/root.crt b/src/tests/data/nist_x509/test73/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test73/root.crt
+++ b/src/tests/data/nist_x509/test73/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test74/end.crt b/src/tests/data/nist_x509/test74/end.crt
index 93e05bd1e..93e05bd1e 100644
--- a/src/test-data/nist_x509/test74/end.crt
+++ b/src/tests/data/nist_x509/test74/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test74/int.crl b/src/tests/data/nist_x509/test74/int.crl
index 8733b183c..8733b183c 100644
--- a/src/test-data/nist_x509/test74/int.crl
+++ b/src/tests/data/nist_x509/test74/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test74/int.crt b/src/tests/data/nist_x509/test74/int.crt
index c9258148d..c9258148d 100644
--- a/src/test-data/nist_x509/test74/int.crt
+++ b/src/tests/data/nist_x509/test74/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test74/root.crl b/src/tests/data/nist_x509/test74/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test74/root.crl
+++ b/src/tests/data/nist_x509/test74/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test74/root.crt b/src/tests/data/nist_x509/test74/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test74/root.crt
+++ b/src/tests/data/nist_x509/test74/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test75/end.crt b/src/tests/data/nist_x509/test75/end.crt
index 7d8179be0..7d8179be0 100644
--- a/src/test-data/nist_x509/test75/end.crt
+++ b/src/tests/data/nist_x509/test75/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test75/int.crl b/src/tests/data/nist_x509/test75/int.crl
index 19f472c7f..19f472c7f 100644
--- a/src/test-data/nist_x509/test75/int.crl
+++ b/src/tests/data/nist_x509/test75/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test75/int.crt b/src/tests/data/nist_x509/test75/int.crt
index 4a4c27e8c..4a4c27e8c 100644
--- a/src/test-data/nist_x509/test75/int.crt
+++ b/src/tests/data/nist_x509/test75/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test75/root.crl b/src/tests/data/nist_x509/test75/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test75/root.crl
+++ b/src/tests/data/nist_x509/test75/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test75/root.crt b/src/tests/data/nist_x509/test75/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test75/root.crt
+++ b/src/tests/data/nist_x509/test75/root.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test76/end.crt b/src/tests/data/nist_x509/test76/end.crt
index bde477d89..bde477d89 100644
--- a/src/test-data/nist_x509/test76/end.crt
+++ b/src/tests/data/nist_x509/test76/end.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test76/int.crl b/src/tests/data/nist_x509/test76/int.crl
index dbbbd43be..dbbbd43be 100644
--- a/src/test-data/nist_x509/test76/int.crl
+++ b/src/tests/data/nist_x509/test76/int.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test76/int.crt b/src/tests/data/nist_x509/test76/int.crt
index ab1c64390..ab1c64390 100644
--- a/src/test-data/nist_x509/test76/int.crt
+++ b/src/tests/data/nist_x509/test76/int.crt
Binary files differ
diff --git a/src/test-data/nist_x509/test76/root.crl b/src/tests/data/nist_x509/test76/root.crl
index de65024ad..de65024ad 100644
--- a/src/test-data/nist_x509/test76/root.crl
+++ b/src/tests/data/nist_x509/test76/root.crl
Binary files differ
diff --git a/src/test-data/nist_x509/test76/root.crt b/src/tests/data/nist_x509/test76/root.crt
index d7dfd9d48..d7dfd9d48 100644
--- a/src/test-data/nist_x509/test76/root.crt
+++ b/src/tests/data/nist_x509/test76/root.crt
Binary files differ
diff --git a/src/tests/data/nr.vec b/src/tests/data/nr.vec
new file mode 100644
index 000000000..7ea0b5f58
--- /dev/null
+++ b/src/tests/data/nr.vec
@@ -0,0 +1,108 @@
+
+Hash = SHA-1
+P = 13232376895198612407547930718267435757728527029623408872245156039757713029036368719146452186041204237350521785240337048752071462798273003935646236777459223
+Q = 857393771208094202104259627990318636601332086981
+G = 11629401773565540073100961473632977008134185076958364415809981826641612629974728305105606061133984394938666464842000720534465163992699133277631369246002549
+X = 690137371285617821883812262785390552483969245734
+Msg = FCABA2CF434AC8DCFCEC
+Nonce = 91F1D3A9C129D91120EA3F6486A079AA695AB632
+Signature = 44EC399FAA3853B7F7313FCCB3A30B82B20A18C45E53188FC58B0E3C141A0851BAEA0A7723C71A94
+
+Hash = SHA-1
+P = 11539157087115501064443313862230776814501503314908866582520064395234214662096469833944226801182094864301551078051839094523689065169630864970454325952246003
+Q = 4611867475027478089006048754416511599991217483222299946239
+G = 6840886814729250448628234878216116001269356551393119934540583512165344555273987561922034037109642507867428525278842646754491096970938164337278633387482001
+X = 1883033040916132991100735190078580013234350924382655236344
+Msg = 5075752E
+Nonce = A876034938F576056B00569E4706963C8B28D23E03AEABE2
+Signature = 3097CCDF824E2BB33089DAA042551335625D9802A2BDE54C10810881157C8DC37E2ADC8195251FBE040B919D56512F57
+
+Hash = SHA-1
+P = 21493319731966889395799474793674095481723722419442661804680140633335622798225252248476045677397436074434085647562851808408438818911783503270078118300840749
+Q = 2448429158401879693785391062978880053200446269131
+G = 4203761693330811086621862151184427969736787878615125490977811499372765210480369328510227659014955675161810152504096942847711228481122133020330912131088488
+X = 2021846214679266501848864964638443639868567441259
+Msg = 5075752E
+Nonce = 019E4706963C8B28D23E03AEABE27C7B294EEC2337
+Signature = 006AAA75DD2B3A7AE867D2DA3581D04AE2AAA5905C0074F8C1507136682A93A23A89504DC0FEA5603946
+
+Hash = SHA-1
+P = 35830843685758796191508259498352925866257295533427704319070381297423750780192082137963436364930795492409541031064272330680223674416403180136573368273413749
+Q = 2448429158401879693785391062978880053200446269131
+G = 5290860346671742549277477828426565321171404093164267704697578220977450055062732322451195806155297850087747074380869149080130132451724804988893066580084340
+X = 1649869239975171591476437377401006250492835853262
+Msg = 5075752E
+Nonce = 019540EEBCCFFBC202BB81AD78F1E046F4D4597F53
+Signature = 013D9A09041BA0E9DD2ECE20C5042F5442DD14C8F00113A3C080CB2B8FCC156D33E7FB8966032FE1570D
+
+Hash = SHA-1
+P = 140216752278600893405703049381038106466439992842926641456608953608349773182806651998779141954572985837754248088548038650964859967484756133596402858595223598718762187370713301783055866344582170960945605918540977304299009366211417416442912323654642193555012972631965464344489591125740216730885895427547016442089
+Q = 17664434429951611987885446903779562647393233487261
+G = 103172929054303770690939275696854890328330388523369933172989492329033218850064284598935370056999657672388300721493303716791847736030771754006167529200711350097996970123193674509190741058192564015421755738018474299227597843185650645225450031497015978814063018225280067737398554797638834576543770866767917382576
+X = 9216662458075461813441473730167636850659942976016
+Msg = 5075752E
+Nonce = 0AF20FE4162B721067160E55F9BC980AAC8A51BFCC
+Signature = 05B325CB3BAC1A189B132F8F88DB1389958604305104AB71A2C77D8A9C9026559C2E1765D44A81A1178B
+
+Hash = SHA-1
+P = 301164513047973738819737863923065529772693984731550072752736054506472125309312211411181830533992242283304962453762009830563777450843078947095340533761364645205077068779239171754462303166309130350364690633659047670592562646315208077550758968504608591739918637523132651620932257937394751403503356774821801467331
+Q = 17664434429951611987885446903779562647393233487261
+G = 109878721885498452449845699239583955684868586896311014124779988390432343992663258694986210605150036214426823642714691392396570235722052158072237456051272972227372469236772215281153923487765650215573437828715500032798737742846561463845735026996521961545383384496833091910320864533657907014709078376595881364845
+X = 9672614292481226693960166253962510771536576389944
+Msg = 47656E6B696B656E67617220466C61726521
+Nonce = 0A9A8513912E5A2AA2375A50A53E505C0F8D4D0A7F
+Signature = 082B6655BB32ED12D90CA95B8DDCBE36DA1DF3C96F009F88917FCB93F04D6198D438A1EF1FB732914332
+
+Hash = SHA-1
+P = 660703140020436920365598902080870476496289380520011387299596216821937476920314137676598785178807314325545190213504796545881356988471912192081035395040312893960612855628970142307066742368801318589270856537829059208268864011000133840498585189586263066066619720891141025456081333611140755308457869893203540507391
+Q = 87816513021834952061662318874161147590877995550057
+G = 323101247392657525008071693290907082407373408613350240111018443116964264958293859895147919396175836914648220360417188806609171792878531288691654693297452754739705338932798481785294159148443232564990176903662128014218757109880275171610833163055983871798086534511144978777985043569325074103197213925980821084011
+X = 33056640489775673385219123577423039086031497077560
+Msg = 47656E6B696B656E67617220466C61726521
+Nonce = 2A9A8513912E5A2AA2375A50A53E505C0F8D4D0A7F
+Signature = 34CD8EEF38DE00C87C2281ADEA5A597E85AFB8BDB42F59C80618D6EDB7361EF76674C0D535B31BDA3A9A
+
+Hash = SHA-1
+P = 1379780393965363283457320978396480369943480172096934016393316541452868180142317990207432694468437458410025645732990369976516516063729578682052425117598209391471684429328432083412275620773785695067083188346169082283621466740369985366394237631749572014720021772369666276935677436710491086612709427431422684117033
+Q = 87816513021834952061662318874161147590877995550057
+G = 1311969761382233592297578466165621268108129107689358121907769337880867301593670907143892175375566348862635411711374254007220774729472266605648630030603637282192333501605194501700719677843468373081976857008453088208080541406832891414075067602512850266116823025420778037639787577775282728456511758898079378412121
+X = 33056640489775673385219123577423039086031497077560
+Msg = 47656E6B696B656E67617220466C61726521
+Nonce = 2A9A8513912E5A2AA2375A50A53E505C0F8D4D0A7F
+Signature = 3255F933B90A659F32A2CEBDAD6C3465A494A87D350255D303139C95B0B60D3258A060B4510B0F26B22A
+
+Hash = SHA-1
+P = 2215835318919259185407136225166932443628083477708275860820654775805976008986844847116208531154747351262647682385758497411128854630678369023632414267685978088840312891295034156027960434251678198162918925642789892491604036248910534219539204654146485930985719383163759172858331638167627440903411015733068753273027
+Q = 64309387768281421215468729727290653627386295176121
+G = 1475310677586848995805494750762847694416864504694891230462845662059434954071887636112972407455438977563974495334718719978332643627390509315535841598673191776642366618729540242890273779397393741683596497385923869352052197961340599682222007901084919110828432197144483667033529875944525571083261123938926291555084
+X = 63738456098411319716118727591110898184859942159140
+Msg = B5E19E15868A062940B6909033B90A659F32A203
+Nonce = 2B51BC665CF466B2CEC3DCA92F6D8F0F02F6A4F05E
+Signature = 26F372588C0F5C1C71E32CE62E32B35C6A28C0454C0B6E09F2D96697037955B5EB51F38DA7B82F4C2C1B
+
+Hash = SHA-1
+P = 5505419827986981360083225706842467131767674143833794155961952892326024602512762050244188643341345352720149399867357379100834131418709353131827461694214183281686904885134573880240966656029267037736401776255169735480999895658507104122229743232182355716634936075734224169017149362830817700617535698331873614423333
+Q = 64149332069385337811352784807066226782206009894953
+G = 2209689516064916258301675205049467919080756622901846282997645916360951199910468772603886780375737673116724508378029587901519875020180283287060054683322382042615391178144742613811136707400642780906564250493022359468675209660353704542003948653839849585992866634088325506865322813990632995812250475462302465328099
+X = 36554240750905903253864460752696908094868073092201
+Msg = B5E19E15868A062940B6909033B90A659F32A202
+Nonce = 260FE1BF1BC190EB4014A860AD06DAACF0E62B5C2D
+Signature = 06FDDB7CC9347C59CA19C4C1D1489A333C2AC894400BB70AAD611DF63BAB771F0418605456957DA85FEF
+
+Hash = SHA-1
+P = 9250511942545843330250071173117860277568745788853414359370800439964570922849233589996096207730504873439659011115968230464487751688751178048713386511354094948254917838369172236982578927078353941647172074469591206853805560338228966334759312206175943223147016446334199288955810713526193635473525613891428251917643
+Q = 86817770948500646696376153866298303732836782970827
+G = 724918010552210077957259566048848276720076781283162106375865877958493111978322253687534787631911218249370474608056384339729299831713149909912058500497813465443708704666375256581242479984935812641837885785219922258472517621022924127430688333574757524554461547464239654242787326906525790210552401334762974618211
+X = 31970297447971648840599273756646875320184370534450
+Msg = B5E19E15868A062940B6909033B90A659F32A201
+Nonce = 2C6C5DDC20577082E4711D5F1327B0A8EEAA166617
+Signature = 2A8EE316C60FBB17BA8FC78D07402BC3B70E90D7060A80875979E0A2C63F67E871C1B80A2F3ECA1F6FCD
+
+Hash = SHA-1
+P = 19111252109879106551762735748075186208134979696829360100271814234024764304315225414805509744577336657096425461263248528046784276440964807828814289094498689903366980653888641241375585465860443155152933260465951241648574220324726817294643663179877120505866654270179791400891310032585850557581323522175688455763583
+Q = 81922656227567365417492475134687902350001383859709
+G = 14192377354377485672607889615664569982217004959622462208284683423636765305938230251294168377121489109009071925504129143063559851028061260650266772077602325176109397561736099074924449774999498908553216425305363194605557225748874563803272070193223634377877400558810380140400568592238681843565083451652221215870033
+X = 28748754198429578100702948616241622132862396928023
+Msg = 80EC0767A54D67D3E086EE2B47E8527DD71BFC2911B11E40
+Nonce = 23AEAF18FB8F0D808218A587F86C16B16AA5DFA48E
+Signature = 084ECEC098E77A72CDB6AE4BB5B77FD81EA19904962B89AD966FB795F201BE01BA0D5CBA8A63BBBB222D
diff --git a/src/test-data/pbkdf.vec b/src/tests/data/pbkdf.vec
index f73cd2b60..f73cd2b60 100644
--- a/src/test-data/pbkdf.vec
+++ b/src/tests/data/pbkdf.vec
diff --git a/src/tests/data/rsa_sig.vec b/src/tests/data/rsa_sig.vec
new file mode 100644
index 000000000..a5420fc33
--- /dev/null
+++ b/src/tests/data/rsa_sig.vec
@@ -0,0 +1,800 @@
+
+Padding = EMSA1(SHA-1)
+E = 5
+P = 29325971601394553435876545177861015867159370596202565748032715224855053574888335295064118595233157878850644746476053
+Q = 36340726116985810749584556273749590346658800038386619768155308882211829358443758608966414537457415767576889158645019
+Msg = 4161436445664768496A4B
+Signature = 3A3B7502D85F05128CFB74608205031339753DA50D0DB7E268C3951F04A1981EDE22613BFC38DB9FFEBE183A4F11B0B0F8D7BEB668F7C1C385A801C2DDD7C08CB2E56082F80AD1105E930ED96DB6A0309639A51F5379B682C7F75C601BD4ADE5
+
+Padding = EMSA1(SHA-1)
+E = 79
+P = 12623509009920451943188704532558549088394176932350155718346677596667742587560163977859877379200333095446158075633025630956096613873547787137410366502605473
+Q = 10058994615186918965498012083239602676614988922192055472853974106579876551963188584799215667527538830845937432743673569788902953125963992649722735254207979
+Msg = 447564652C2077686572652773206D79206361723F
+Signature = AD50D554C24FDE2B4D312C64D17B25F471C32CF76E54430BE37CAD31E6C961C34957AB1B4D1D2AC6782B4A979118CF7FE58BA40FB0900C2C2F5BFF26134C9489136EC16EFA0E82A9B01F1C6AE744E4D4C4D126FC6466AEBA86353E83D69065ABA220F460AD4AE3AB3083732290FED091D4675864EBA47B0DCB7C858264574360
+
+Padding = EMSA2(SHA-1)
+E = 17
+P = 10002655533675276326522128880559641932370641109150447995603867356727032045040680432848877732167453689694822248994651490544213986150493848856123611098294339
+Q = 12005330954562639995221894882003776938159599218137691173964065786708881184324553451214616695634579231141110098304810361965328707486525561932025199747497107
+Msg = 447564652C2077686572652773206D79206361723F
+Signature = 4B9BE36BE0AAACC62FFA857A34D8032BE865C0D757C7A7827AD5D5C6DF6C5FD6FD32A2EB0E851A0D04258FDBB94849CA2AD78FFA2CCC56070219B8AC198D0F98165956D027A6D0325619B8C1458F01EC6A34DA517D89F3F3046AED0F169A2797442FB6E586C6099B7CBE4F07682ACF751E291123AC5DF312088A9D84A54A7D54
+
+Padding = EMSA2(SHA-1)
+E = 3
+P = 11354882100554070846945886900376612381887314805411070198522440388172296396406644529348891872648788416575191510588439520855710095973876911507316156834254673
+Q = 10687737242282843192095607811890713955659800468199268748136459497625221382958514322218211132968287288921196315666568919382108442603024400591730617353751213
+Msg = 616263
+Signature = A6B496F4A802AF9092F1F561931D84DBD0B943EF34C102B94DD51AB01E1054BC0E0572A1FB2DB034569883F382B74E449F6C80C4060FBC0FFBD3A9CA9D66685B90873007D207C1D64C692D0111157BB976A4551E72DDC83C767A9D75A4746C519B73CE52C2BFBD1C3C431D254FE8BB4308FEA486787F239FD2944390DA49DE45
+
+Padding = EMSA2(SHA-224)
+E = 65537
+P = 38742655571027337732590697775562527787685054348073330903082201415142049797052751106915225917602744711420916944587807
+Q = 33427298155532707750203812574326597534760535485859299274616347317226126635675443082765626826520683819004681558425779
+Msg = 7072696F6E636F7270
+Signature = 0EEA6057C2FE9892BE77B7A7E38E00EF2537D4E8EE7F2B856CBD4B29C7B5E38299D02B2A845991C2A8F4AC6BFA5E58A34139716B20CDD27471F549037D07DB76A02C3372AE2FAFDA3BF1414E9BFF71C0DFA03AA0409D62CC9D5FEEAA7B42D52A
+
+Padding = EMSA2(SHA-224)
+E = 65537
+P = 11214790861004342822506118878814784785917107288703472067327212998370774850005382865710114237083092526164901137786001727279475242636900431653154293583787661
+Q = 11768251918108231511863695124801091673207253889872064192248972175890689639293691357404865738963709684551575951535362217841167719004542508270414639952738357
+Msg = 7072696F6E636F7270
+Signature = A10AD2439FA7F9638298CAD2E8BD18830A580555F0D0A71CB2DAAB2392ED61FB6C3659FA706D434C7F373761165580D9E3B4B72423AE3C27F71C53DE3DD812BB064C3F52A86C2C5E42BA10BAF4C90E2064D988B56C59186B48D16B151FFDA0859FE41C585D388884EBF6B2E570A69F5EF5B5D96E005BF353076662F7697DEA3A
+
+Padding = EMSA2(SHA-224)
+E = 65537
+P = 11927147185250531206987241706428012001438427688835269930657010265855292253406995277006096717210427278224966416052253284496721639239568141610954375253320707
+Q = 10836458460108962062993235628889331808256805788287588018158928377261570112701766305689178952411665100022906302213864907659310729201014252881563934382899713
+Msg = 7072696F6E636F7270
+Signature = 85EFECF3B1EEB4386A61AA4AB0D0A4335F64C56C24C258AECEE4CA8547638F52858FFB7842EA399E3EC97C882891E9B52A76D3A4B76BBB843D6165EF06181BC887B342900C0EDFD42EC355967AD052A76A760EF2130499A24FD9A059C79C334C586AB44C400278C5DEA17BFA9CC5127CBF392DC74B65458627A34437A8AE9FDE
+
+Padding = EMSA2(SHA-224)
+E = 65537
+P = 1516810177539519585301330717684777752482359812340022580381674009725742724820762577664930613278162722103182359451964232072207143816619390658527862564418379901293650987439888615814359093369248021600858013452909163099144615858632738967
+Q = 1493161983989237875032350952962770123912178537458211274114724378655283242413761932100230574082012556870216386204976993005824967598672396017415429903010202357020450400323637777331010081324783170783016718161385756969922786209178767457
+Msg = 7072696F6E636F7270
+Signature = 7F721D5DD07950287F217BC11C130E32567BD45E538A1FAD278CF25A66150448B486BCDBFC4AD3FB81A4EFC7E6081DC6613982940D1149C514AF67351B9E096C8977B5F9776BFEC7CD70C56C666C49BFE9618F4ACF281F6CFC3B2F5B91BD7CE3DBBE643EF0B5BE9CB133CD3C22A2355CE87B10E538A4AD3A098CC7E7125409765F22B5D78D5F3F0603EE6721C68C2D5F22C84B7714067BDF28B82091CD1B9943F9D619F501F5C0D418425B63AB2BE2DB5A43BF8455E6ADB7B60C86C606699D69
+
+Padding = EMSA2(SHA-256)
+E = 65537
+P = 36900438017424661513776212904206040445069678275252812845498873915150944630262472896392696742072655445587132877805751
+Q = 31093761722620297310575360505968760824752648930872832945782295003888632578706451997446499334789184230648525221335179
+Msg = 7072696F6E636F7270
+Signature = 38FBB52FF41301D176F11DD6A536AEC2161DD783C455556CCFD51468292C8C68AEE955EE4947DFCE5D090A5DC81A7ED925623DE7C52A4872303002CD89A7A63798F29D13337274AE0F59886A62EE58FDF73CFA29DD7B1BF4CA8A23B803B68E67
+
+Padding = EMSA2(SHA-256)
+E = 65537
+P = 10732389574817401806637686712161900114928972500215979222308570112587692145162015022684003335540509041586909242055958940177920989586889270041600055471282943
+Q = 10769364274008399181732148993301462059651684437607442862712318378134077080555690235928579640575611566791696227797400720228812659174026533784108358550035787
+Msg = 7072696F6E636F7270
+Signature = 1891F9604BC85FCE085AEC5C8221D0E06119A5B1E1D399764CEF9BC732F01A3C4A29D31FEA4972EFCFA749A900CC8FD1238EAA90B7B04F0A092BBC90E5C01B5B6F7022193290CD2237F6509F84150D542842BA98157D1C69C067DB357F52013632F6961533D7672D05394E76C219EF532ED1BBAD1A5AC7AF5A0CE36C1173A8E1
+
+Padding = EMSA2(SHA-256)
+E = 65537
+P = 10690382382368032875579095382645347750341732642602000986206771425073053009539096711057580462525647610059311660787427236189391663589206723284390279824133633
+Q = 12465063692198957247771393717588965337498133363400712536396235545873826015792546875726509525466012204938021910914284755118206924338864529489571179583908461
+Msg = 7072696F6E636F7270
+Signature = 86E1AAF65A3C352A514148D8C3B8CBB77E7C59CF001E2AA7850CBBB703D2684160A362ACE39871EA60207044F9E266FF9BEC03E647E0A30B74CF24B45161619F1DBDDE0FEF6B491337EE2D66BF2E9E5B5BB8E4C568D580C8584DBD4F758194523A34218631978DAF8BF8364D6C4399063DCBE866029E6418F4D0BE384B66AF19
+
+Padding = EMSA2(SHA-256)
+E = 65537
+P = 1414073567114035614599519009667852352119591928203783230535378386566111017682164209943651582776933751686957932978385945440908660908405210644986463345054864787210924210285212935312701273765554022043880049502358394925180144264624455209
+Q = 1270884860370894871136235405295670217179772083043995301293906130441676478739615259391136504018465670216723544700486039526986593146533123495228829286866064748331069638992550428012741729185283097805630542778324497745982213828342372279
+Msg = 7072696F6E636F7270
+Signature = AB183E642A3A50775FE8F158DE2085CF02C1F78A55DAD193D1F0F68DE45BCF8AE6812CCB81D476C27D4ECF63D9F1D9E9C5EEFA269CE214AF5A8FF24D933DABAEC2080491DA4BBB9654473C06A6BAE99095C247515611B5A45D0E02E8AED9D708D20E823288D5761ECF80AC72D307260B94437474923AA53D34058147709CA35105B98C7039D1ADD75F0E38FEAE7E3121331937C0A013991776987522E43AC1072182C98BFA3D28940D03B0CF0533E41A42DC574A835BC57D77396B43D4A007A4
+
+Padding = EMSA2(SHA-384)
+E = 65537
+P = 34290111644017464246476261017124406752239127307866392601052842903987872756111263040683814291774168790526863157190441
+Q = 32373321219780996775202420673396049060814782471232760490462150501000305150218442890517454747053021887704908949557013
+Msg = 7072696F6E636F7270
+Signature = 36495268E4297C9F416915F3F9057C1B772FE6ED204995A2C30FBBDADEF3CDCF38420E3A110141BCC8BDD06F688B139E6D8BE97CF3201E48585B4391CE9CF2ADB91B5C20991B2AFC5C6A6F5E845E055971631E066391D962FB265FF3D90F3530
+
+Padding = EMSA2(SHA-384)
+E = 65537
+P = 13213155532871956710809229620859561347906079336449188923833354883861052067311866160332716570637188316306626222911970163016385067614222699697090437238562711
+Q = 12185156278018102975447783982153530451807680551726018411071351165113119244051458368868894422374103672897189920999528719181936818289310742199446421617088921
+Msg = 7072696F6E636F7270
+Signature = 09EFAA53EBF1FA0A23B84EA68DC7292F235C7F2A2EB555FC85F73A11A7A3785AF4284BE98840A4F6D289647B04FAC1D867EE0EFD1E95E060FE4D2D766D11B03E678607E474621A0F521213914600977E8F3F31FB0E678D1C79079ECF39F5EC6FD2F62480C0C3F1DCEE06139ED661B33A32CCD1B213F7557F6CF87A0425BBE88C
+
+Padding = EMSA2(SHA-384)
+E = 65537
+P = 12952742658236652615348661349246884821752599711563809314432328674968095150316884243716297973397616286897162089776315412332947992701095291901851152930362821
+Q = 9830505301525797220711630419142003334791877337080642109589443464252360756034303307099848548291752308175110195029200931063137060871894680408049462326517033
+Msg = 7072696F6E636F7270
+Signature = 858691CD4D14CD74841AEA3CF1564734D939CB7D8B4341BA1F74D88FDA993761AA5D850B258BDBEB228BECCC0F6B6C0EF96A3DEDC43A7078BF05D9FF4EA0224184572DEB43D77F0C9162CE69192EE3E50402579317B56838AEAC091369F216F19D271E7141149F1A5760071A65F08515D7226336C9C5EA6CF35691B1C92451C4
+
+Padding = EMSA2(SHA-384)
+E = 65537
+P = 1496095022899443806644540526469585838063915622587527932399222478039240464518682521467290188589439685495049363264071340579959570216575584443701932226942022311826188618174882121293794043011152239566530964931439147137098511748641151303
+Q = 1472283917569855432213111541685536987891552375642799084362818565904526275910010360079491316063471371578362830703201009076277230977991342215489595776129268725287500669150636519486708584629905320052183034866908758819712406192489818079
+Msg = 7072696F6E636F7270
+Signature = 9A399CE7D50ECA7184290BE01D43FF7D570F0A2232D385182AA068EA0FB097691C197B25ADF909397CC0648AE74029DA3477DB95CA4F3328E5E4CDA4A4BC67BF1D34020C8D9AA24B56861B036592D207026CFE4AA04B0B2ABDEF3911320D948776304FA648B60A18F7D07018804476E904213D09B1E99C31E66A8F37B4BBC1A57A753069BF9024C3636AD3690CC1FC1E6DEA4211F5E49F7F1DBE2B94C31C19B0DFFDF41949D1AA6337BDFF1336486FFEF1369C3770C837FA2E1526B93A64CBB2
+
+Padding = EMSA2(SHA-512)
+E = 65537
+P = 37476694786555707297177914353871207560156025277069749252132005756365596630232190444029611516538177896718501392985821
+Q = 30254230875344623998299155826483344751489824106839975499429661968183354399662224725617681048222653377712768414144341
+Msg = 7072696F6E636F7270
+Signature = 7F175F5E66601757E1B0ABC051602FDAE2B652B69B551BB35F8C6B295F580DD0D27360E91B8D53184D3E1C1606690ED84EFB9C2A5122936BB94C4ED7FA49D40195508499FB87249BC1FE07DAB217970EAAB46809BC6925D3AE54ECF6F62E76A9
+
+Padding = EMSA2(SHA-512)
+E = 65537
+P = 11691612764489083516866735827418350400523918209738573349053358794166200372698431579590337273059283212578170510315136198319332779613574089694096022693040221
+Q = 13326070037543981344788456214595684331432839912109235938437141575579469154548391328746138452903396979201386956607520330145333474531715616884370806349832189
+Msg = 7072696F6E636F7270
+Signature = 786C58FA17D5A5A5B411B0A85F3306062D27978B84C9ACCFA79665E1C951AFB2746CD0FF036160BCCCBAAB15E7848E8E8582168804B0520867AA15F44456B018051AB290C9FE72AA121E5A1CF88B761C9F73B81F329B76DD2A4FF2A7F7905418B3343136C524089D368948CB9223A2FBD35C14A3B994BAA333F5CFD60BCF47B8
+
+Padding = EMSA2(SHA-512)
+E = 65537
+P = 13208995026411542755984756221491120571432270306172384187506730690656429235850903578554598991580466562304863043882628875497025730933229435976102274733934589
+Q = 12676614920243943028593686318019785566853821184472305644278400797455015985983346273102494277756998071370962956022149553658212324260317038787749226922754481
+Msg = 7072696F6E636F7270
+Signature = 8DC903239378EA69E965121FD519C85D1D136D67126626EA93A31EA3706410E420984A6443AC8731AEC98BA412CF4E2B39F2BE7308065F7BABAA15D25E126C996D7244D499C5E907B58441426A407F001F62AAEC4274EF84AAD979FE504B05E277CD1B06A74DBB838EB7A20DC34D19B2CAB5206351AF53BB968651CA4116F54B
+
+Padding = EMSA2(SHA-512)
+E = 65537
+P = 1338196225967835515327683287337059307394012807140804470661081631567228866932117740832973828845391999092031094073649283558772582900517601774827371480903034647511795785694845439715519131501416899208199884923718317285623052073623919109
+Q = 1230750235930523558307236321284100548115636187714970826267882300302842003242893725006489197235484585035369839291739102285556872873017481732423196316497798817770846788336723752577834182175286170699419893169642033901972265672269798991
+Msg = 7072696F6E636F7270
+Signature = 3697C05A657A8904C792E750515BCB11751D2D4C4C1460FA6055A10A2C5F2320CFF2D82C0CF086E2E213CF5C4A4BE890F5C0A9F98789710646A500DA83333AE1CC6A24E99167B97B7E7EC06FDC789037DF23F6FD1608695643C7D7C6462A0B37AD926FCA364A826DE539CC89419C99397C7FA1F1CD244B0C7D3C27E77B6A4D4806E749B1291A23F8F3E6873BC8DE349F871530AE11CF4EC42E27B6E3BACAA3DD6A40AE51463EDE39B510E94F0A177328F868C91B5C35F13AF0FEF0AA4AD88B4D
+
+Padding = EMSA2(RIPEMD-128)
+E = 65537
+P = 30591693737094154398644675106263504379403477948171972807479302421847529767632977161255649292854912675261964092642711
+Q = 31525024883528724188040731298623782591495821826748348507751579753638841973946458485234899643279818175890294937993923
+Msg = 7072696F6E636F7270
+Signature = 63F9A46002EEDF74A3B21A58AF360C78A0389A6FA469CC6C7F3F37B9298CB666C59CF993CD3EE741C8D6896F61135D2223C3D02B0AE001DF8EC270968F8E999FFD7575F437747E2C0B4181EB3ACFE51ADAD24924D75E86EFA2DF4531FFD1A718
+
+Padding = EMSA2(RIPEMD-128)
+E = 65537
+P = 11368704817493700936626798101362768879783044260988520494361719476728922843998377669065479558745853594969303776632392636949534709425028326966830332407456469
+Q = 9684487867711295418823781796724517181902035719252962858645278138706345583963475964914903197851100677565676778379867627016873935743015879344315952280921497
+Msg = 7072696F6E636F7270
+Signature = 38CDF4F149F7CAE46ECC24C32F98F30A73DA6B57F0281009493CBCCEE2B902F66DCCCFDEBB1422992BBB4D62030D24FF6674C27163CE4015A3BC899CFE6A01ACC06A7E0CC36754ABFAD8D19F5E7372747557FC9B2F5F8F19563F33AFD0D4E3CAF639657922468457E44032E72E865517E095B728E8ED3169D37B45374E53D692
+
+Padding = EMSA2(RIPEMD-128)
+E = 65537
+P = 10956194440658320049047729680960152925819370311069301949033136303301068775619599159427539489120149146834377875796551819542266815993042087568426345655131063
+Q = 11986780240363843518427773639089419606869264001112076030161437852470908569084952935419795370924750564016439000250807088636901980967687072395457882311344897
+Msg = 7072696F6E636F7270
+Signature = 9CC6743EA34FB010B0B64975E37CF4C90BEDC063B9CA90F543CCA616C67D16A8EA0883DCAE11FBA595CA8D42F45DA84532E8173149A55196D01E45588FF372A1D95DEBC58353B3892810F43F58A935E85AFF87B46BCB77C6176422E887BA3671F44BD6112DB0E4A56B44BBED76EFDB01B079C43FE9AD593E65162C9FDB92B42A
+
+Padding = EMSA2(RIPEMD-128)
+E = 65537
+P = 1493081647698257945592425302627367854663037689833333929117233432578015307914302171317912605123690754688685850444755947537141942728014076444513969199742840661797737512811613534281996660649365617513329258624026915628665059410835817137
+Q = 1434999624111100962071127937019397971456655559334726656774903057601210861257928542953329948471592610705125168742255043941163545301111407190719456116794170236473765293978010431337821276552432801148592363931604509551245440889306772481
+Msg = 7072696F6E636F7270
+Signature = 3D2E76A438D4B927C4578B27EAAD666CC041D4495A14A462A530BC81AF115D961C4CF840E9B146C83BE619E9D7730ACC4589DC17665CB4B10A19E021BF4E5BD0F7A1CAF720BC4677B809F6E2BD6A15B94590A5DA3F03E83D819B1A429F22D595D2D042468EF602944508915C88480AAE928ABA32B4CC8FB4C7125496623912FCEBFF28D8DB33CAF008AB6B7195019DF8BAC96E23238EA8EC60D1C9527D91EC4018AA23A50B8B3998BB70006EC441334C1301D0A47C160FCE995A14831A737681
+
+Padding = EMSA2(RIPEMD-160)
+E = 65537
+P = 33925778159875562458694815508122384232436989268432608178008054088773285675555263909583338719156234691017896174716511
+Q = 31928768699290115217580104651693808267293870535040276334137349936791479211682915717928689548108025065615319966500069
+Msg = 7072696F6E636F7270
+Signature = 3D2F44712403CAD3F07AC10278811EF59DE6441522F323CB3CD1C287B233B5FAC7EC2A3398383FCD4A0AF6E404392707C72B22CA1C503C6FAEE3F3E992AE9D02C38564173CB492C9ED2EAA9664859A06EBCAC73836DC80F7282D604A43B41BDE
+
+Padding = EMSA2(RIPEMD-160)
+E = 65537
+P = 10681623795147072587053027475359572444943548375054652906343105969497961014724114293460791653556273861724667571868042283680899013569862548384311644556671057
+Q = 12015822310483455235239634990765201859532699855613240093419019830938321918233763222336962993429962389416919708755785144483121300344148848746192876221966673
+Msg = 7072696F6E636F7270
+Signature = A10E2A0C3743B0C8E9C4BA0AC71A60A368E98F0BE67623A22FBBE958FB590A31E2E07B016E55FEDFCC8472F9CA002BC6F0A107FD77E839D77D24E65B48AE6688AA1309C3E8727C62337792DD430FBA8ACBB1B3F730C8D316F66683E13D892EA35E57E145E1F54AA0B786E19561BBB910C4D7997D88852923C5D84DFFC9EF8644
+
+Padding = EMSA2(RIPEMD-160)
+E = 65537
+P = 12351822882290888918456218539373133978735503354715922644743560708378472514830890735731670917163863464256599907112793391676223123404599297741165488503024869
+Q = 11766904710783168539513536529589907136789223174697434763482944816537165900301609658768786148815790268770347357953086231292155512720455372343943953791435263
+Msg = 7072696F6E636F7270
+Signature = 2AAF175A74264765198AFE9556BA61BE30069B909D8D13C31B7EB5051ACCC2BCD80D51C0D04070A7C0BDA0E9C2F88E531D2CD0B27DABA850AD37F7B7390914AB1E40EA4C27F700D91C6F17D177FACBD439A98CA75CD8B4D1DEC88A975A03C9727A75815A47909D490920CD9C9A7C7E1FBE63F7BA724F4985B84C283176E0A28E
+
+Padding = EMSA2(RIPEMD-160)
+E = 65537
+P = 1499776769820164661720270213001575952876279152091341596038908785682622179119584524264076668547113668314340469445667002053176362116171707271790199251992652069943488147776404891202756507625631394754713686927107372430689554562176179783
+Q = 1207575106661317856418257614084066098845829109346417040472090905332905253696663718020118533361529845106338373254491724217500133281490864910490557046154217231575724915477802429923401695137792296128382845094046965590817607803668648659
+Msg = 7072696F6E636F7270
+Signature = 86BC93AF170E1C26E10914E9D403FBC6B5CCD3F2B5EF2E2D94118E4DD024A82095EC8B6F71BFF2CF91F0528CF7ACA12F2C74DCBC01D1DBD52A87A369AABE406F62F3FCC975826EAC8F56D3482E2FD396D06F5BB1CFED3EC5B3C08AB318FDE17A7807054BDBE44EB0BDABCCFE3A627569B58EF91FD8BC9E06B2EA40AE55E3C124418D6CD469F8F9552176B0229240660325E452802CEB3A01D7269460AD098FB25A8ABB98F122F3ACB84B7158954DDFFC6FB3EEAF3615877D7BDE533CE8A6A8BA
+
+Padding = EMSA2(Whirlpool)
+E = 65537
+P = 29947977861141250899850358204141043436981128922935572414249070541949309302039598504288894650237262528309132513166331
+Q = 37752607136256522947769517114772757019509564157670668652447888365515650114182146294333882801869084942840587190556251
+Msg = 7072696F6E636F7270
+Signature = 79C185314A87A5518D05B68A26889DA466A04D66497704D8FD0566B263F9FF4250D214B1A27EFD557D79C9EBADF08A6715183D0225D45CA81A643898572B24DAF7FCCA7856F36D0168EE480A89E15836B7235ACF83E75A83628424E7B058A61B
+
+Padding = EMSA2(Whirlpool)
+E = 65537
+P = 10175698379228666150774506438616917100308422399865868307252716163656230024725451206646629669643961215746153174978220919164554032224962258306884437538964883
+Q = 9730493820577523702047295819670681114428223432429279126086889204372240793538883794859009533012783065426248982012644347167106443725448675767019230317571209
+Msg = 7072696F6E636F7270
+Signature = 2B7BB8B433BB6696562290BFE540BAEA1EF89D22DEAE1B5EAC8EE950772D0AADC6234CB598CFA9FB2179AF94D320A177A8468C5AB8EA7AD71A14552001FC4FC578E0A1D1BB5D862B35EFC075E49FB085F3195CB1D332CD07881978BA4729B1B3C180D8D2FDF63D3F7E0E9C6A93B1AB70323BFD3203520F28AF06E1CEE43D6C54
+
+Padding = EMSA2(Whirlpool)
+E = 65537
+P = 11634296686883884530640104219461335769230368243774842268498412764040396779136014101925455282992044359003320731050130697323160988197852577790825454622062877
+Q = 10860202286434899216950782173930690376348674016912571693705892897444210580259616617442548989581977336943534467669951513990216491504507942335237169369691863
+Msg = 7072696F6E636F7270
+Signature = 2402FDCA5051000AAB63E930AEDB1DFF71D8EB1BD0AEF2E9038D62E90849B9890BD5460C8A4B3611C05F967E53F4E789DCDB0A1855BDA841C4DC92056B8B49F8056C5FD2651AD2ABAB6FE8549331912CF0C0142590357964879E5C875143D589B5D7FD5BB210A51EE77F3447092ED2C6BF16FD8935E9A509371CBB790B1AEE32
+
+Padding = EMSA2(Whirlpool)
+E = 65537
+P = 1249966052460181285644355634657456785875165989971610847326413386275162653639596449854996947775921003586204236142526358436157885593962008839873890449699345733185093150655911168918032750954191780384168174874361750036324305597935433861
+Q = 1302197084325114860503571762578878829170827527881096037330701664998121219239361504632978080198138497781777579586991404853883674147659059912687285753739213050937612378438960126169835446607986664267643217894513328249437171134331915421
+Msg = 7072696F6E636F7270
+Signature = 7748BFC3043893FCFBF4CBDD3F9BA00F995DB6183C39777D4545CA57287EDC6D5D6B620AD26EAEA1FE60F4B809831614CC4D78A209BCE6CD712D4D3CC71623962F4EC7FC8519E861206E26AA9B0B6FB1E16D0816E19B00F63E0701189688214FC063CE6835D1007794AE86E23A515C261B54E5F963FC519FD8F4FE26FBBF7A445CA379857CD037753788E1A278F12BE61EB62AB7099FED68E8CA78F2A5D35E873CBEC10B612FCB5A11084AF8D99A85EBB8685D54FA4E4EF5362A421D760346F0
+
+Padding = EMSA3(Raw)
+E = 65537
+P = 12377144646356224624596263554992383162179533087246757961391106833734655490472026997011067052758136539388192903512338816330957435076958184717404692304837563
+Q = 9654381659336904071273083680269262791097161331660286797761753538541043598813985323765139909863025057496380615772065406695744753227554731965415335502792951
+Msg = 3021300906052B0E03021A05000414C26EDACE80B947FCFF75EC4CEC1AF0D1872674A9
+Signature = 0E5FEDDAABCAC45E40ED484C89742408A1225204246EF04BF0F5FC87CF97EBB68EB3911E548240B5528FDA1E1C6D1DFFC2A70480466900FA7524ADEBA694B291CDCDF2560D9D6F70364AECF20F504876AA1DDB8C69897E52DE92A13FD9E4684AD9EB8256A5723B1CCD34D4E552D9E2A5FA8B48FAE13AF7CAE023450D65731DE8
+
+Padding = EMSA3(Raw)
+E = 65537
+P = 17699943356121302118233607435079526847022297885997750099787763703555828385066089411833038353423100938836155597490143053
+Q = 19826633571172214607942110069368216581583552862543704379849517932549732941227829465769515005294350754717865760053739267
+Msg = 3021300906052B0E03021A05000414C26EDACE80B947FCFF75EC4CEC1AF0D1872674A9
+Signature = 01E6EF82D25EE46471883D373869C553A54E0C256968958FBAC41D79C571940E523B96494360EEEEC45DA943F94CE44DDBDFBF141E8F7B251E44EC47B64DDEEE2873C4B78A849242F3377F135EEFC9AD4658061F575516C7B19321A3120D0BB3B11BC7
+
+Padding = EMSA3(Raw)
+E = 65537
+P = 10102291200464255172601221877135905161140769680411173186058445237579345533001840681362155270695169400621673791710178583571477917543379742925120057367880063
+Q = 13251818761749410179384234747632839463427321795839089616607966450575029584418979966311891629938137605648897309184155313972929174701092826293781972937927207
+Msg = 3021300906052B0E03021A05000414C26EDACE80B947FCFF75EC4CEC1AF0D1872674A9
+Signature = B2D322A392288D260F4D0AF6A3412A3F11B97A141367559FE3F2BDEEF208E14F2987E63B5C6A856190B37BE98A36A217AB8E49862427851A2C0E3FBFB8B1A2845A14DF7170B045833A8B2CC663F481432E9B4B72E1AF141ACFF368C8DEEFECDBB35598BD5B815C3B26BB496BCEFE5CA308D56AF870F3D92CCBCC9D3642FEDAD5
+
+Padding = EMSA3(Raw)
+E = 65537
+P = 11863574151841645121301415877438334947517760762684043570592952690667149577625920055630213981216159572642785184034757164554812640963831165922903998054563867
+Q = 9817764775702978000699023606280662852733008137031492625993585955328395052748704568985204014798286479837482638252419941598815373456272692379677193053312029
+Msg = 3021300906052B0E03021A05000414C26EDACE80B947FCFF75EC4CEC1AF0D1872674A9
+Signature = 5D71634BD519BF992AC97451C3BD856735498D963A37FD4E5F36E4611EAC7002CE762607EFAA8A50FE0A054084E5DA46B99AC242733444087F94D7EF0FE1B0297EAFE035D13B4AE75BEF37B5BCDB2F38C2216320351E09D277B3D6AAE701236550EA44B8AFB6A75B21721CA5C780DEE262440728A245036385CF917310DA42D6
+
+Padding = EMSA3(Raw)
+E = 65537
+P = 1422064891756056272868071850854138550958747901117148299885823769659499056545577782040579846214974477700743029489106099274272480285263745930122128288770185488323618039679372315001850671777794638716832373749899985679638124073237081603
+Q = 1300628500736091066469357724169131719350514861299470388096939255066412050709233427616968626428593634705346577805388370355000102457363511590933692484313315541407002266425280856998283235828574817936622468549120250213614058588223640999
+Msg = 2C88F626457046190AEB16FF2A499DF5820240A5248074445B2D54DDF0C298F57BFF
+Signature = 0EB5DC0D319B97F56F1C71E381BC26F40012054BB9A597484946955886F83333D21E916D60C3FB667869383CF9AAF6C0A98641ECECCB9F3BD71943696A78609E6324386B2030D2B2DEF1692677E205282617AA40EBAEB48C86B884CF51884BC807BE2D7C83AE3C671DB24E141B76646F0466B0DBFF20362991D465F7A0F7B4324E54092A742E0FE4C66A200AF324706B7D1BDE1C0371AB5FAFD58EBDE5555D24DECF399553C94E45A3E5B3F491BEF76EA9B08C41C2F233F13F83C99D6D88EDAD
+
+Padding = EMSA3(MD2)
+E = 65537
+P = 23443439767333138692938389505422341860387525814723848738690073331642118819681
+Q = 23234950162188993388155927630085331316851060055334470382368804331834850828939
+Msg = 45766572796F6E65206765747320467269646179206F66662E
+Signature = 05FA6A812FC7DF8BF4F2542509E03E846E11B9C620BE2009EFB440EFBCC669216994AC04F341B57D05202D428FB2A27B5C77DFD9B15BFC3D559353503410C1E1
+
+Padding = EMSA3(MD5)
+E = 17
+P = 13029564622157791280616891297384459345543528892729268050647908228725108502227809382105716872483480064224030258864846430267698903993578412414816903162894041
+Q = 11607519244599001458239888881356890329831441554346650600093035021905318722027819107556373878744770935515508357488960347997325733372608114236427580844273703
+Msg = 48074445B2D54DDF0C298F57B61D89EEABEF
+Signature = AA5E96F061E0F6FEAEEDAABA83BEA346BD4129B1F9F8380E8CB1E61860E47DA5262F0A2ADFECE7DBC02A53FFEA0C24EE162ABD8B818D4C125BC8351CCE0FA7C533C18EC7264593C3CB9201A5C0889DBB211CEB659135854C6510F3FE96DFD5A172D1037C4C7B1CFA6BA56529B6C5FAB72754F6518E114CB14F1CF63AD12E3B2A
+
+Padding = EMSA3(MD5)
+E = 65539
+P = 11168521151320677223099520289134966992601683145565112324637158550596009851574902780470217910694744696561366167142428802151936571560468174927200445940567007
+Q = 10816600553880350717053882598790014485729013898038211768326616483120925479644757202271963372888531979499482994517188419156745487931465261875790739449743489
+Msg = C61622A7CA43FAAB319B89079435C5140A43A230FA910398
+Signature = 9B7456766E6BEBD2FA31A294A7D797A7FC221272DB54574324C4B801BA61474C153CA914A4E143F0B3F776CCA3553E2A9BBABC4C4B1ECAEEBC5A2D6D70DF76B6AEA42A9132C166EF7A11EA39C7052189B471EBC8A263382BD9EA1DFE196EDE6F2E92449CFFC569530AD0935389A714581B53BDEE5B73BFF906E55A290E25000F
+
+Padding = EMSA3(MD5)
+E = 5
+P = 41311212887527321296910690083438901468198028425035176153039485803775274600339249686546137105271904468806369569532459946754590481495604261708658552107802377
+Q = 42829447304025485409915772919380166854730012266060668582427765680605609407608485444903654931988417858022487454898986354396591573297070321595151319670379879
+Msg = 2831303238206269742074657374206F6620504B4353233129
+Signature = 0484FEA19814279782BD0732A7A7E29738B2B2DF0D0D2928253921990B4F3908F69B968FAF934C227FAF39BD35DBFD82F1C9BEAE66C4977E3AF69E0567635E18A7D831D5C66A75AD8D80A6BC994EDBBE7D6F7FEC327A1E2055AA81720B33653005C2CE87DF23E4A286D5A3CFF376643B969134C49E6929CC69A23E4137CE9AC719
+
+Padding = EMSA3(MD5)
+E = 7
+P = 56502443330109652012896870230918313280459003062299720262927311511926605991383640715495987844171899211289224946511255965967340402875433794406795487624757349
+Q = 73578537452157693283231642645827270120293041340648216676812169482811807949806959672539137255855767091341745810986440757513442020612487911929786967013604091
+Msg = 2831303239206269742074657374206F6620504B4353233129205075752120
+Signature = 13AB41A8252B19A23ECC3781A7AA969ABF929AA562418750B9347F140F2C6DEEBD760C27F650D403D4BC692B1BB9C99B0A8CB20D75502C3B451AEFE81BB1278E23A4B7F5C3C438064CFC25890F68ED689EC7815F015C018BDCE766EE3A4A153519020BEAEC16F56F5559B8413BF0C4240645D2D8EF69B023639B336F1A2BD2A622
+
+Padding = EMSA3(MD5)
+E = 3
+P = 100105190655880613526906871182857362781101316149110875040056075087834316244830515596846408696768017631747666578303928711549135992557123893901488804437048809
+Q = 87505326188471078453642832214207735276976488958911502452583708791637904447911246482791600127524020386147294087583259280622610769702631671804240507562602451
+Msg = 2831303330206269742074657374206F6620504B4353233129205075752120
+Signature = 0F017BEC0E1206F2F7BD50500898EA57A1E798FBE0D8C66594F85064E1CD7FF6FD528D562667C9B1D75492B83131CB1262906ABD657B3B15871CDE20F871D81DE98CDF6FD87C5753A0A9E8C223BA1F1761273B9BF8756ACBDC0BD7E6E1CDCFAB3C1722F1B3053ED85CE3CAA15A843112788E779E463BBF51BE3B51243CB14E6FF1
+
+Padding = EMSA3(MD5)
+E = 11
+P = 107304626108204522797343576791067207674137385684926834447166228043898744098849309658395882841000638879557805589763538898524768732146465167916348068742644931
+Q = 122898736307782687638032995621837068944394692238271920897962723305458885787013604775683437162169612247714741385692953103776328837938931275692031599018249399
+Msg = 2831303330206269742074657374206F6620504B4353233129205075752120
+Signature = 38DE0D39AECE20C3DA94E1B869C09F04BD22C072B1DB012E986DEEA9E254A5DD5E6A946901EFC92A5EBABE010603125B60FD594A3D974986F58F6FC71447333427B1FDC960512C121E8C81F0354EB956698EEE49A4F989390950B679E03A0B6D964EBA3829C52C989A1ADDAE430D600188F1A215BB306EDFDE6E512E23F113C52C
+
+Padding = EMSA3(MD5)
+E = 5
+P = 142382474831103350965198261039493660182684647144054268115539864228139684454577808385021853875960363034348415466818036752700586059563484330090984730204416497
+Q = 110388045236737901697454183037730543122795238849967531837037661799768634764847803431752698556717108074918915921205421335903511188911570867395478174657786723
+Msg = 2831303331206269742074657374206F6620504B4353233129205075752120
+Signature = 192283FBAF7B9018D464D30A428689046AE3E25A499F8E437096800E09F4883BE72626B9C0B50E982C5D53B6C733CECB6FF5C3CC2958BCE854BE89AA1D166361ADFC0CA4B23D7A5D404B0F75ADE3FB134C965E427233F743925AB36DD45564F07FEC46F424A61977645E0C4D275A2BFB65A403FE14B20210B0CD3ED319C9D31420
+
+Padding = EMSA3(MD5)
+E = 29115
+P = 2248799505770661724938813445456667365329686243722367143419772250218914329308629009399918288741261238283310599222022599278196007356285274958577172760406897390545735372932091739959696921421139673013709008368458594104886834298201355669647542445320664207472693942294906919061844996292955105757838550281946311693400318202697189287295539697390920041505007750105724478313556859907375861309482250947611753957139154639954395831518389550631317305548684782134331825080243557
+Q = 2202246626453634427990543239857045321569536135331564676695302154745101045943787221623965844905956805511657988016271218099723231745952458510284098724054085984249936487583429275220855716776597673378123548112186672956810286728043102750319584617573057937024349744117768217790432698368984584844795326385765843463046872396316170276636851577177665213767991628352853455571735032279994626500671870333710256782439458813563045527296654390106887801396712535561502995976841089
+Msg = FBE8B752A6BEABD3A15EC05046AEA5F90F81052F20E37699
+Signature = B9E0BBF9A5691B53FBAA3098F17A1B31574BD00740B3D9D45F46CFA2C94FD8E7B9EBF34F95D5CCC44096688B67918B1775911C79C56FE4F56783E3293D1F4D7BC75841C53B8A17D17D0976F7529D9A0561BE5F324DF73CBF76C2E23998BC05FABB44F37FA9D68D9257399CA3CC7BAE7E3F49BE111599B240140C51D5FD9FD961B40E685D538B0D320F2CDDC9E443F27592C545A52A581B9C748C18BD6DE658468D627645674D943597B06E6DA782F5AA159B0F5FC8E350A71072587CBD92D4D20B3BA6C218BA6279D51DCD197E19228AE52452345D0E12F0322CC51FA416238714EDF593DDB2908A118B6F8935A85228F1AB5E773A1A423C3BCBA82793752646FAC7E99399F6D522285CA9FED460B6711C042B28D3DC6590CFAA6B5FFE1CFD779D8DCDF3470FAEBECB2EBC67D75FA38EBAF10096CEBDAE5600F246AA4F4EC3A2E432F6FF43909D3E1A70A2887ADE4E2B4EEF1DE747521D34E8EA5F5309C31A5210163B7333E8F769FA00D57DB39E197FD32525AE843CCEB8E3008213E91D9AD2
+
+Padding = EMSA3(MD5)
+E = 28609
+P = 30713721502546792009569437684655791032651902151805416822847877314068941375274504013962324311043883041624133529890476032694779734453859537979153899846313593590617317794011333098807890060286828821229596004698599505923766352810131400037110586886153718420003477006675621862441302731554647471021776938143897868628222196113554006892025930227077136107720909052650406921489756265990721303310168662772063459947852563636145471059151399285507791075760514927822828251320632219315279557919978092832680623597667312892493237476876837938117004459142738095462373380252724125993953065796452197485310867243565620349408625834563894036403
+Q = 32223924283050128517931494104263889474220504057338702132610745949194011162619307345899782844934616030119748960801978988921577436331860329124377174901689014865540805921405518118520895078106856045928071624606062456249102949883605631289382564999409546836927196166450496329570105147124420803999939981354710474652789122596248315518645751157374699392733211803293593169754998821503832901347782186365455553481942027434619452198578715941091622391280282654230559330049736742367719066954095242864262475021751768355533044621313175006422476858038429024171438138216629916058032347601938861615897483466952989228432113728073067833733
+Msg = 42B91186D4E2FDB3AF12017F1E50FB837B66A85E9F380BED
+Signature = 66D7F4CFD58ED769DB35057730F8CD567F4DC0643AA7B058A3C00EF862E798261450789B7DBF1FBDCD326FACB728AD2D919629088331C238FC7330D696C17BC80B5C6A8536735FF14B4E8ECB1C731B97E42F02C5F9CBC44FB8C243AE38AAC12DEFB90D9F33C7B3668BAE8A27B0BEF6195E9AD76CCE0735F6C2A0F12A45C9603CA024238ECE7DC024E85327346091164E652DDE7C5657CBEE1685C48A527CF6C3D3B76ED292E8490CBE2030CAD2687AEA0727540813C3F262BFD5785C0BC7A6F727548EA03ADC2AC1E295F46D9952C0B6C0BD1AEBC96D013799825748E0A57F02908040E755E7CA37B07CB6DC976EDEE64E08DB90D87AF61C00B0502A6C8FF2844D198B3B19F0A0F1460ED2641E73267F8BD6FC5053DC9086551034ECB563ED6C5495A72C89708EAA0618DA075DE5BB465B8B4CCC3248E313941B9C799DE4B5BB0AD1046D839520B51E29E1177FD53B44FD0834DA24A8113D309913FFC6C0FFEC978EF2BA005FBE22BFE5311AD7D1386132391B0D97FFCBF470C417847D9584019AB3DF80B75C7E7E7CC34957DC74FEFA831B389A668B0D7A17DCE93B82A696BC503B468BC698F507DAF9544027541FC7D7C96705FF72ED2FA504BC1FEF7C53552394A4F4AC6BE14DBC761BAEAE84CD00AA304E3437E625F9B9A334EB0D94EEB1CD2E7218E4746A60E4B2C10F80119C93185913DD13911AB4BD8673CC63EAD100
+
+Padding = EMSA3(SHA-1)
+E = 65537
+P = 23443439767333138692938389505422341860387525814723848738690073331642118819681
+Q = 23234950162188993388155927630085331316851060055334470382368804331834850828939
+Msg = 45766572796F6E65206765747320467269646179206F66662E
+Signature = 0610761F95FFD1B8F29DA34212947EC2AA0E358866A722F03CC3C41487ADC604A48FF54F5C6BEDB9FB7BD59F82D6E55D8F3174BA361B2214B2D74E8825E04E81
+
+Padding = EMSA3(SHA-1)
+E = 65537
+P = 97275951885168599140238038120787693449121090243265140997942777398030699928031
+Q = 90733938513086078955986841984824358234035964765276905350626699509098131819443
+Msg = 74657374
+Signature = A7E00CE4391F914D82158D9B732759808E25A1C6383FE87A5199157650D4296CF612E9FF809E686A0AF328238306E79965F6D0138138829D9A1A22764306F6CE
+
+Padding = EMSA3(SHA-1)
+E = 17
+P = 11016163637474066820302390975549886181099228518830768603640648873155204881587104654921145848526585545778089665179260246654794241103772100366027852042282269
+Q = 11467303671973198002966968552401437726088142243869081560317300150520447487950355294881725329031248121968610083485837008554944359981159358914095392843507293
+Msg = 7730307421
+Signature = A372D1D551F9260896C2513932A0828748086C5AAE2E8B5DFADEA3250E9A87483C9DBA5D6F3513202510C2970624C1EFDE858C432DE7E50ADCDC7D639C30AE8D9D3B6E521AAC286D8613223066559148E6B06EFCEF9799541447C468D6B49ABDE9B51B14B34E475B3D04A6747DEB2CCAC5400D1032DD977C0A98D79A74EB38AE
+
+Padding = EMSA3(SHA-1)
+E = 3
+P = 9578903947833638265885301669622256833570742263284023794709048140382722800646670072341694305423268897179927939851783575647402034856714024302214311745639409
+Q = 9650312740088480596837864858144252867783701613394406302461730869237993514195686989668307281184369417481714782998172854683687641043509314364586499964708833
+Msg = E2F47650BAC3A1D9CCDC6753657921E936AEB6EFF779C707
+Signature = 5A7889FB6097AA10EB19E3321EB68B3E7435A0527443031D628796341BBEA838622944405BDBCC2C5AC8374BFE4B7C3AF7AF411C8DE0EA9EDA138EF717CC000CBF58F6545CD370FA3449AADEEE171CC2332F1D16ECA9C541B63BD0961C42A3C5EEBDF807E26C27B9DE6CCDBDB5308F768FA2EAEE7AB314B5755DDA6FD8C98922
+
+Padding = EMSA3(SHA-1)
+E = 7
+P = 16144034743727050546831832169628316925231568215175552041798163456804330937120791998925504149830104557214870627609351722587075941223525342334068971869478111
+Q = 13955862823778441100165552543277032564359947041041995957362507143304868115105227500234767869549036765911800570640813296336752778490714112501713876165449809
+Msg = 948A0A6D4266A31736E4D21B35AFC1CA445EED34243325F5
+Signature = 010EA1CD6D96BBBEB61DBD9C70CE736EEF845B0D27BA07EE618475543F5B5FD8F956A88F1B864E3432A6E735F0E9224456D06664B03A4876E1B3153B92079C66C8FCB0CEDC9C2D9488D8905986342625AE9DF4D2B1C3D5C0AC3969230C3D8A20A65C67416E9DDEC21B6245E2ECA3C89F16B0317605BCDE9F1A46256AF16832FBE8
+
+Padding = EMSA3(SHA-1)
+E = 3
+P = 26051747290618968923464264082462247969991542213090185595633404345207924651358622528559203743860954707853805736919763699299338026033642436479315804428425853
+Q = 26280317426813160368825841472848135098988570783681954000282272491138021774932320682277644731515495071629489308940717426232202095607622532422899188985279769
+Msg = 9B46DD4D670326C11A839BEAF363C9349874852B71C5A201
+Signature = 01960093BE44CB5219ED920E4BACE3CDFC31BDDA56A767BDE821154F69D241E8E45863892060A44D352A6432DC3FC4741AB0FAAE841B92DE7008B5679B6837C78E430E1DD0318C104FAE4F9996F032A92D4506AEB22AF83BF3082746883AB49E77C81679D41FF069CC0A43C0ADDA09B3D200B328B824E4EDF5C7E2A4A59F8051B8
+
+Padding = EMSA3(SHA-1)
+E = 7
+P = 26997945947601534824645912031534336752741628243393360311150643437863423024726644835499058447334803680127885127788191906488771562739354425641343764464617053
+Q = 27779094296209621527287405855390430199275695901267533877524252900503269329956810397905533791869889774496412272498095504626303325321870281923743689794281321
+Msg = 83EB45F909EEEEBEC2E205EDE6BC207FF3A2A260525E7360
+Signature = 02586DDC48C9F8438597A6C4AC61F78D07B0C61816FEAA5D9DD834A6CB340B23B3877FAA840BA56858E6B7818E00C6E5F940CDB95493F1A7786514B521926273AC8091AC065F90D4B8D516D7915D121DC267B4D6A79CFBE8CF05D0460EA65BD6AC0B01BBEB557045393E17661B82E2B979B60ADA61A22BBACF1A3FBE6AAF30FCC4
+
+Padding = EMSA3(SHA-1)
+E = 17
+P = 4504173304054060288974038034960604888275329240260610122529
+Q = 4760351443628736535486765005952819108859317154050053456109
+Msg = 68845691824234716895205753FF
+Signature = 6DF86AF03D8EBB9E1E416FDFE3B0EB1134A43F48B01A23C67B0F24F6CE004821B26236EF605D16935BEDBF3B77A130BD
+
+Padding = EMSA3(SHA-1)
+E = 17
+P = 5302059783871094749166532057672506750267895630491674459879
+Q = 5627102272556795221533693072206792570337194865676608617561
+Msg = 56897071727374FF000100
+Signature = 4DD033341024AADEEF6B8BF6FE342EF0E2A2CAC804E6E25CCFBA4AE924891E00BF454CAAB41FBBF27163815DF9C04582
+
+Padding = EMSA3(SHA-1)
+E = 17
+P = 10688456918242347168952057530328608654007166829427538005772817321211684713745122895180676903686057723602218730490340887346562426634705196969886116533551671
+Q = 12317099050977964889925058247487762348779176472320259995517390962538819986624481038023470521804052151604755535951798769688147039101863976597721493852316281
+Msg = 56897071727374FF0001
+Signature = AFDC022281E69DA16678E3845C6C7575B9DB42200C325D952C8D0855597E441AF79537C6BD105FA5AA72934905A1C23AA4DF8C3147FB18FA83DAE84148A177FFD0A0D00396F38FA3305CF6620416027753B394839C5266011CEE41B0D0782068DE94E01199749C2D1D48D8D4809DB0743CDE6C6D8D77E3857203CFA1D725340B
+
+Padding = EMSA3(SHA-224)
+E = 17
+P = 9758966558755165470389472069713928591013557396972595144169571611858368887161033149801285940784816379567871594502091962693655782287652429809833235706245507
+Q = 12598434076498069053479387212899169946221335037529449058439253324447946057344228633079860425249029396145320651733998005914719062107456392204291912576986529
+Msg = 56897071727374FF0001
+Signature = 9A76D0EDAA507FC833583DC916C1B5DE02795C2922A723835A0AC0089023F081575CBC5D67F0C38BA5B89AE4AC79981D3CD123AC543DEBCBB5882C50D6B6D0B856EC3A7EB7047E1B08AD7B026CE9A5514B674594EE0A612A8D446BD0DCCCF8F7F0F7E470B4CE3756D37D513C459915FFB11EBB9AB94E2D9B8D564AD96F7D779D
+
+Padding = EMSA3(SHA-224)
+E = 17
+P = 165275062281166427869119241289272507031597934229360606001644708185525478681468463208605983647501226993728204483388720213866461997607650355801770765461168512088269322340056017325262835138857912935176296793489324188507063271961542803915017967567707230137097183130776663730038378218451497936798610121138361905437
+Q = 171702619881331992283348313869045011005852750055590074232381993437725041523039844513142534504315649641098351316212060346572041310744328538798852093144310147833770683170419958224929184910351703076744777643716419431719027058584418238949594579648972349234462772302729188655853829142525730391461737802407205727611
+Msg = 56897071727374FF0001
+Signature = 836AB5223C9725BF1AB607BFE7BBD16C465A7A24486C530FEC82CA26A480224F73628BB0D73C053BE7393DF94C41BFFBACF6B0507F39BC68FA235ACD9AF869CB6C264B024B3BED49D18CAC30489A08FCDAA72C7F82C901EBABB08F6B40934529F434E56B4FC29750945818C4342DBD1D2C3128BD9F2816D1E08681AD804CF848EDD8D664746D2B9049EB3303594735DE319D48A9CBE32E5A112215CFFEC73B56030D7112B694EA78CC6E83B95895A2BFE3E970EB020E8861280575A00B7E42C1981E51AB4718E12E3027CC674885679E4F7EA4C31DCBD3B348D53C45D7916C5659B43A4B6906198D7CB248B47349D8093F79B27657979874076A678BB0889697
+
+Padding = EMSA3(SHA-224)
+E = 65537
+P = 12953425976394912429374423754113579628514835529815680554108305816892864384987108132291635182445543728893390175795841005615344413681798441427208974751718239
+Q = 12050531213826593984792671369399566384384636165678418732202708271123516548056832627823188413221768313844798076662781683091277875335417319987183638616676979
+Msg = 56897071727374FF0001
+Signature = 19C615462F91B29EC0543618B706BD4E18B39DE21560DB412A8184903FD2E2894CC2E52F797C5E969599F6D15F7A82904A01AB63F2ACA89B8E34D59775578D9F2C4270876A1D42A0AC8CB6924693445E5843C91913A23C3E0C68ABB5399713DBF93C81C615A0C1CF0E02EDE73DC62460F1B43F542AAE92102DD62AD73012F48E
+
+Padding = EMSA3(SHA-256)
+E = 65537
+P = 28073761027596176818273133531175012766615221786736967452315971872890397800391044593708325054337716710794457780350323
+Q = 28376480946069603139561128774323915552469745784555061415385017851901461037645335422805165977050764493699630122976363
+Msg = 56897071727374FF0001
+Signature = 3147199EEA41E1CBB5175ABC5B3E4B46F377DD5A42F20F89A43B31CB953E92AD92E984B1D9236C676E157828E17D3FBEE4DAADF779E66047019E82CF9E532EC360B33661E5E5BAA44C6DC20A66AE11DC6F9CCD375A9136267D8249FC83A9815D
+
+Padding = EMSA3(SHA-256)
+E = 65537
+P = 12548469512475210662420806214774094620195176907021934303054246379755652472160755374949525613970387188102747009600021261537992707522296421237735925202868631
+Q = 11450843441323910528819022878602392785471371748591881910292094592003031455689735867582381833502112447949779055140516381891027256162967721404737248444058539
+Msg = 56897071727374FF0001
+Signature = 0B68C0B9B359A872FE695EA4731F498EA19613A09E0F1D975A04593B8321755A5E1F94E0404F3541535B6499FDFDC664BC29371B62FE14822E7F25010D7B16D4348D6227F5E8AA16583FB520F25A34170FEF10249B37A77AE25DCC7AC85000AD932B4D39C990E33099ED27C737EA8C3E4C070415A47CC0BD844E0D6EEFEFA88E
+
+Padding = EMSA3(SHA-256)
+E = 65537
+P = 11087054765005800103888948650962983210646931532273854440408926345735168247875396819077559229008685473965803577908759801011160174205126413393370263926349573
+Q = 12716516379304890027860407876068984562873192401106556043555385902644997734347476240343762218381680211618213773352076421869453460584489795774320590078003807
+Msg = 56897071727374FF0005
+Signature = 028A1A0E630CD515EED94B24594C07829F23CFB22EC6DF314E5D24728B1397FFD7FA1EDDA877FDB57CBFE73D41E592740E9251CE704A82372DB15B44D15C1334B79AF6D20A360E8BA354477046912F947D5340D8F110E7A5E64AAC0F895CAD2B35DB85FC7AEEFD28BAE65CF302B99AD84724FD37FB2EB678DB629F75C9C6E40B
+
+Padding = EMSA3(SHA-256)
+E = 65537
+P = 1178406731575038829853726311917412876603908146715375661818876297660960199892505426806499233207846042906264429980426565173334842567409995073865789534084855060992173419987333326602292183641206311445356164316301213150549264990514542587
+Q = 1378320896807534050929301373186662222686458777477196223129892898304364245429282929080520404560743534320183182125184182016454386198259379672329605097467311417711892040868310563187190779760946485400821319749306602303289863477031385851
+Msg = 56897071727374FF0006
+Signature = 71B5015C75ED97DF66BD0FB333AA47DD30412C460F4D82398614033A9569D4ABB02F68D22F4616997559B71D51701F68A6DFBD6429DD768A1B590DFA1A32A25D01272BB983F74C69C48C7664BB727D04489C8446C521637EA72A9BDB833CE59605AE91AF68912E170DA30A77CB9EC44795562F7229353669E1B978AD0D3D6FFEBC2AD021E85BD0A0D34E7AD960F82039BBC25E6D1ACDD2CBDD04EC3B476EB2A329427EA9AA790EAD220A4BE3AEB19C8BF9F6EE1A02D1DA08271F6C87C02F9234
+
+Padding = EMSA3(SHA-384)
+E = 65537
+P = 32971991333271161338505494702878862100489762324072692348588291610239952953209840758320432984708996443247062384208849
+Q = 33062782038247106971088772016040107972245147472391230280971338950516123260148656458931584714467171374545541402157699
+Msg = 56897071727374FF0007
+Signature = 03FDD5B68352FC18CE2388AB9258FC1A1152DFD9F5812F629FDAB0989F6AE97BBCA165072927B366660F836010CACC18081975605DF4D3EFAB865138B519689EB7F7EDB590CB7B82405BDE01054D86C683543B973F21CBE93BFF59042BBDA578
+
+Padding = EMSA3(SHA-384)
+E = 65537
+P = 11921346556469747668289370965376832340910197091992767491365129866812133114772653650577167259045066019842985221007000839049275688169842940636385017225110437
+Q = 10984249058520861025806048049505932236947806107984715113830923739838211464283567306250678571137159662575767869786097865940738982838325899325157498480530771
+Msg = 56897071727374FF0008
+Signature = 991FA0B96B790DB98E66BB84C3D84838D38C1DEB9CDAEBB0CFCBFAF63DDC8870C0255AA4E4052479378D63AD887B48F22A66FDD7559A034EC965C962F13AFB8CAE32A3AC2F505434F1B97FF510F7CB2480ABBB7D509D8EC55F047B7D639992333DAE23FECC4FAD5F9807AC4EC2BA7C085BBC1312A3E4817E004DA7C23732E8F3
+
+Padding = EMSA3(SHA-384)
+E = 65537
+P = 10446191406397802247185870337079102172711041044436099817253264917300370577770336088073490760392100244563071355818919455781466053080964011640432539884209613
+Q = 9981671855683310473214627935539575680984828926898911789598147620419575813140629931654539620050154882690628069842184057619784221531148611557047251607058737
+Msg = 56897071727374FF0009
+Signature = 282DCB360669148813D0CC36AD7C0E6A6933F884C28F55780CE773C1159BC7F8CA99F54B0635D11E41BDBBAFC5BC729268EAA710EF2CA90D961D1F96CF77D5BB50DDEF241DCFC1D3AC570A163D64D1A3261395647191400A11D5EF6B870513ECB8FBE7B13691BA8A5DC6D2FEA1EB73DF82098A9094693975FD3D2E0B49F64EEF
+
+Padding = EMSA3(SHA-384)
+E = 65537
+P = 1510549417854877747825576581081732477700111419938615613983962109662062335330017466956858125080365659309927796925935417755723535731495303933901035999764977863833078372000009310743596462234093697446861626949002711920840605877230757677
+Q = 1458049578283339865423285246477229647780331978350471208882083558016892029486833800393886610593440339895221992399747494918400335844710675420456789057533481159248152868175464119165613815097070691743727137182716423523814454452278800887
+Msg = 56897071727374FF00A0
+Signature = 152485EEA76BADB8B133FF9D2B8F43349E480AB3B882A3229D43B271F43C69279B8662C77BEFCF09F34175897A8BC3FEC48E2B58F418ACBDA52EF5D0322602E3C0C0F20814734A37A754AD9B5FB2B74327786BE568C423698AB88AA0AAE719EB5BA48051A285C0A4F1CEF5798F76943EB5AAC8B129BCDEABE8B7482D75C20160FBCE19829CB825681A63D6AF61041CF0A19B476FF2684AA6A6F9330C36283FF23ECB15FA0F549033C4F8A15BD133219DB07CB730402884D33447013D462C6E70
+
+Padding = EMSA3(SHA-512)
+E = 65537
+P = 39260164823044347049559843214890110455523386170656544785033043140193564144004385280580363620038060286824132528359527
+Q = 36962035243386756345106905450087414296171176744214757742250021657246238205023199468147453436540590274360418434282959
+Msg = 56897071727374FF00A1
+Signature = 945DC6D68E264ED1376D3CF50260B752D2B5DA9B7BF0DB8A8AB4B943C18B9B323CC4AFD35B0210F4D43409FB524839FCAB8F19E781BE1E203E6B0627CBC3C00E278B245178F81C6EC22B00D7C984E667D6003DD904C12165402BAEE44B11BEEC
+
+Padding = EMSA3(SHA-512)
+E = 65537
+P = 9661135950116315539515451640981180869630858345924084493706541309032255383533772898042880372432338001201170776812272367362361290511668336960987074656816001
+Q = 11497512449252464505399480477876115154244266229987766998043719286175927123078537014093376513968469370409306182616815376737311758890618524522046489448455173
+Msg = 56897071727374FF00A2
+Signature = 8A2D5F07061B9EF41748725E734DFA29EB0C2FEBE912FEEFC93227BEC61219A7C0E9B1284E85A8070C1FDAEF50C8E7D1DEBA8FA8DEDE8838F82B856F7250C051847AB885210BBBEF0A989E90FBF5F1B77F57ABFA9E86978BCA1D224693BF62BF3A10E4959E2B2F28A08C900687C293CE27DA9D167A68005469F5CCA3C94DA104
+
+Padding = EMSA3(SHA-512)
+E = 65537
+P = 11076032638188385019848207800165348636110417917130495893852455627578698362638313549065335962389217533557161938635625881541334178828771816365418722734795977
+Q = 12771621871865791371091988344703766235920053814145692802419058648874577926135371462643659361015621494836747573372151872281774079198448234056278606493554209
+Msg = 56897071727374FF00A3
+Signature = 7DF777BCDE5CADEE9CF614723B6102645ABF38E273B6A0ADB5E60EFA49C597600A4D06E835FE868BF6E9576E10699D74EFB08A6376FC817626CD3DF600AD4C6F34D9CC760C862A136BCEA29333240F4BC36BDEE3E4F80F761B85AC1CCBABCBA817F0891F7A6DF06FAEBE2433E3DCF57224314D6D65C20D302EC1CDE1FF59EFE4
+
+Padding = EMSA3(SHA-512)
+E = 65537
+P = 1175299264996447722245899360421432565447183761006496847244045661192372862980712539749387091606803032278966350864422661092332131443948678411382829893199990941227814880161384898392929239336451429269492688256603287672272651007253432749
+Q = 1426989628843661253583640984294540950996140935488691951439282220015602864573764248494097561856713219516277017402292174665406312589729039755902746528895232100768150884804146876822694902032532421820502309406306091978959642797902807539
+Msg = 56897071727374FF00A4
+Signature = 52472933FC6BE8007BC4F7A53AAC7D76DB1205594B4E2CB930DDCDE2E965901ADCE90495AA29EE6ED685975FB8D84CD236207DA6FDEEEE753A68973F767C5D8D453FF329FD90F0699041FB81033A3DF80C5425D83F0FA459C333B0770817E9D6AFE326B2CBD1C1678683431C2BCF2EC8DB9726E1AD41DE56815535F36AC428754733B22B02894720838B318BBFF5FACF5DAEEDB9521B29B30CF6F8D5DCE0997CF5A4432C8C5C4484555F8A07CA71A033548253B7D7A22210A147092BDD64026F
+
+Padding = EMSA3(RIPEMD-160)
+E = 65537
+P = 28810981759281935603985024851811964742087082557770824103731114996318624260496913929540541170306698904278603576145271
+Q = 29294311751277679671079429335930388092172077199880309437831806791152386892298786037164207155956736923997090458669973
+Msg = 56897071727374FF0001
+Signature = 62FE375B0F9F593AC338DF86741169D0393EBA1BFAFF2DDA8B02A34EC08E4847BC83292F7DD1281599EF071497A867BB6C4861790DAFEB5B4174B147082CBB3FDCF278E4643243BF1DE9320739060BFEF4AC92BE9DC12777C1DE9219822FF1FB
+
+Padding = EMSA3(RIPEMD-160)
+E = 65537
+P = 11188055485122325272866867462211364830753736783738611384964124686771289360587823319352667615192874283062587220840821310899874887065873506360398088494408527
+Q = 13065350354571460622289143927808756598365617843953652701226817198123675745335695762211588785754677199731595689072110154288483858200012700984882671888243819
+Msg = 56897071727374FF0001
+Signature = 0E6949B11261FBA40B41E589C155774F7E0A7E901718C2C9ED4C50BC89EE3251F6B16AC403A66CA2A294C13C6C700D07452D948225E9A6857C55004E6ED89E518F4C528A272157F5C038AC64B827725EB0EFF5E19140CABCBF07785D7D8FF3851C77FF60437F2D738FC112378E7AC82BA0B276A5AE141AF41540333C286EA170
+
+Padding = EMSA3(RIPEMD-160)
+E = 65537
+P = 12258456531968539845158924415511460871891866365110065980017448161060846588851600545657318428515354542127798147493409152368592619747771655194252705368509059
+Q = 9594582446351128346795867126404821944392833125013793260900469971672174859993373867759343753539681207422054034324225270399949789784413918079209800412363077
+Msg = 56897071727374FF0001
+Signature = 435DD05DDB3322C402751D5C3B9E7DD9B27CA5E995C79A40C9C888C6CC97930F3F5BE4CF5E4433B65D73AF28DD123FA6048B34BCFF6E79829CA6A502F5E613A165E3820730997C31E8897BA183921AAEC105FF5CCD7F28FF480B0E663B904C9548300B75A5946334A1F9A8AF34E54E60A3E01E6DB3C2D7BF7F20244BF7FC5C2D
+
+Padding = EMSA3(RIPEMD-160)
+E = 65537
+P = 1332414773462244345287452808343335233085319446006195144197509760072289459257240880605326415066992615354347362012923882740319578634383514958531290919338694117135874729396074367358963312366961122024761221913384789492569888218889897849
+Q = 1314795837618713069258674746380422189419344375600466758282785046440835994844973589678451612271662103698299114978842599413683589951215453704525546244803395931336492951115264695075210241119805463884289097491701511590073665198187932849
+Msg = 56897071727374FF0001
+Signature = 7ACE3D8BF8C940BEF17B76A53DEF9EA42E63D3576A7A3CE873FC46B584592C082C2D242DCE37A8065E623556004140A2D403B424415ABB6850F950C121051DA747934444C5AC065D457740D6DBC984FB0D1660F3C8E43DBCB19A09675C14788B3847159E92A19C9C60E1727B159D386E75DF3EFFF853C94E4826CEB185071A2B16C6047B21DE8E0A0394B934435C96548644FA0514390B7EE6C61244789B52FC0FBFFBCA8BE54B6C3D01EA14F2E0E086DE8657F02A4F3513F21930A5A5F53C47
+
+Padding = EMSA3(Tiger)
+E = 65537
+P = 32631492140153322637585648564563279120918521201288665579705656902595827172687842562885397479939005094102333506611817
+Q = 39162724656922322351082077025123484322639781910080179352369911199916517553165320253263971785803972536077240149541431
+Msg = 56897071727374FF0001
+Signature = 3F0C903F6AC0AF457FB343220D55C7DC8F365D3BAEDE8710E17142F0FB3706017CFA31EB0139A2A83F9F9A4EAB10471511AEBB2950EE163F86A9B28EC43B0883D2B9DBF13837DF288DDFB3845B143532B84BF275C356FC05D9EBD77749C960BE
+
+Padding = EMSA3(Tiger)
+E = 65537
+P = 12158654678169091650490415669116684328906635803580218958206112297098327411035340897063717752690747310459184926298636024603487949254717361395603397645587051
+Q = 10249092300045023519002601220673737919279626089680327379914024204585346713441242098019215182953625015242094757934588033693064852013617202932837905787954459
+Msg = 56897071727374FF0001
+Signature = 62078993638B876ED29AB7F0B8649D23EA17C96A1F595BC1F3CBD82E49A65EC58A502B4669B14C838CE9DF16C0931D797CAD9C7F03518DC48E7D0F7FFF383CADBED76AB47137CE134788E2A2F6A64B84C69036C26D767B58D54E1430CEF5F9462719491C57DF4EAFA6D1644C040B9D5F25EC794625D3FED8977FE3F4FD23F5F0
+
+Padding = EMSA3(Tiger)
+E = 65537
+P = 11971544123366343666684354853406327812514675062345667572164032146593763260364820773415289066744017135855986720089591529330424839669640161061809626823413973
+Q = 9720074001403023247443092491064384798772672002666476838855362128057218690708080905133082220041439945136451759042300373227795429236658029401312890694089287
+Msg = 56897071727374FF0001
+Signature = A1B330515B11D08A3B35FD60C48C07A524AC4230D7AE83FA8ED838590AEC2AE80C44D099D665C14BDF5984003C102555B82F6E65C68B304D22847E74C3676391E91BC7194742109237376448E72CCAEE1686E2F12A0D46E81DA7C1AC8E401835D19345ECDE4886F427A93B447916DE746D9988D5B0EB54C49F2F6647E77BDCA2
+
+Padding = EMSA3(Tiger)
+E = 65537
+P = 1167421701870821515413433195830529422760643355648210574275955577563504995018282395144285922008056560280441363824762060206459194962811346217758801875469823173373950550783029605967491860108483744807232730730782621906868510926852332267
+Q = 1317361364859314272965882511506015740905998703892518529440770677694975987162437790709368319674657443319522624967086315303391931706721950737251287996496863199426001799963290391769674180019130691453745657498922402120734449103407001553
+Msg = 56897071727374FF0001
+Signature = 99B2E121ED6D820EB555EBB5A6C2A928184EAE6D7AA0132E036414D5C2B041B7C0F44D9AF89556050CE96B077CD3C11165C0B55E5B5A345212E2A3A6DDA1E04391054C9EAD2397586254A0323DE007E6280780A9888B8BA698462C468B6D2FD345D8755898A1C82AC326D91602759166344D24590FD8D8D8C76F2AABBEFBCDE24B047178F610F5520862FA5F4D0C7CEE698C207E88B219A553DBE1C68D270BA2D4B1E3353E88BE249A3A1D4593153976B0A0E09AF561711600D616BF1BE8AD57
+
+Padding = EMSA4(SHA-1)
+E = 0x010001
+P = 0xE7E8942720A877517273A356053EA2A1BC0C94AA72D55C6E86296B2DFC967948C0A72CBCCCA7EACB35706E09A1DF55A1535BD9B3CC34160B3B6DCD3EDA8E6443
+Q = 0xB69DCA1CF7D4D7EC81E75B90FCCA874ABCDE123FD2700180AA90479B6E48DE8D67ED24F9F19D85BA275874F542CD20DC723E6963364A1F9425452B269A6799FD
+Msg = CDC87DA223D786DF3B45E0BBBC721326D1EE2AF806CC315475CC6F0D9C66E1B62371D45CE2392E1AC92844C310102F156A0D8D52C1F4C40BA3AA65095786CB769757A6563BA958FED0BCC984E8B517A3D5F515B23B8A41E74AA867693F90DFB061A6E86DFAAEE64472C00E5F20945729CBEBE77F06CE78E08F4098FBA41F9D6193C0317E8B60D4B6084ACB42D29E3808A3BC372D85E331170FCBF7CC72D0B71C296648B3A4D10F416295D0807AA625CAB2744FD9EA8FD223C42537029828BD16BE02546F130FD2E33B936D2676E08AED1B73318B750A0167D0
+Nonce = DEE959C7E06411361420FF80185ED57F3E6776AF
+Signature = 9074308FB598E9701B2294388E52F971FAAC2B60A5145AF185DF5287B5ED2887E57CE7FD44DC8634E407C8E0E4360BC226F3EC227F9D9E54638E8D31F5051215DF6EBB9C2F9579AA77598A38F914B5B9C1BD83C4E2F9F382A0D0AA3542FFEE65984A601BC69EB28DEB27DCA12C82C2D4C3F66CD500F1FF2B994D8A4E30CBB33C
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 12146034249554145542967338889878776764939246364802861330861080201238096926804104003153442046392435544402345620344102051987796266798293816215528466432287811
+Q = 9564395117825677551724771409358234023229478264512493437902803500827457520617460086946869608799255872545145014212820989813822296572301340377134455614577149
+Msg = 10AAE9A0AB0B595D0841207B700D48D75FAEDDE3B775CD6B4CC88AE06E4694EC74BA18F8520D4F5EA69CBBE7CC2BEBA43EFDC10215AC4EB32DC302A1F53DC6C4352267E7936CFEBF7C8D67035784A3909FA859C7B7B59B8E39C5C2349F1886B705A30267D402F7486AB4F58CAD5D69ADB17AB8CD0CE1CAF5025AF4AE24B1FB8794C6070CC09A51E2F9911311E3877D0044C71C57A993395008806B723AC38373D395481818528C1E7053739282053529510E935CD0FA77B8FA53CC2D474BD4FB3CC5C672D6FFDC90A00F9848712C4BCFE46C60573659B11E6457E861F0F604B6138D144F8CE4E2DA73
+Nonce = A8AB69DD801F0074C2A1FC60649836C616D99681
+Signature = 2A34F6125E1F6B0BF971E84FBD41C632BE8F2C2ACE7DE8B6926E31FF93E9AF987FBC06E51E9BE14F5198F91F3F953BD67DA60A9DF59764C3DC0FE08E1CBEF0B75F868D10AD3FBA749FEF59FB6DAC46A0D6E504369331586F58E4628F39AA278982543BC0EEB537DC61958019B394FB273F215858A0A01AC4D650B955C67F4C58
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 10972281733721469524084771549551785620979339676894970406797556170887325088723362684594505739512627631033120507767556741232087880262332653543240135472549739
+Q = 10414531519564479866584671841927244673773564454190580684485065625568372711876795366773126934682192430160377469095257414145433715697256731767977580401016623
+Msg = 859EEF2FD78ACA00308BDC471193BF55BF9D78DB8F8A672B484634F3C9C26E6478AE10260FE0DD8C082E53A5293AF2173CD50C6D5D354FEBF78B26021C25C02712E78CD4694C9F469777E451E7F8E9E04CD3739C6BBFEDAE487FB55644E9CA74FF77A53CB729802F6ED4A5FFA8BA159890FC
+Nonce = E3B5D5D002C1BCE50C2B65EF88A188D83BCE7E61
+Signature = 8DAA627D3DE7595D63056C7EC659E54406F10610128BAAE821C8B2A0F3936D54DC3BDCE46689F6B7951BB18E840542769718D5715D210D85EFBB596192032C42BE4C29972C856275EB6D5A45F05F51876FC6743DEDDD28CAEC9BB30EA99E02C3488269604FE497F74CCD7C7FCA1671897123CBD30DEF5D54A2B5536AD90A747E
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 12146034249554145542967338889878776764939246364802861330861080201238096926804104003153442046392435544402345620344102051987796266798293816215528466432287811
+Q = 9564395117825677551724771409358234023229478264512493437902803500827457520617460086946869608799255872545145014212820989813822296572301340377134455614577149
+Msg = BC656747FA9EAFB3F0
+Nonce = 056F00985DE14D8EF5CEA9E82F8C27BEF720335E
+Signature = 4609793B23E9D09362DC21BB47DA0B4F3A7622649A47D464019B9AEAFE53359C178C91CD58BA6BCB78BE0346A7BC637F4B873D4BAB38EE661F199634C547A1AD8442E03DA015B136E543F7AB07C0C13E4225B8DE8CCE25D4F6EB8400F81F7E1833B7EE6E334D370964CA79FDB872B4D75223B5EEB08101591FB532D155A6DE87
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 18750372315589011966809342966959173632224003368786599298500826640670402352786269961378825532226121920802585549877542477327157446102927320926731199343122897
+Q = 17528931448707367061046762330636227103712357416213685486625350842223724624236877855492943799601867554957185739461234218879065971784361700089167655797702777
+Msg = DABA032066263FAEDB659848115278A52C44FAA3A76F37515ED336321072C40A9D9B53BC05014078ADF520875146AAE70FF060226DCB7B1F1FC27E9360
+Nonce = 57BF160BCB02BB1DC7280CF0458530B7D2832FF7
+Signature = 014C5BA5338328CCC6E7A90BF1C0AB3FD606FF4796D3C12E4B639ED9136A5FEC6C16D8884BDD99CFDC521456B0742B736868CF90DE099ADB8D5FFD1DEFF39BA4007AB746CEFDB22D7DF0E225F54627DC65466131721B90AF445363A8358B9F607642F78FAB0AB0F43B7168D64BAE70D8827848D8EF1E421C5754DDF42C2589B5B3
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 18750372315589011966809342966959173632224003368786599298500826640670402352786269961378825532226121920802585549877542477327157446102927320926731199343122897
+Q = 17528931448707367061046762330636227103712357416213685486625350842223724624236877855492943799601867554957185739461234218879065971784361700089167655797702777
+Msg = 52A1D96C8AC39E41E455809801B927A5B445C10D902A0DCD3850D22A66D2BB0703E67D5867114595AABF5A7AEB5A8F87034BBB30E13CFD4817A9BE76230023606D0286A3FAF8A4D22B728EC518079F9E64526E3A0CC7941AA338C437997C680CCAC67C66BFA1
+Nonce = FCA862068BCE2246724B708A0519DA17E648688C
+Signature = 007F0030018F53CDC71F23D03659FDE54D4241F758A750B42F185F87578520C30742AFD84359B6E6E8D3ED959DC6FE486BEDC8E2CF001F63A7ABE16256A1B84DF0D249FC05D3194CE5F0912742DBBF80DD174F6C51F6BAD7F16CF3364EBA095A06267DC3793803AC7526AEBE0A475D38B8C2247AB51C4898DF7047DC6ADF52C6C4
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 23317769080042579483979410069547334982340385988414999350195919737682803074318822163162336750705582344709097840085771328091505049180311156519568643721259091
+Q = 22715354219792243654040150359134261097458516304943617682746546962551737776583314079844579168354161188665864193114840281840975337261953823680558154430944849
+Msg = 594B37333BBB2C84524A87C1A01F75FCEC0E3256F108E38DCA36D70D0057
+Nonce = F31AD6C8CF89DF78ED77FEACBCC2F8B0A8E4CFAA
+Signature = 0088B135FB1794B6B96C4A3E678197F8CAC52B64B2FE907D6F27DE761124964A99A01A882740ECFAED6C01A47464BB05182313C01338A8CD097214CD68CA103BD57D3BC9E816213E61D784F182467ABF8A01CF253E99A156EAA8E3E1F90E3C6E4E3AA2D83ED0345B89FAFC9C26077C14B6AC51454FA26E446E3A2F153B2B16797F
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 23317769080042579483979410069547334982340385988414999350195919737682803074318822163162336750705582344709097840085771328091505049180311156519568643721259091
+Q = 22715354219792243654040150359134261097458516304943617682746546962551737776583314079844579168354161188665864193114840281840975337261953823680558154430944849
+Msg = 8B769528884A0D1FFD090CF102993E796DADCFBDDD38E44FF6324CA451
+Nonce = FCF9F0E1F199A3D1D0DA681C5B8606FC642939F7
+Signature = 02A5F0A858A0864A4F65017A7D69454F3F973A2999839B7BBC48BF78641169179556F595FA41F6FF18E286C2783079BC0910EE9CC34F49BA681124F923DFA88F426141A368A5F5A930C628C2C3C200E18A7644721A0CBEC6DD3F6279BDE3E8F2BE5E2D4EE56F97E7CEAF33054BE7042BD91A63BB09F897BD41E81197DEE99B11AF
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 23317769080042579483979410069547334982340385988414999350195919737682803074318822163162336750705582344709097840085771328091505049180311156519568643721259091
+Q = 22715354219792243654040150359134261097458516304943617682746546962551737776583314079844579168354161188665864193114840281840975337261953823680558154430944849
+Msg = 1ABDBA489C5ADA2F995ED16F19D5A94D9E6EC34A8D84F84557D26E5EF9B02B22887E3F9A4B690AD1149209C20C61431F0C017C36C2657B35D7B07D3F5AD8708507A9C1B831DF835A56F831071814EA5D3D8D8F6ADE40CBA38B42DB7A2D3D7A29C8F0A79A7838CF58A9757FA2FE4C40DF9BAA193BFC6F92B123AD57B07ACE3E6AC068C9F106AFD9EEB03B4F37C25DBFBCFB3071F6F9771766D072F3BB070AF6605532973AE25051
+Nonce = 986E7C43DBB671BD41B9A7F4B6AFC80E805F2423
+Signature = 0244BCD1C8C16955736C803BE401272E18CB990811B14F72DB964124D5FA760649CBB57AFB8755DBB62BF51F466CF23A0A1607576E983D778FCEFFA92DF7548AEA8EA4ECAD2C29DD9F95BC07FE91ECF8BEE255BFE8762FD7690AA9BFA4FA0849EF728C2C42C4532364522DF2AB7F9F8A03B63F7A499175828668F5EF5A29E3802C
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 23317769080042579483979410069547334982340385988414999350195919737682803074318822163162336750705582344709097840085771328091505049180311156519568643721259091
+Q = 22715354219792243654040150359134261097458516304943617682746546962551737776583314079844579168354161188665864193114840281840975337261953823680558154430944849
+Msg = 8FB431F5EE792B6C2AC7DB53CC428655AEB32D03F4E889C5C25DE683C461B53ACF89F9F8D3AABDF6B9F0C2A1DE12E15B49EDB3919A652FE9491C25A7FCE1F722C2543608B69DC375EC
+Nonce = F8312D9C8EEA13EC0A4C7B98120C87509087C478
+Signature = 0196F12A005B98129C8DF13C4CB16F8AA887D3C40D96DF3A88E7532EF39CD992F273ABC370BC1BE6F097CFEBBF0118FD9EF4B927155F3DF22B904D90702D1F7BA7A52BED8B8942F412CD7BD676C9D18E170391DCD345C06A730964B3F30BCCE0BB20BA106F9AB0EEB39CF8A6607F75C0347F0AF79F16AFA081D2C92D1EE6F836B8
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 23317769080042579483979410069547334982340385988414999350195919737682803074318822163162336750705582344709097840085771328091505049180311156519568643721259091
+Q = 22715354219792243654040150359134261097458516304943617682746546962551737776583314079844579168354161188665864193114840281840975337261953823680558154430944849
+Msg = FEF4161DFAAF9C5295051DFC1FF3810C8C9EC2E866F7075422C8EC4216A9C4FF49427D483CAE10C8534A41B2FD15FEE06960EC6FB3F7A7E94A2F8A2E3E43DC4A40576C3097AC953B1DE86F0B4ED36D644F23AE14425529622464CA0CBF0B1741347238157FAB59E4DE5524096D62BAEC63AC64
+Nonce = 50327EFEC6292F98019FC67A2A6638563E9B6E2D
+Signature = 021ECA3AB4892264EC22411A752D92221076D4E01C0E6F0DDE9AFD26BA5ACF6D739EF987545D16683E5674C9E70F1DE649D7E61D48D0CAEB4FB4D8B24FBA84A6E3108FEE7D0705973266AC524B4AD280F7AE17DC59D96D3351586B5A3BDB895D1E1F7820AC6135D8753480998382BA32B7349559608C38745290A85EF4E9F9BD83
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 23317769080042579483979410069547334982340385988414999350195919737682803074318822163162336750705582344709097840085771328091505049180311156519568643721259091
+Q = 22715354219792243654040150359134261097458516304943617682746546962551737776583314079844579168354161188665864193114840281840975337261953823680558154430944849
+Msg = EFD237BB098A443AEEB2BF6C3F8C81B8C01B7FCB3FEB
+Nonce = B0DE3FC25B65F5AF96B1D5CC3B27D0C6053087B3
+Signature = 012FAFEC862F56E9E92F60AB0C77824F4299A0CA734ED26E0644D5D222C7F0BDE03964F8E70A5CB65ED44E44D56AE0EDF1FF86CA032CC5DD4404DBB76AB854586C44EED8336D08D457CE6C03693B45C0F1EFEF93624B95B8EC169C616D20E5538EBC0B6737A6F82B4BC0570924FC6B35759A3348426279F8B3D7744E2D222426CE
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 34472526763890390288206268539308085903500826068946415175646574850209502483532716992653604714106737320646902682489253807427935226872727189953234681779534229
+Q = 27599170874329569456630424115782013194441466052868928529420085446218294009948526736605009344913617322036736152527213282609802036063571741794421046662794161
+Msg = 9FB03B827C8217D9
+Nonce = ED7C98C95F30974FBE4FBDDCF0F28D6021C0E91D
+Signature = 0323D5B7BF20BA4539289AE452AE4297080FEFF4518423FF4811A817837E7D82F1836CDFAB54514FF0887BDDEEBF40BF99B047ABC3ECFA6A37A3EF00F4A0C4A88AAE0904B745C846C4107E8797723E8AC810D9E3D95DFA30FF4966F4D75D13768D20857F2B1406F264CFE75E27D7652F4B5ED3575F28A702F8C4ED9CF9B2D44948
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 34472526763890390288206268539308085903500826068946415175646574850209502483532716992653604714106737320646902682489253807427935226872727189953234681779534229
+Q = 27599170874329569456630424115782013194441466052868928529420085446218294009948526736605009344913617322036736152527213282609802036063571741794421046662794161
+Msg = 0CA2AD77797ECE86DE5BF768750DDB5ED6A3116AD99BBD17EDF7F782F0DB1CD05B0F677468C5EA420DC116B10E80D110DE2B0461EA14A38BE68620392E7E893CB4EA9393FB886C20FF790642305BF302003892E54DF9F667509DC53920DF583F50A3DD61ABB6FAB75D600377E383E6ACA6710EEEA27156E06752C94CE25AE99FCBF8592DBE2D7E27453CB44DE07100EBB1A2A19811A478ADBEAB270F94E8FE369D90B3CA612F9F
+Nonce = 22D71D54363A4217AA55113F059B3384E3E57E44
+Signature = 049D0185845A264D28FEB1E69EDAEC090609E8E46D93ABB38371CE51F4AA65A599BDAAA81D24FBA66A08A116CB644F3F1E653D95C89DB8BBD5DAAC2709C8984000178410A7C6AA8667DDC38C741F710EC8665AA9052BE929D4E3B16782C1662114C5414BB0353455C392FC28F3DB59054B5F365C49E1D156F876EE10CB4FD70598
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 34472526763890390288206268539308085903500826068946415175646574850209502483532716992653604714106737320646902682489253807427935226872727189953234681779534229
+Q = 27599170874329569456630424115782013194441466052868928529420085446218294009948526736605009344913617322036736152527213282609802036063571741794421046662794161
+Msg = 288062AFC08FCDB7C5F8650B29837300461DD5676C17A20A3C8FB5148949E3F73D66B3AE82C7240E27C5B3EC4328EE7D6DDF6A6A0C9B5B15BCDA196A9D0C76B119D534D85ABD123962D583B76CE9D180BCE1CA
+Nonce = 4AF870FBC6516012CA916C70BA862AC7E8243617
+Signature = 03FBC410A2CED59500FB99F9E2AF2781ADA74E13145624602782E2994813EEFCA0519ECD253B855FB626A90D771EAE028B0C47A199CBD9F8E3269734AF4163599090713A3FA910FA0960652721432B971036A7181A2BC0CAB43B0B598BC6217461D7DB305FF7E954C5B5BB231C39E791AF6BCFA76B147B081321F72641482A2AAD
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 34472526763890390288206268539308085903500826068946415175646574850209502483532716992653604714106737320646902682489253807427935226872727189953234681779534229
+Q = 27599170874329569456630424115782013194441466052868928529420085446218294009948526736605009344913617322036736152527213282609802036063571741794421046662794161
+Msg = 6F4F9AB9501199CEF55C6CF408FE7B36C557C49D420A4763D2463C8AD44B3CFC5BE2742C0E7D9B0F6608F08C7F47B693EE
+Nonce = 40D2E180FAE1EAC439C190B56C2C0E14DDF9A226
+Signature = 0486644BC66BF75D28335A6179B10851F43F09BDED9FAC1AF33252BB9953BA4298CD6466B27539A70ADAA3F89B3DB3C74AB635D122F4EE7CE557A61E59B82FFB786630E5F9DB53C77D9A0C12FAB5958D4C2CE7DAA807CD89BA2CC7FCD02FF470CA67B229FCCE814C852C73CC93BEA35BE68459CE478E9D4655D121C8472F371D4F
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 34472526763890390288206268539308085903500826068946415175646574850209502483532716992653604714106737320646902682489253807427935226872727189953234681779534229
+Q = 27599170874329569456630424115782013194441466052868928529420085446218294009948526736605009344913617322036736152527213282609802036063571741794421046662794161
+Msg = E17D20385D501955823C3F666254C1D3DD36AD5168B8F18D286FDCF67A7DAD94097085FAB7ED86FE2142A28771717997EF1A7A08884EFC39356D76077AAF82459A7FAD45848875F2819B098937FE923BCC9DC442D72D754D812025090C9BC03DB3080C138DD63B355D0B4B85D6688AC19F4DE15084A0BA4E373B93EF4A555096691915DC23C00E954CDEB20A47CD55D16C3D8681D46ED7F2ED5EA42795BE17BAED25F0F4D113B3636ADDD585F16A8B5AEC0C8FA9C5F03CBF3B9B73
+Nonce = 2497DC2B4615DFAE5A663D49FFD56BF7EFC11304
+Signature = 022A80045353904CB30CBB542D7D4990421A6EEC16A8029A8422ADFD22D6AFF8C4CC0294AF110A0C067EC86A7D364134459BB1AE8FF836D5A8A2579840996B320B19F13A13FAD378D931A65625DAE2739F0C53670B35D9D3CBAC08E733E4EC2B83AF4B9196D63E7C4FF1DDEAE2A122791A125BFEA8DEB0DE8CCF1F4FFAF6E6FB0A
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 34472526763890390288206268539308085903500826068946415175646574850209502483532716992653604714106737320646902682489253807427935226872727189953234681779534229
+Q = 27599170874329569456630424115782013194441466052868928529420085446218294009948526736605009344913617322036736152527213282609802036063571741794421046662794161
+Msg = AFBC19D479249018FDF4E09F618726440495DE11DDEEE38872D775FCEA74A23896B5343C9C38D46AF0DBA224D047580CC60A65E9391CF9B59B36A860598D4E8216722F993B91CFAE87BC255AF89A6A199BCA4A391EADBC3A24903C0BD667368F6BE78E3FEABFB4FFD463122763740FFBBEFEAB9A25564BC5D1C24C93E422F75073E2AD72BF45B10DF00B52A147128E73FEE33FA3F0577D77F80FBC2DF1BED313290C12777F50
+Nonce = A334DB6FAEBF11081A04F87C2D621CDEC7930B9B
+Signature = 00938DCB6D583046065F69C78DA7A1F1757066A7FA75125A9D2929F0B79A60B627B082F11F5B196F28EB9DAA6F21C05E5140F6AEF1737D2023075C05ECF04A028C686A2AB3E7D5A0664F295CE12995E890908B6AD21F0839EB65B70393A7B5AFD9871DE0CAA0CEDEC5B819626756209D13AB1E7BB9546A26FF37E9A51AF9FD562E
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 52947746764625581581348920222190760350826515129407851734553526076761620388920106361523893976287895417489630792692839842095214530982547020346909719722571583
+Q = 44362841550817081081358795270317605045639904422908532427762156610780062654843896617689855009062394727899772229844572756933778128117714080394699975327483961
+Msg = 30C7D557458B436DECFDC14D06CB7B96B06718C48D7DE57482A868AE7F065870A6216506D11B779323DFDF046CF5775129134B4D5689E4D9C0CE1E12D7D4B06CB5FC5820DECFA41BAF59BF257B32F025B7679B445B9499C92555145885992F1B76F84891EE4D3BE0F5150FD5901E3A4C8ED43FD36B61D022E65AD5008DBF33293C22BFBFD07321F0F1D5FA9FDF0014C2FCB0358AAD0E354B0D29
+Nonce = 081B233B43567750BD6E78F396A88B9F6A445151
+Signature = 0BA373F76E0921B70A8FBFE622F0BF77B28A3DB98E361051C3D7CB92AD0452915A4DE9C01722F6823EEB6ADF7E0CA8290F5DE3E549890AC2A3C5950AB217BA58590894952DE96F8DF111B2575215DA6C161590C745BE612476EE578ED384AB33E3ECE97481A252F5C79A98B5532AE00CDD62F2ECC0CD1BAEFE80D80B962193EC1D
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 52947746764625581581348920222190760350826515129407851734553526076761620388920106361523893976287895417489630792692839842095214530982547020346909719722571583
+Q = 44362841550817081081358795270317605045639904422908532427762156610780062654843896617689855009062394727899772229844572756933778128117714080394699975327483961
+Msg = 328C659E0A6437433CCEB73C14
+Nonce = 9AEC4A7480D5BBC42920D7CA235DB674989C9AAC
+Signature = 0BC989853BC2EA86873271CE183A923AB65E8A53100E6DF5D87A24C4194EB797813EE2A187C097DD872D591DA60C568605DD7E742D5AF4E33B11678CCB63903204A3D080B0902C89ABA8868F009C0F1C0CB85810BBDD29121ABB8471FF2D39E49FD92D56C655C8E037AD18FAFBDC92C95863F7F61EA9EFA28FEA401369D19DAEA1
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 66218349306984889499512380229028590914939577178499155486386600131076010558406347627863063671804559946177893962014452065585708095420741539901319996632905027
+Q = 60538225181015072084609935128982168843796735821199260439826605002195709240782723691950431953163713417611480156811354608332166461443651611592637891780251227
+Msg = 0F6195D04A6E6FC7E2C9600DBF840C39EA8D4D624FD53507016B0E26858A5E0AECD7ADA543AE5C0AB3A62599CBA0A54E6BF446E262F989978F9DDF5E9A41
+Nonce = A87B8AED07D7B8E2DAF14DDCA4AC68C4D0AABFF8
+Signature = 086DF6B500098C120F24FF8423F727D9C61A5C9007D3B6A31CE7CF8F3CBEC1A26BB20E2BD4A046793299E03E37A21B40194FB045F90B18BF20A47992CCD799CF9C059C299C0526854954AADE8A6AD9D97EC91A1145383F42468B231F4D72F23706D9853C3FA43CE8ACE8BFE7484987A1EC6A16C8DAF81F7C8BF42774707A9DF456
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 66218349306984889499512380229028590914939577178499155486386600131076010558406347627863063671804559946177893962014452065585708095420741539901319996632905027
+Q = 60538225181015072084609935128982168843796735821199260439826605002195709240782723691950431953163713417611480156811354608332166461443651611592637891780251227
+Msg = 9906D89F97A9FDEDD3CCD824DB687326F30F00AA25A7FCA2AFCB3B0F86CD41E73F0E8FF7D2D83F59E28ED31A5A0D551523374DE22E4C7E8FF568B386EE3DC41163F10BF67BB006261C9082F9AF90BF1D9049A6B9FAE71C7F84FBE6E55F02789DE774F230F115026A4B4E96C55B04A95DA3AACBB2CECE8F81764A1F1C99515411087CF7D34AEDED0932C183
+Nonce = FBBE059025B69B89FB14AE2289E7AAAFE60C0FCD
+Signature = 0A40A16E2FE2B38D1DF90546167CF9469C9E3C3681A3442B4B2C2F581DEB385CE99FC6188BB02A841D56E76D301891E24560550FCC2A26B55F4CCB26D837D350A154BCACA8392D98FA67959E9727B78CAD03269F56968FC56B68BD679926D83CC9CB215550645CCDA31C760FF35888943D2D8A1D351E81E5D07B86182E751081EF
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 106371131238996201552453980874610989946813024716722445842408152891368839125454489600942277239535313381924436744966779801576106830418690757378911573621372213
+Q = 94283645475135667806671154963754310629766271954157398151751430322380692807932982647513603066143205717148426973447556747230175281773727249810950269829764423
+Msg = 8D80D2D08DBD19C154DF3F14673A14BD03735231F24E86BF153D0E69E74CBFF7B1836E664DE83F680124370FC0F96C9B65C07A366B644C4AB3
+Nonce = 0C09582266DF086310821BA7E18DF64DFEE6DE09
+Signature = 10FD89768A60A67788ABB5856A787C8561F3EDCF9A83E898F7DC87AB8CCE79429B43E56906941A886194F137E591FE7C339555361FBBE1F24FEB2D4BCDB80601F3096BC9132DEEA60AE13082F44F9AD41CD628936A4D51176E42FC59CB76DB815CE5AB4DB99A104AAFEA68F5D330329EBF258D4EDE16064BD1D00393D5E1570EB8
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 106371131238996201552453980874610989946813024716722445842408152891368839125454489600942277239535313381924436744966779801576106830418690757378911573621372213
+Q = 94283645475135667806671154963754310629766271954157398151751430322380692807932982647513603066143205717148426973447556747230175281773727249810950269829764423
+Msg = 45013CEBAFD960B255476A8E2598B9AA32EFBE6DC1F34F4A498D8CF5A2B4548D08C55D5F95F7BCC9619163056F2D58B52FA032
+Nonce = 9D5AD8EB452134B65DC3A98B6A73B5F741609CD6
+Signature = 07EB651D75F1B52BC263B2E198336E99FBEBC4F332049A922A10815607EE2D989DB3A4495B7DCCD38F58A211FB7E193171A3D891132437EBCA44F318B280509E52B5FA98FCCE8205D9697C8EE4B7FF59D4C59C79038A1970BD2A0D451ECDC5EF11D9979C9D35F8C70A6163717607890D586A7C6DC01C79F86A8F28E85235F8C2F1
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 118724228726107084933673357665229442161382145102711792353890330967978435076443563173490456195787258321089074786404235270441682268529681386854189215962537691
+Q = 111028334878452985473644527762523767795944882393420846192472211181507747267685923591727882840961887488829968428906720070723808587572733436074949968172511341
+Msg = E2F96EAF0E05E7BA326ECCA0BA7FD2F7C02356F3CEDE9D0FAABF4FCC8E60A973E5595FD9EA08
+Nonce = 435C098AA9909EB2377F1248B091B68987FF1838
+Signature = 2707B9AD5115C58C94E932E8EC0A280F56339E44A1B58D4DDCFF2F312E5F34DCFE39E89C6A94DCEE86DBBDAE5B79BA4E0819A9E7BFD9D982E7EE6C86EE68396E8B3A14C9C8F34B178EB741F9D3F121109BF5C8172FADA2E768F9EA1433032C004A8AA07EB990000A48DC94C8BAC8AABE2B09B1AA46C0A2AA0E12F63FBBA775BA7E
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 118724228726107084933673357665229442161382145102711792353890330967978435076443563173490456195787258321089074786404235270441682268529681386854189215962537691
+Q = 111028334878452985473644527762523767795944882393420846192472211181507747267685923591727882840961887488829968428906720070723808587572733436074949968172511341
+Msg = 04DC251BE72E88E5723485B6383A637E2FEFE07660C519A560B8BC18BDEDB86EAE2364EA53BA9DCA6EB3D2E7D6B806AF42B3E87F291B4A8881D5BF572CC9A85E19C86ACB28F098F9DA0383C566D3C0F58CFD8F395DCF602E5CD40E8C7183F714996E2297EF
+Nonce = C558D7167CBB4508ADA042971E71B1377EEA4269
+Signature = 33341BA3576A130A50E2A5CF8679224388D5693F5ACCC235AC95ADD68E5EB1EEC31666D0CA7A1CDA6F70A1AA762C05752A51950CDB8AF3C5379F18CFE6B5BC55A4648226A15E912EF19AD77ADEEA911D67CFEFD69BA43FA4119135FF642117BA985A7E0100325E9519F1CA6A9216BDA055B5785015291125E90DCD07A2CA9673EE
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 145944642495047970227466613734349629255343540073855558870352732098662102916564982961518190338528157149961995311060708307518356558394237017861854292310484074777485853223344178810064674444634051391215897807026231654615448012433580801389368805589940939055216467316156697831245282887397148877131331934832361698283
+Q = 143469182311575243542235467792602778379077898970799610045213895234115725019110716139320906495130549004081072001994697570980663341363111500415373296270459390406877457540343121930968023110161112505144834271577932063953096651425939950070551736088707899288307639171777627365285498093078482948934950424689380891087
+Msg = 883177E5126B9BE2D9A9680327D5370C6F26861F5820C43DA67A3AD609
+Nonce = 04E215EE6FF934B9DA70D7730C8734ABFCECDE89
+Signature = 82C2B160093B8AA3C0F7522B19F87354066C77847ABF2A9FCE542D0E84E920C5AFB49FFDFDACE16560EE94A1369601148EBAD7A0E151CF16331791A5727D05F21E74E7EB811440206935D744765A15E79F015CB66C532C87A6A05961C8BFAD741A9A6657022894393E7223739796C02A77455D0F555B0EC01DDF259B6207FD0FD57614CEF1A5573BAAFF4EC00069951659B85F24300A25160CA8522DC6E6727E57D019D7E63629B8FE5E89E25CC15BEB3A647577559299280B9B28F79B0409000BE25BBD96408BA3B43CC486184DD1C8E62553FA1AF4040F60663DE7F5E49C04388E257F1CE89C95DAB48A315D9B66B1B7628233876FF2385230D070D07E1666
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 11058990257677106728567416105937186715085308710456375792601306502280098635988887667238717006290587419518077081684341390836911377742457083342432042777093021
+Q = 10712237750299859497610123088820529960436796483371066064207052073837127000835751900010552681042454496236727480798341670362779502045338590274000339694476663
+Msg = 454D5341342074657374206F66206C656164696E67203073
+Nonce = 5C7F7F0932FC4FF8555C3875CE3A0F86BF5B744E
+Signature = 049C40560875766E164A89B2D19D91EF2AABAB4AC182657CAD93680319D8CDBE3CABCF3E87BF41C16013AC4E3D2DEBFB8F89E9E057012B8EDFD0310E24E2BBF43D54B2664DF3AC82D7E8913ABE29D0A022277EB74D2E0C8C5F4C3F46FABB35D932A4A713A82FC9464581D9B1F43A2AFB9AB8177DEE8C38CC9F15A7E8F3F9B4D3
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 11058990257677106728567416105937186715085308710456375792601306502280098635988887667238717006290587419518077081684341390836911377742457083342432042777093021
+Q = 10712237750299859497610123088820529960436796483371066064207052073837127000835751900010552681042454496236727480798341670362779502045338590274000339694476663
+Msg = 454D5341342074657374206F66206C656164696E67203073
+Nonce = B0E37FD9119056FBC17F9C726B0AE7829350F93D
+Signature = 82E54D1CD28D562D85DD3774636C65313CF26628076FC16A4D25AACCB566FCC877401BB44DFCB8ADBC6E595D515146D227E9AE6D4D585759F435642DFF2BB1EA3AC72E633C05FB3DC0D8E63395099D5A535DF6EA89341E36D73808D5116299EEC827BB2B6C3141AC0A5698DCDC252B7EDC3A5C24DE75287EEB60F45A37DFBEA3
+
+Padding = EMSA4(SHA-1)
+E = 65537
+P = 11058990257677106728567416105937186715085308710456375792601306502280098635988887667238717006290587419518077081684341390836911377742457083342432042777093021
+Q = 10712237750299859497610123088820529960436796483371066064207052073837127000835751900010552681042454496236727480798341670362779502045338590274000339694476663
+Msg = 454D5341342074657374206F66206C656164696E67203073
+Nonce = E4AE5BB1DD6DF73F8F75E441DA531F0E493AC0A7
+Signature = 8A64E30AEC76B278B08FF3BF61B7FF439DC2B0F6B789459F1386C0FBF24AF863EFC5A58C5E9CB841EA08D2E22E40293B1876BBB976947038AEEAA36B1751FF9713B9F7BD306D9360CC8D78B7A607F9CA7B4C18C308D85330E534337998D97D6F70F828D6AD1C9C7F6916476127993E4E6F7D596BA6C246F0EB7312A02D09BFB3
diff --git a/src/tests/data/rsa_verify.vec b/src/tests/data/rsa_verify.vec
new file mode 100644
index 000000000..1a915d6b2
--- /dev/null
+++ b/src/tests/data/rsa_verify.vec
@@ -0,0 +1,161 @@
+
+E = 65537
+N = 21294014927258304131040781115311862039488366453689673368700944513219763245673890697163631224238156125681871046912423252139958373673494842188327924075935021260823595479029869879301695218333300648958044759453090135302355875509854237140262345417466491045027237599382640606853811387812108430679944770972979218579912175629350561572866081828240542091504962510426591897021132609200583624897090266070827112815075415286361167712707065872906100580924648432056365602321172274687165761180171037735321703513069879499292378605702720368464285730865976993373285171622065557888622229864086839106896951917341016022559721964253271897757
+Msg = 0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0068656C6C6F20776F726C64
+Signature = A88A260DF63E7241BFB42C05F50B5FF470CEB7B4E47353C94C0EBF620309841FCD84FFA08B164411CA9D2066FA02D8223AC19250212409E241446C22C9B85B2338E6C8545E722427FB6798EAD8488106B01F15EE3E8574C85DCCFD407FAAD4F705D397551E4BF32CE484DE76514DBF805B5361CB3B1B221FE3AD12734E8542D4B4D53962D0B0A80B11DC789EC08B050F28CB75363B8BD1F545839953271DB7340C749C3B979C0A11C46E9D590446C8D3B75907B3F0B3F164A8F72D302B383B2BD1248E9D86EAEBEBCB0623FAEA616CDE51CFFE5BE3D0BF140F053B05B6A17B6A4F7B733F0042DC9AF4EA737031DB170EB5F691859B5EDA13C82B8EE69D7B2732
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 119893703092484949505910087939224352570887943368162884254100835299677466992252964282958222122904137439852217811402556822825785524431976342366635228201325453615333815480375932228941159089934430428976301906105572009268593836870380845342944983495040828580470076501247572469467215357554733094411503190958365925843
+Msg = B841D0374D3C86E67B67BDF00B
+Signature = 1060A74E3EF067A9B17754500B16B8C9F6B3B453FB290C71FCAE779DD37A6B9A24A45D1560DF5E4BC31143E6197AB15684236D8FE578E022495897F70451FD902BFA5703947EDFF0B63BF1140C63AE1C8D369A87B192E8BF6A3D486E909C3979703806010367CA0E0026F8920EA766B7E3759E23954D0EC2F746E6046FC14758
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 119893703092484949505910087939224352570887943368162884254100835299677466992252964282958222122904137439852217811402556822825785524431976342366635228201325453615333815480375932228941159089934430428976301906105572009268593836870380845342944983495040828580470076501247572469467215357554733094411503190958365925843
+Msg = 0F1D14F9
+Signature = 7D4F2EE63FF4B46A09EBB8F9E2F58B4634234B890F7270FDF3454CD2EEAF1BACAC3516BB5D0F678365E5226034032D6AD49069ED9C7B8BE471BFC6D9BBE3327CBA545675212A5552948524E52567FCE84D9D211191AAB864153C08DFC7576703C21FB9315578A0F1C167FF4D2B810578DC98FBC1235A4CD62ED89BD092C31C00
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 117873507567337895619658208679670925101378539654498066355113315112059799053003859776302497045938816878795017034893432557427285474379889211548804214301617169867599046479911599286664540733604522194941039104579220235811693184040720386906708801580081293183820229901159859136387878000483153929553556411647637914977
+Msg = AEAD5A03023E17D894226CB2C7C77D5D4341E8BF7F1453140D58B427B40B0B18A9
+Signature = 27ABB6E27D9DBA0F9E5DB3607BF04E20112150A779EAF67D4AA76D50A6060F7003BB33BE5A580789E567C3768AF938BDBADE712F7344B72655118636095EA8D697888B9382BF3030D56A685079980A992A9BED3AF0DC81AE4316AF31681A3BDD78CC4E83FD3C227A9984C261ADF36D201AA417243A28BA47488BD81CB1DA63A4
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 119893703092484949505910087939224352570887943368162884254100835299677466992252964282958222122904137439852217811402556822825785524431976342366635228201325453615333815480375932228941159089934430428976301906105572009268593836870380845342944983495040828580470076501247572469467215357554733094411503190958365925843
+Msg = 6A4BAEE539612920ECB3075EF6C31BD7EEA01F43
+Signature = 36F7211C290577ED0CF54007551BA65943C388BF2AE58F12E8BF7B6E7339348F2534E7515232D0AD72AD8F6EA173FA3D21DE13D392DE10C457DDA7C569AAAE170C8806A3ACA457461EFBAA7EC870947ABE2D5A91821B9254EA34A74E95E7648ED98A7ACD2300D4FC88C8B968E0AE68DF9BFF849E53AF03A2E12965C1453AAFC4
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 142827179040201930130129453963840750538620744427112921609232633077545705669555537375335626346255551646557899683797424190277107859970432546267654200388915589143829977650215992006588223561006749124827885807954027706624977201425591213477691544644089252839017126048324124185680925726240972874426438277384617501237
+Msg = 0F50
+Signature = 707E1B680D4D7E2CD102ED7AF2B63AE63CAD9266476418F330FB739FD052A7774A0182624E81C3AD14C12BA5BA1D99315217D84EA1FAABF4A90E7CFF1987535146D4944AE27E2C84F313E5E5A22C5B86A88333DBBC4D17425F180C6B0F4BFD3E9F03DE21B422EC125DA6FF2835A93CEBED8C1283568E04BB634CAC410D144B91
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 117873507567337895619658208679670925101378539654498066355113315112059799053003859776302497045938816878795017034893432557427285474379889211548804214301617169867599046479911599286664540733604522194941039104579220235811693184040720386906708801580081293183820229901159859136387878000483153929553556411647637914977
+Msg = 5C3DB99915C8F7EEACB045ECBB7C35C06D4ED5A96AA9025A49093B70D7C2EDD485930D18DEB57C0282563F2B07FBA63245FDC773CF851985475DFB4F6FA335BE1B4C2C28A294E84E50172AA585B382BE1E1038FBD02F2BD37691D85A18346AD04CC81948698FF248CFAF33E222EA8B5FCAEC0E5AA8F753521EC47BCB756E05CF95E4365E06A69BB6C99A34A62939B478AC1209FFACC49BA4027749801D4A9F583395B34340
+Signature = 9705B191BE8BD52D3E6CA1743DACDA5EDC1C7665B6EBC769A5983BB74D2F52C79F94954DC8CAB9A44FB3B387A0FF2843311CDA640DC39BA975518B511DF87064B17709804D707DA08A315F14D24CF6385310A62D7F6C47689B66C4A12F449FC95796F1821EA6838DE2941D0725B55EC860CB553B36878C2BA3994DCD0A8992FF
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 142827179040201930130129453963840750538620744427112921609232633077545705669555537375335626346255551646557899683797424190277107859970432546267654200388915589143829977650215992006588223561006749124827885807954027706624977201425591213477691544644089252839017126048324124185680925726240972874426438277384617501237
+Msg = F1FE75913B7A152626C287B1287B6ED4A04EB546950C0414B2D7AAF82DF8F255E08E20A2CACD2399C4304FD9F77B9CF8B2A244C15ABC25DCFE1B144F2B125AF791B05877E11BEAF3ECC75FC9
+Signature = 87337D2D71F36C4452216459D55586634D755C84D9D8F80D058E029A1CB61A6D4819E3993B623AF90FF915AC585AE6088DF7565A2A205D6282252EA0863A7F12F07A06189F2E2C4EC6B27EBDF3955ADC7C85B803C612D44B9EA5D5FC0B7F15D8AC704D83DEC3D8F84808C2AA5F984FD06D1456B4EF875C33A7346051514DCECC
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 142827179040201930130129453963840750538620744427112921609232633077545705669555537375335626346255551646557899683797424190277107859970432546267654200388915589143829977650215992006588223561006749124827885807954027706624977201425591213477691544644089252839017126048324124185680925726240972874426438277384617501237
+Msg = 04F7B2C9BEEE7F00FD42C651A3492E6F61816AB3B0903477CFB49B2DDE8AB64D898019C6C937FE653A92C1BD992A3304F357
+Signature = 14949A71A7AF9EC4364DDF90E5A7C4283F8FEF7DD3A544FFA4B1BCEC5FEA6C214FE7C9105393E72D308CA0994F6F900479219439B8FDC850E15404C024AB757BF7DDF35B0CEC668AEAAAB5039EC81F739C160DD57B26ACDECE905F608AB0396F9DE8F99A53F765D37FB625C8E90C68B4E5B32AEF48C0FDA39B7314FCE942A9E9
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 117873507567337895619658208679670925101378539654498066355113315112059799053003859776302497045938816878795017034893432557427285474379889211548804214301617169867599046479911599286664540733604522194941039104579220235811693184040720386906708801580081293183820229901159859136387878000483153929553556411647637914977
+Msg = 71D2C0843ACA68C291953E66
+Signature = 4C22BC81446B062A561D9A922E959036E7763B0803DD84168C48AC51DBE79A129D017E22BF9DA19996C09BE7369C4F0808ACC2E708DFF48AA2AD41EF78F5F97B914FFE079BE9F9D30E67049BA28BEE714FE622A18A3524FC7E58ED7C451714F14718F4475814B6D9A6590845D9CF6FEA2DCD313CFD580B47D5BEF6960CB0E463
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 118325216784138576928663205991913551509467682454344354700845118251718322925715329792999462630555914469943870869734614072789281058584985975285521715988924664768201330923551590045084966763856526589357351321070058281808367878672484954643315491816159591677428680677150214756146555087873428967903226383610237192289
+Msg = 9D5116B54CBA7970742B66BE6924D122A1D7E570F037DA06B29A2B34175C8F9428D1E8E908EF492892AFD6B08019EED0123F32B74D04324DDB98171ADE66347C1FFB56BD1B05E1CECE2ADD838BD95CDEB74E36A51B69F2602322593462182437AF357BB63EF748F45CDDB66BE5357E9701C8B21C6613857432CB99C91CDFCB7254D087B361CCF05E77AF961F023E83416D9FF539A572A5C89117FE1506AF66335321A0CB7BF096DA0590D2E79FA60DD7A38B9DF2D352673F5A31A873111E3C8D
+Signature = A73BC3BD89ADF92FF2B8EE3B5430849301C322074696BD58FCA3D0C113BC9CD79D6D822FCE31ABF1C276C1272D045E5FD92BAE9FBC07EE54742D3342A2B03E8547B1DC94E86C5D08A13708780952498CE3EF3B07710E5777683C9630821248A9D38BEC8AB7C77DF1CA6E695F0289443C13A8A4834D97CE6DCBB6782A70F866B1
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 117873507567337895619658208679670925101378539654498066355113315112059799053003859776302497045938816878795017034893432557427285474379889211548804214301617169867599046479911599286664540733604522194941039104579220235811693184040720386906708801580081293183820229901159859136387878000483153929553556411647637914977
+Msg = 75352B85B47E73B18E8CD9608354ACCA4DF8E2B73313C681A8119D6578CAF8F9A52EB4710B97D334D2CD49C365BC0E0BB89D63CEBE3EC62055E7948C9DF696B406EAB60881B0371F5AE092D0A43ED9AD307D026B2CB6477AF5ACC32919D470C39C9BAA71B0FA78F8687BF762C399407BB39C59727AF3B61DF3EA486E473D4CC8D67805E8810F
+Signature = 7F51B49FA57C4EC7AC72A90C9EBB51F6E21E3B6EE67E6DE32119AC9FCF97FB1909F74491CDE182ECBED994B66EEC44AC817A8F620444BB6520A3A223BE4AFA78B50F11C057FA4F4835D55283157F5C8AE60A2A46D0CB9D4BE3411FD3505F0FAC5202ED1C0629575B59001488B30E9F12E738F2B388C7EF8A82684CBA43115010
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 117873507567337895619658208679670925101378539654498066355113315112059799053003859776302497045938816878795017034893432557427285474379889211548804214301617169867599046479911599286664540733604522194941039104579220235811693184040720386906708801580081293183820229901159859136387878000483153929553556411647637914977
+Msg = DA40B3B401DEED4DBCC3848CC729C8B5FD169A140914C40FEB752E2D3F2F7EFAA97CE26BABE4099BDBBAA522BB09DB37A1D06CB53A3BF7D621
+Signature = 328E325D4F95D0013019B97F5936EBB347F1E5B01A559560518C1C47DC04434392BD2168DA08668E4EEA9A06A5CED7C9076BF7CAC667503FE6B7903953958BABB31EE9B29E356274F7136F35F5224A1BF50F3663D002B6220C3EA8572C1368D11D3C6DD6E1F3D700811257EF8B46246C2A6A975C08DEA782003F5CD45703FD22
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 119893703092484949505910087939224352570887943368162884254100835299677466992252964282958222122904137439852217811402556822825785524431976342366635228201325453615333815480375932228941159089934430428976301906105572009268593836870380845342944983495040828580470076501247572469467215357554733094411503190958365925843
+Msg = 1C79CF64CCAA6C913ABAA5A555558BC251
+Signature = 0C9485139F787BB6EFBF23783CEC74A53DFF16937FA6E76BF120D15ACF87D8480B7EACED7B44ACD2A87C92A3F5AB185B81664AE248C7557C2766656C05A5D206DD110E0E97F4F63364BB396F8431ECA2352FF84B4DB5F54FFAB155768624489FD6E7C40282D1F9D85674D21E01571FD24423461F3D04D9595C43BFEB8EC586E3
+
+Padding = EMSA4(SHA-1)
+E = 65537
+N = 117873507567337895619658208679670925101378539654498066355113315112059799053003859776302497045938816878795017034893432557427285474379889211548804214301617169867599046479911599286664540733604522194941039104579220235811693184040720386906708801580081293183820229901159859136387878000483153929553556411647637914977
+Msg = 3096922A62DABF6B98A4480D2F86629D1992FFE1545869DCE5E69F810EB793C5ABFFAEE2EEB846644C8BE8E31942BA16FE51B7988F355999CFFBA28CFB9DDB1B5F4919790B7E63E37F00289C6CD42F56F7520A2DDA73AEA4BCB2D10053AB9720B201D52AAE450BF22AF2C4E3AC
+Signature = 43F583905ED6D2D53045C60E472FC1FED12EBD88C190EE810F9576E262F3881FBF006211DD5943A48BAC7FF21C4317BC28E4968C98FF6E0F94C055FB104555C1E7B533F9DDC49D200CAA8C2F62C5EDC6A9E9E76290DDEBF38BAEC88EEF8B32B3DE804FF19627C04B13261CE2EF2101619CA1D6BDF3C5C7DEDCF21E18726081CE
+
+Padding = EMSA4(SHA-224)
+E = 65537
+N = 1119428424680318589795586141715055386037310539168633265412442840203765459121933347087296271503409502653361538704886463270098037299029844742790141591500136266254978458765667228024346681193517777869473504834168226149066540740737368233
+Msg = 7072696F6E636F7270
+Signature = B7530DA7632263B5AA4B0DC9FCBC3BCDF8B44EE2B4BECFD90BDEC108F50EBE325BE6F4EC8900BA1C345F2B6F59FB625C3D99BC6F04D99704144B05C2ACDD61927D3EBD886650E933774DF72EED0A5A3AA2810C17B56F877D989AF3A469950D0B
+
+Padding = EMSA4(SHA-224)
+E = 65537
+N = 142174165576626153607372698256305864594569560870673901094361474985698454475214485624030333494656951630915262404286478231307463911538888475540467821962421907280313609332673779512118006700905686743737304610222644814866475509553933039345450808232667589081836829812676481228393243702748665205665654871209739761413
+Msg = 7072696F6E636F7270
+Signature = B4816EA318CD92A64FBCF77C4E42E283534B2C500652DF6D88FF24130EB5C84350E9F52E4822BF60D7C4AE4FA11C811A7A0B4DF93C0215BC9B3D04337BC044E1994959D67E0E33121C9CDE1C50699B6C00966160F51C606334E15EBF60FBB8C76EFBBBA51460C75D30DE0F47863A1020885F5A4DF8AAA397C03AA409833380B1
+
+Padding = EMSA4(SHA-224)
+E = 65537
+N = 164630263456117000015160044780495067044400405934160102582785618595264737952704698446678826348962937504290398007242147250281882539141663012582798644838997102553201425043459343724571036706353816116380999797810738720665186291265346946839405585633428066468495857110767903684090495610399584127282529381812835202843
+Msg = 7072696F6E636F7270
+Signature = 4FAF0FB7EEBB26B9BA778D092B42CEECBBA36B4DBBBE35C6B383439F23F2062642CB3D091BA77C4E1C46280E85C8C40A24FCEF5CDC9F4E383A54B19BB3BCD8B5DC28070CD5FFCA1525F6A655CE672EF96438F375E6483ACEB338180B24FAD3E4F67B58E246D0BCE09DFEDF5249F30517DA52FDE9340EE69B1B1316B81C2E2E1E
+
+Padding = EMSA4(SHA-224)
+E = 65537
+N = 2355338321894907982973449118532423046219855162684189584952364211024673239817984981221497833678417989141255985955373046108907439361208943134690142558869693319622720590693426934116543610706035829016468114721654712491555448755290947614168151367749236215414971936091383086872819572125926710274100720750822329346281157144216251301323577911043671958085809035421923499439374332063412011968019314606534545270261694061177194156135267601999819371566580234100693210082572199
+Msg = 7072696F6E636F7270
+Signature = EB6106EBBC6F7F29B503E7AED4CF9FD01F75F2C11433DE73188AC19A9A41D59F995107AD9F8B657B0718226245A4C149E352BF5D129F53971E30A4DE702876528EA67A8EBFD096396B7229BA9D6DA710DB37613F5FB1F3993B391741CE8E11EE0C324E3F33CFBEB78DB0F270B0C0CC7D3497F8594EC262D88EF9E03EBFD9E26ECE0921006C521A4B1B41D75BD79B5534B183893A18FE183DCCD1506B22E0E7FEF53E56B74870B62EDD262AA45F3FA9CBFC18045A549D5E202D2D20E08322799D
+
+Padding = EMSA4(SHA-256)
+E = 65537
+N = 959053819830657172479959445338239092546325203345907250825111845392833871445800392409753005065793320051134954211866734053526672830216705155840103275419514948544834171669678800877679307554229024265360880082897478182110972147307503999
+Msg = 7072696F6E636F7270
+Signature = 73F68238B7F19889120893C903258DBE620171982CAD9D155892CDEFECB3C153224D8A94BFD13B4691A4D51175756186AE4F689B6A1A1432EA255C0E8DD844E9C055397090C110C632EB6E24BA5ACA380239D399BF010E1451293DB948D4274C
+
+Padding = EMSA4(SHA-256)
+E = 65537
+N = 137126460274256653495503845615308970580703338943888033622233416638897981837645329990830646815644138206816666356100904616855829630528272075841659577079660881561538319561195872899967484040091088853712853721738321400822852813349942750220659315350946835604178720157749806025740852968661234681914747446252028384687
+Msg = 7072696F6E636F7270
+Signature = 3CFA8F2D410D5BE87DA2B644BD6615CE3588C7E4B261F05C18673F24CB570355A7F5D41BBF62F859BC0CDD5300CCA3DBF2B2AF13DDF455DD6D919811836B22BD4280EFAD24DF30EA185D7357C89599CF0C08A22F4D03162295379E842215DEBEA0DA0AE985F355AF392DD0F9F8A6A1F2827AF781630C5D2A2B917C5544B3206C
+
+Padding = EMSA4(SHA-256)
+E = 65537
+N = 126006263967583916685699969820130107481805287310155583856753083161341066900427337638894279209853492976803801580045932978846612143886893466294502409849740589461924621064167764049479934551356205760630996888983236964271640321672661343631339668444656679188756786625965068033966005693955734364699441283621584593211
+Msg = 7072696F6E636F7270
+Signature = 417D26DAAC12A39FEDA2C17EA2ED932AF9544DA11E6BB84B0E9D4758A57FBD9878457171DE72B888EF7AF40183EE7FDF81044512232D7199C11CF52A53CDE62022352EA747292FB3187EE51B2A17E9AF8DABA658DB6C4A5E4F07A5CF2E9203295E59B1916F526C1EF8F84F72CBA70065EFF5D4BA0467CB77165BAC3ACE21462D
+
+Padding = EMSA4(SHA-256)
+E = 65537
+N = 1535994647682156830025146305682101430588289375419325461493523175508757972443324873545542328575190898826304246979581796262102498557618669521756543193269936823644479735896765838890964884124308327752058628049476464897754887083569303596310112393952040793116800877055887644586747764213582584023175952242678031352275706621766526669304089776603910618106590459512947849911677482670963369198089945159909074168533868121597987806983779179387965117313926634389182597522052737
+Msg = 7072696F6E636F7270
+Signature = 7BBB18C1CA207CE639E323DF26B14475CD407995EC612F6D53ECEE977D4400E4BFC198ADF8B40BFE27363241A1F9541F01677AAD98F87E93998935146A8F77E7FFBD3DE59A2E22E5766409733F06EA2993620A27122B71C4D9DE755E70C703B4EC6AF5F314E0F720B656FDA93E2B3EE9A1688D711174E0D72D0D486DE36DCE1F9DA031EA46FBD6156B1E7A65A25B42696C9ACCD453D8E467313DA76F70DB225D3C44E133E65E8BCC177D065F53BB81AF13076AB0695AD2205040CD9B4DF851FD
+
+Padding = EMSA4(RIPEMD-160)
+E = 65537
+N = 1135212553663584107314884133903187560403335585911952823156526296864447161004392018898893032642166251226831665007577277923094954883708599671228168609227001559862376751252578968570215347155172780962891797718925202798410837303642875271
+Msg = 7072696F6E636F7270
+Signature = B24136372B7716310F83846719F61CB4F86B11855BE752E85AE6DE9CAAD99746693B255666DFEB8C4A709C93A9DD1B2A08A9BE75831DA000AFA7D6230212C40F0DA59AB8B6291D1CC1DBA24D86D92FC318F764E905E0BE2CCE73E074498A7DC6
+
+Padding = EMSA4(RIPEMD-160)
+E = 65537
+N = 94613803059245341252497110282782662925799518731465926298638967391150899050152239186296389621503521594231856243228621541185833920341908796798487566480908668936175536078268049764050980212141375485417177323511561382225676330608341652891466096188553609446126690072281497793677143342992312930024319534872689932413
+Msg = 7072696F6E636F7270
+Signature = 0795B1835ED3412E4EF2DA7DF692D04E959D5204331C6CA3D978F48F319A79B3A1A51CB584E56B0572853527B1C2F99CA3390C91E006466AAD7628A0FA48887397A865F864D6921575CCF186D3FA569EAF9137EB626A9FB920466FC042AE9B6FB6B8D7EEB4F8193E7DC175B9093FA3E49FBE4D6D472F3F38289A755933234C46
+
+Padding = EMSA4(RIPEMD-160)
+E = 65537
+N = 166491552086320183954109117201818925417708116521858997163635089758714667741158710546579775119315514403338381116959375892471167456748571789122139698283057392753591412506812322815960183332817324693008323699161200640504727783703125815414659382732082432311164083612050255705351127025931627573927283095843563154197
+Msg = 7072696F6E636F7270
+Signature = 375AC6A2B3CC508CDE09109C1FA52980098EA989C2021CC19D74097A7D67B07F599F3FA0C65B02BDA6FCCBA9219D33A1F07219B616C30B1D455311726FE2470F63B86A02DE283391272D85B77C6D834ACE4246B692E1B4B512D5E72F3192142E765E38553CD3FCA435D129C7543F777997D8715A2CBE2B15A5659CDC67DA72F5
+
+Padding = EMSA4(RIPEMD-160)
+E = 65537
+N = 1701550760793421862543562289931026945394881781447262972888516885584876436247030582756068401883540332824266791335242161375224480335226475621762011038836557438486994223355586125107160686772929148665772020114806515137374005081042904112745447320291689531965352389072090097529696081399233391439242320144394058920893342027979668204812408099791474966507368371676137037366817304246182026179444421945259005812216012619671229384439063712942602208902904719453381421672196363
+Msg = 7072696F6E636F7270
+Signature = 32631E346368C620BAF6FA5475F04B56FB60BA5CA67D1E3E22805ED5910ECEE71777FE19827983151E88AA1F9E57E96FDC536CE2F927AA3B34A94441E72FB498A649864488D976A0A4AB7B6490451A4F4712A3AF3587579A791CF8CB18EA4AD388B5C34F6BF54E9CB0F4AC5EA21EA2AA42A2266EA755D5EFFC02FD41C583E1CBDA53C1821BB79FB392D68A4524B0F65EBB64FF6656C52BF54D5774DF2D916C9B793E206E0D5351D7B4D18DE3CA4CCFA8F7A3ABFB36048C9297F7512B3FDA70F7
diff --git a/src/tests/data/rsaes.vec b/src/tests/data/rsaes.vec
new file mode 100644
index 000000000..7fdcc5508
--- /dev/null
+++ b/src/tests/data/rsaes.vec
@@ -0,0 +1,834 @@
+
+E = 0x3ED19
+P = 0xD987D71CC924C479D30CD88570A626E15F0862A9A138874F7016684216984215
+Q = 0xC5660F33AB35E41CB10A30D3A58354ADB5CC3243342C22E1A5BCCB79C391A533
+Msg = 098825DEC8B4DAB5765348CEE92C4C6A527A172E4A4311399B0B02914E75822F1789B583180ADEADE98C200B7B7670D7B9FBA19946F3D8A7FC8322F80CF67C
+Ciphertext = A54A45C5F534A6C727212802CD4B2A0B9D0069EFE32B1D239D3B13958BC49711E1CA5BB499FBF7402B6006E654C719C5FB7614C7C00699866B38445228EC7663
+
+E = 0x3ED19
+P = 0xC5660F33AB35E41CB10A30D3A58354ADB5CC3243342C22E1A5BCCB79C391A533
+Q = 0xD987D71CC924C479D30CD88570A626E15F0862A9A138874F7016684216984215
+Msg = 098825DEC8B4DAB5765348CEE92C4C6A527A172E4A4311399B0B02914E75822F1789B583180ADEADE98C200B7B7670D7B9FBA19946F3D8A7FC8322F80CF67C
+Ciphertext = A54A45C5F534A6C727212802CD4B2A0B9D0069EFE32B1D239D3B13958BC49711E1CA5BB499FBF7402B6006E654C719C5FB7614C7C00699866B38445228EC7663
+
+E = 0x1F1DD
+P = 0xDA78C89EBDDB277831DC1591C26AAB1C11CE9721DBB3AAFAE8F73178BC2D60055
+Q = 0xCDA647FE7D18AE11DB26331116DD7F0C22D1E79E524D6886768260156827C6E9D
+Msg = CC11049A69951999393D2F48CF7DD27F99C735BC424E538F60EDB512815F88F17B71C27C875D05BD3DDE4B1573C61F8C91AE22D50BC2AC32422C87C34F2B8A40
+Ciphertext = 946F392678443684494FA6AEC5A862C2825CB3B27B6FB6EA5E9654A9C18503F41E8D6FD34AF4076B5A703E14287F133E6A2B0222FF812309DEBE733543FCE97792
+
+E = 0x35AF7
+P = 0xB6B91AC270B7F066374A83555D690D67F0122398B3BFE69EE955F385A87C7736DF
+Q = 0xFF43B5A334ED37C059E693C68B9567C41E7EC17A3BFD922EDF50CC000902846A7D
+Msg = C1BDC66E04769D8D104B4FAC19AA8756FEAB153BF57E3FE305F2A6DA718EA7A140D8C4B5A8FC205E327DCC13554A378F1D19ACEAF5DB3D06266F90EC4C72ED6B5B
+Ciphertext = 73604C1C3F699A56053A627A46502A67D0B604009F811D2E3A296830F5DE6DB0820EF1288A37A3DD47974D339FD06DDBDCA44C53F3A88765F4532A26DAC97BFF7F3A
+
+E = 0x1EFB3
+P = 0xDB08ED25044A98F91CDCD7A92FC81C376A51FF58329E2D2EC54AE71C25C17B639EF
+Q = 0xB99DBF6E1FD6D5A2986FBB818B6887AA41BADE5761C333EE98B095E7D551CC70865
+Msg = 6BBB92A591C6A9B612EA82FD766100E7B37D8DE8FACDECE322B20E18D7932B854A5594FA67972B13D79AA9D37CDE29386644D9FCA609A7717C55EBF568687015A2E0
+Ciphertext = 50825633A36B199F23931AD09DB38DBC8548AACC6A37F1923ABC6F94CE7256427E98E5A433A7F0FDC6DC8C8519B0DFD94A5A98C8AE80D1B502C0EC3592173DCBBC8E5A
+
+E = 0x22E79
+P = 0xFC0A336E6CA2935826038319B45E921F77E4917D978B3177D162FB0CF75058B6EE2B
+Q = 0xB8551618F76501F4518336A579117533AB27866B44A4D15A4C0999D919024F1C558D
+Msg = 483E61678CFF7AF78306C5E538D0AE750F1B172BA0BECAF561EF7D9C6369F713AD0FDD7C75F56F1D4570B668D45563CE7801BD97C6EBB7C9909A9C454369DEAFB57E97
+Ciphertext = ADE77710A5E9C390151CF6E7226E63692367567D1C02A7E5C1554ABE84E487B48EB18BFA20A8BF42180BF0AD5A6E1A6FFC7EC45A4CFCFEEF1E3F3333B85C98101FE8E339
+
+E = 0xEAF1
+P = 0xFFE0213AED2397C0663C26A85DC88DD4C95AA61345C4B68492C3FB1F63B61B1AB1CE3
+Q = 0xFD1DCC4D3B4B474BF2269DB028091B4A4C8AA244D2F2D9C5F55FE449ECF5D2F2DB491
+Msg = BE889EC220BEBD6F542B5FE8E670453333BBBD438EA2DAB4718E72872189FB74E1D1D677C1D458D769C82D8CE7FE163E2384DFE458C39FB5E8ABB78E5D5D3454CEF0AA74
+Ciphertext = 4213C1FBF227222B30F20340E345ACD86F90656034F3B318E43D3BC1A46A0FCFFA2E0E699882697025096D999290CC80801E10F5CB9FC0BC52A2170A16B52B9AEEFF6C5FBD
+
+E = 0x6B7D
+P = 0xCEDD0A94A36B76B858DDC6936C74AD06FFDB4924DB40A67A92E1E04B2D8C40F79C323D
+Q = 0xB78925E051D7502B08DF6E08CCE50079CD135C4E598A0C4401AE7300580ABC4E8EBE03
+Msg = 98F60C8C957EE09B5AA93A4F1260143AD426B5C4A3704DBF02006766910247D2629F867B50DB700C4BE6BE97571D00BB201B2B3F3A4D663DF47C0F54BC48556E5EBC34AD82
+Ciphertext = 7CB497661BE76C5DF706EB0C0501946ACDC5F29FAEE801A77F8977663C1428136DCBE39A27146272635C3F793546D1EE26850612D784D57C5F3F3F1C14A2DD58E07B06C2773A
+
+E = 0x3F5DF
+P = 0xCFDB1855F00EF13CE24453CA18C30292853D7E67AFE568F0C03E1AFBB68A0FC957559EF
+Q = 0xBD6E7EDAC9168F48C0B79E5C8DEBFEE0344AFD7DF63632C9F10084605EA7EA2C37DAAEB
+Msg = F34B51F68AE00AB209B178FA4ABA876F1DCF438016CF7054A4E979B1D239C6FE087E492AD69C47C5F4574DA5C506AB9CE37E6088FC82BCFA7ECAAEC4C14F2C8C7D9144C351D0
+Ciphertext = 94450AA696DB0715A5EB2B4FBE5A9CD4B1396A6DD8748359947C809061E13122C5266368415EA7D4AB343B7981229CAC73BBE2233B3DF2F706DC26F32AA428377A0172AC58C662
+
+E = 0x17577
+P = 0xC3DFA0C60823C8F5355CA1768BABB4A33C3FFC55CE89FD372F5D9B2B2B49DDD23C669A77
+Q = 0xEF50ED5CD6B6BF898586F8DAACBCBD5FEE637F56936C2535F4F5E30B35B9F5DD8B8D6D61
+Msg = FE19C87AA946B87FB8CA1C274DAC3D67F5E2D67EF2518BA3C1C6779D42E90FADC96C849065908D836E74F5932536C2CA8F6B65ADCA245F78C6D4F3230D50264E804B460D6C50B7
+Ciphertext = 13AF743D2FE2542AE28DB8BC52119F3B563C8D800D88ACCBF66EEDF6C418D9919D21A7B4AEB02882CD8BC201CB66DD81953E27BBC29584148CAD99A4AADB5864B403326A56B19F18
+
+E = 0x3967B
+P = 0xEA749A2B3E172EDD565949DFF7C6D6862CD6C0926221E02E48A4C57169DB99058F1AA0B1F
+Q = 0xFBCE4C37F70845A76B894DA16FE38ABA97AC9BB41502DDBB3B8A324D49ED6BCFE424AEECF
+Msg = 2C6BD8FEDCB431F2F5C4EC93841BC7C96E5AF33CD0A92C40D552F18F27D1021122F184140205941BCD9943C17FB14EAB112BD0298BBD73280611DD873EDB7F8431840D01618564F7
+Ciphertext = 06D86CBFCCCD3053F2280DF34E2EE6CFD7C8F9A2C2E1F610918C160BEB3D96C677A44B0F26BF738AE8A94764ECD03AF8F450761CC58698C2D4D62C8357A97EF09811E5AD7272888398
+
+E = 0x2B62B
+P = 0xB9C09DF3CFC53D3C72EA055D8F4C10E4D477CD657D37F0ABAF4EEA736AC1B2628B00726F0D
+Q = 0xFE01AC6F0BBE2BA6C593FB96A0C24829183D1D99F5CF39909BEF7B2F0D8859D325689CF93F
+Msg = DEAEE8D8F4D64EB0D88BC82DCBF7883558A44886105BEAAA2E193ED843C956521F155A750BEA376E179B54465574C75E817B38BC51C2451739DCC8F6A55193076E4654CCED925DFDB4
+Ciphertext = AD285E351DF685D52E53BECFF44B24288C323F1E3ECD960D0773D530A7D4D622473222BA35F5078ECD49D2234FEBE178AC099BCAF0C6D11D6309099BEA61DB86AAC27AFC2452034CCD5D
+
+E = 0xA57D
+P = 0xEE13F2AF183D15108C8A537E0FE9B39B3ECAF21B3E29995F121C6C0234FAF590102E90B46BD
+Q = 0xF369E93A0B0B6F459077A41C4548218D32CB0C2F7E3227EB61E06A2D77D5A638DE0DCAFE987
+Msg = BC46B68B8D7CDA2EE172E33D3D4B0A0C3A6174C69920BDDFF99795F36178BE629970182EFF3D3A1D796AB6EEEA3FCCA7AC719436718619D86D8BD6F8F4415464899CCC852E104CC5841B
+Ciphertext = 5F85961809D44F4D5FA6161F1F69DCEEF6B4D9B1EAC9378595A329761480B9658CC5C5A2E0AA4F63B96E7961AC450C0C37B57BE0956BFB8B4613C9B4FF88C0849E02CFD586AA03847482DA
+
+E = 0x13B57
+P = 0xF7B57711898D0CD9F7A01F3089748199E36657205D9886C225BF2CB2E592745F139B1C4EEFCB
+Q = 0xBFAA7B146C59824446B21716A991A09742D9A84B94F7F0A16BF0717B2D9C1A4665C3E8C17E35
+Msg = 913167F67F74B1AC7D534A9A6C5DE71227B7F53BCB806897284666E147AF50CB263433F938DD07B5609DA8E0BE690220B57D99F4051AC8D5D67E86ADE626F1EEB0771C62DAB8F4452A637E
+Ciphertext = 97A5809F41C9AF2CE06CB4E43D96D0762B5317D3DA5B56F38493D4D8A75CB3C7361801887C9210D39B5772BA7F32D302F91CD622CDD9FAB50C3A14AD95824692660D1631AC601C310DB91D61
+
+E = 0x2FF3F
+P = 0xF6F1763D1518036D58CA36D95E429BB9B47B2C064227B8C8875E0B16326A09E8397EA805DA825
+Q = 0xFF0ADACC5EE6B8D4E5E94985C9DFCC826A650A1AE1CE888ACD44D474483873E855FEC4EE7C235
+Msg = 92D02535AB6B255F85546AB69CE4223E63F4355ECB57DC8DF1F0E56505721A78233A9D94A5B601537CBEAD6E092F1ED4441B32510883B2CA7C2211D04785E78E5A1AB4EA07E4983DACC4DA1C
+Ciphertext = E131DB04F4578910C3DB88C909BF429D29D02541219925CB4447493CE13BA756D5EAC4D68EBBD3AE853844EBD5E3914F3001A5B722D4EFE0C1203D89B9045440145966B61D3BA1CED4AD32C773
+
+E = 0x22E97
+P = 0xE420CB77F5D12BA62595E0472843C39756E9CB097992EE1CD06F96EFA9ACC96D664764A674C953
+Q = 0xE65E2465225710AF7467023D6E9546BFCD04BBFEEEF6A29302B584ED6C9FE4ED4E0680ACB9A79F
+Msg = B2D4480F64C8E6D357A260031C3940D93380AAA828FC80171DE482B4788AF1373EA3833F2D547B5AC63279BFB8E68A2BF5C9721352F650E0F00E1932D9106235B2A99D74D133374CFB08D9FBD0
+Ciphertext = 072FB6A4F6B90C43226E0ED5A5233BE19529055EC3005D161AE60506A98DDD5B5E60C48FFA2DEE0CCD2B4F3F39938D52A5FFD3C48496232C4FD6C05D05E72BACC87087908FEFC6849BD196686D7F
+
+E = 0x3EF9B
+P = 0xF6F758693253F88229EE11BB55982A8D27B424032BDB3FB47DBEE09ED159D54D2B4F3D9B3E54097
+Q = 0xD3C1DBA4606571FD58FF9CAE5B0B74CA2F496F444C37BBC0672AE5CC22547EC5CA90837A6865477
+Msg = 26B0E340A506CF587FE2AEAA4BBFF8E8A721C5DD9F96823274EC3050C3AE7C04ED8D102044AAA86F4AE7BCDB8D53FB0129B152E4CBEE7C176A7945BDFA561D03554EC6135205A0B0D7FB79B98C63
+Ciphertext = 6D48A0CA04F5E1B1CB5C8C58A14A3F79AE1FE20583D6A22BAAD4BE1F9CDE028935E7246C2DEF2BF591BAB9AB2974AC6EE226031207754FF6E0FA032CED158AD41B9183FE13087C5C07624B4192B1F1
+
+E = 0x15465
+P = 0xD005A4FCE046350601ACFF864B0D2B2A09E38D5E96F2CCD6AFD0A1C52270FCE297219A52EB10BDAD
+Q = 0xDFDF0E254343E651DD4EB4B04B881B8274565CCCE054DEA6CF2E24B18B1B124B9C455A898C6D989B
+Msg = 105D43C035EA626D0474851CA5EDCBA0C4848737F0C24653AC2C0025D0076A7164DFC6BE2F3833D34CC52773C4A9E5C29D18CF02558D3A3A0BA45BC142221933923066F745386E4FFCB12600ACDEDB
+Ciphertext = 5AD148B4FD171F7CF6D44F69A5A90D96097D20C2119A88692490D9D86F1CF3D00DD0D0D84D71D3634EFD7EADCF1052161608355D1FB00DA6C36679C51BCF079348A62C1D6BD5E094F9CD9095EB828057
+
+E = 0x1D9AD
+P = 0xE2698781666556447427B2E3956F7A8A9C089021158415144C4C48555C4B8AD95862C275C7D319FDF
+Q = 0xE7588730EDF12A42C40BF58E0E32E0FEA473D683577C7901F46B26793DD002B6EBA0F9E72D79B1B97
+Msg = B31908872EB8E97BDF94B976F04F24546FEDDD4E20D91B6555DD4B4B8E33EABE577AD922C5EEB3EFE8E060EB69763D9D9072F121DD26097B262A765C1556BBA32AC3D80FF23538ED50CD7594805D8165
+Ciphertext = 94A809E73195D7EB2155623CC8B383C28B971920A4399787809EC0CC2E6B41AC9027C0B939157AC45936DE7CA116F625C01EE6419010061B8CD2D0A9047F89FB5B5DB630AC86AA5572A81C326B6906355D
+
+E = 0x32623
+P = 0xC83A47D71C360BC385D1A52A792F209596F5B71A0E1743B7AE19ADEB0C84E3A74288884786AC5F5B4D
+Q = 0xE72046AFE6C5478EC868F602A71316FBED2FDC8D872D48A5EAAA05235EBFC42A4DFB599C13BC61D8A3
+Msg = 5C5CE3F7AE9AF68B16F451F67057F8C041398A53C6FD194BEC1CBBF0F074C2A45C5C88ED48E4A215E32CDFABDA45C92F24F94CED95E8C2DBCFEFF9506181BAAFB8EB6F5688ACFB42C0AA0DD1DA8CF4B760
+Ciphertext = 1D7BCBCA46326BB722340D45EAD0825F5FB1D6C9FF3C7841C749815500A227990592D599BD2104F53C9D2DE460CE8078222A3FF34218F89FE0065E4FB852E623024987FAC1AD0A12EF239BFFB8781B38A86B
+
+E = 0x1F471
+P = 0xFD762F93472C2FC5B3198306AC6E4D18088B0A65AD4975EE26FDC78C52C4B7CE3E754532E95A5B548BF
+Q = 0xF15450F4E38CB8DAFC3153725CC289DA9F0F218CFC65F6D62BCE770F4D42763CFFADFD26DD23682F419
+Msg = C4BD415792D696D83CAD82285A0E7A06CD7F05455653F13F56DC4D463CEE6753B6237B301A5112D7C8995815650C38113272BD0F6AF0D5D51D7E5EFC82B9DA66242B5A71FC6A6C0436DCBEB86A3C1CCDB75B
+Ciphertext = EBE9C9D258C09B1F708235D5CDC2751923A993A9176241A5554356C752C62F081AEBFF2E133002B1E70F5902CBE6C8DE8B12080FB9CFE04C1E7EF7036D0A6D07CA091DA3B085FB9159BC5107C728F55FAA25A2
+
+E = 0x2DF8F
+P = 0xC3362EF39B78C21469D23C2FEC1642D3EB7A7B72695A14FD07A0E6D616B0C50884540BCE165971AD3833
+Q = 0xDF631F65CDC45053FDDBA18E67E47F45F14D876E4D89101E531303735B38C883621A2CB7C16AFDCBF26B
+Msg = 50F14DFFF4F8B138F12159A52BD7B22BCB6979062C8EFDA7E9923A7EF43996C954EF15524745D3A3E5BE1A57D416B02F11D9F7BE36BBF56CA3CC22DC27DAADB3423B4788B5DC72BD0E6D3083F3303AD92AAD72
+Ciphertext = 5F5BA5370BCD31B61BA12DFACE38C80A3941C76091E3CD629DB5B6BA90415D83EDDE9C640D84D8D671F13974DB70A85ED0956EE53ACBCE54EBC328729630AED05321A2FF3C3FD7F1DCCEE8968F9317FE00FE3244
+
+E = 0x33801
+P = 0xED0A07AAA76BE91DE67ED0EB199779B16FCA57E376724DDE07B11C538ECA422B15E20D2668E6E76E6023F
+Q = 0xF053CA61904163A5AD824276A97ADD3153B473CC1A45C401EA87DF2CC9150B2B8BF817499A2A0E2EF7C3D
+Msg = 585918DAE91862F4B8AA6F15273D1CDB9FE2ED4D7F0AAE8AB18D2568BB844B37297FD3B7AF38CA29C3FD944DF17C62258CB0A4774FCFCF3D46C1D8A96EC87E935D38D9069F337998C7960DE1BF808940E2E5ADD7
+Ciphertext = 978782932C74CE5E40602583D3A3F4C18444692C62F13B571C2FBB0BC3512F5305A90298EE626C3E32AFAED17BC3CD85EA6C05A8F84E8262160AD9486EC5706560769494E0B3E90CA6B752DCF275FEEEBAEB1C78AA
+
+E = 0x28F63
+P = 0xF69378CC655534C08A24FF41A6984AA981AA71574EFBBC565ABC63320F1CB5A20CB599FEDFD12559C884A9
+Q = 0xC954A6E1207C0C36D39ECA530B5496D91A12175E2BD9FDD2DD897542694DF50292D93136252493F5FDF347
+Msg = 6D63D56180ACB06BA7DBE50E01F9D50424B9545CD054AFE4BFD6BD4B14B718014F2A9E712B3EBEEEC83B1209F895C709186E9D898CC9CED462168B129534CB241D6C06FB2CE1984D04C2434153AAC472994AA6D3B3
+Ciphertext = 4A2046DBC2C49E68FB37D77CFF89E2883610F0076AC081FCB9684A4962BF8A21829EB10E94C35C5816FADD1F1CFC4405FE9833F79CD363A512DBACC6517D98305FB38F17F5F04CBB3C8E944845C3727295CD5A097824
+
+E = 0x3C283
+P = 0xD9E9285C4E77272100900893E78AFF01DE4C6CF03EB8B7B62B4615DC09B58DF98ACCA559DE476255363DB7B
+Q = 0xE756DE8333A525E410D4E896B4E8C4404B55C919BA168F97B6E0B6D1922CC56EF3BCA5991A3D9822EF04725
+Msg = 3134FD350325ECBC1E8E1E702C1CB3EFA940122410B2A31BF90B7578D8B5370AE8C961CF2824C5D5A8B298F84CA31F57353C432A22C17C9CCA6501250A6B930E4C043E634CD0308057C0E719E220478022C4A13D27B4
+Ciphertext = 3BF6E6EC491B9615E640A19A9C50AA27AB57E3493F96C4271CAE56C377815CCF2A65867CF93277948D6ADBDAECFA629E41E72E20974735AC615692DB76EB7CB83F9388FC86C86C615E13CFDBEA9567A95E2D6B61FE6077
+
+E = 0xE505
+P = 0xF0D1129E96239792FF1B59BE8D2B755018BD8CB83DE5D825C04685917762185A62A080DCE9D98D389AF0040F
+Q = 0xF4227E1F8DE368420D5D6069E03709168A8BFAED59C8E85C8294317C6FFB98332D736540CF888EEF6C0C5CA7
+Msg = 72D86399CF78FC56C6E3FCFEB75AD0399692D3864AA1060E5D92473E82BC9950D037D478D2130994A2ED377D8ECF987048E0014A1227D818C5913CC1F8646B0EE10961A3189A031073867D763262BBCCA2FD04AB7DA443
+Ciphertext = AEDA2E28A4DBD01A7F288202D1D3D83BECD2DDAC7E6CB38261CAC58F5DB02916DFF53A9FE8EF570CC804209081D465560CFE9563C8A217581DF8FAB4E1F7FC22AB8D89A9D1BD9A78C1AFCA5197BCF6BC9A8D84AF53A5EBAA
+
+E = 0x3DEB
+P = 0xC09753C0621B13376CECE340B0B0048DA5F4BAA4C8DA1F0E7EA92ED44E5DE757971F155A6AECEBE751E485A9B
+Q = 0xCA4B0930AB38FF92E10A4AAC631797ACAD2924219FBF36E4AF18DC918BB40574B072F23ACC1CC2C4B5ED15187
+Msg = C82FA6530BBF74AB38EAB8C116F5AD50AB007BD36E2BF91B9E14AE69CA2639E6FD928FCDBA3B0AE7A1E58142B37167B41885DC2B6E07DB003944BE7D1815F3EC442B47FD4518BF3B31909DAD3D950ADF4FBB212B31C9B62F
+Ciphertext = 03B2926F1560ED49557BA17D127C669D4DA2B37809F14C0ACEE845F6AEA36EAA118125D94F9D9D017C9EFAC9AFB2EBA7C4DA17B95833CE1EDBD846761E0F7872247C23EFE8B2451CD4F5F84C6888159705A9C4AAFC3489C2AB
+
+E = 0xF4E7
+P = 0xD8658E89C4E85DD9EB45D4584265686E8D19E9AA823D5C37532C6F9EAE8BE236713DCD3DB23F414C55D8B6D867
+Q = 0xDC3A02867F7A3BE96A167491BA202175E8902776A9F3D9A852929F27DEE0FF99F5C321A8D5663F7CF074D7AF01
+Msg = A77BC6D9F770F51BAC0612C4939F10AC9F336B61EA6D87E3C5E25B053792D9A90F990A18CFB8208D027D7C63E14FD4076243803D4EF226C4E17C801EAA3265AF361B8434EC8AAC8144777FC00541898C637A7681353C99CD7C
+Ciphertext = 3CD72CDEA001A4F815D1634599DC6BE03371FD68D30D2AD40FB38E1ADD92057E4481822E5977A94EA02F9DEAE1D59DEC6F9158D45D0841A981D4D9FAC7C766A8F9E92BA06B67AE058CF022FE39FD7373230B831AF141C3CA721F
+
+E = 0x10C8F
+P = 0xD946C37A4DA5F1D01ECE1ABCCA98DF361D2AE47BD1AF421464106FDCEA6DCBECFF3B91163FF9C0AF06EF9FE368F
+Q = 0xE3D6B43DDFAD06AAA4941129A4FAB542C41BC55834B4D9BA01C5A4BDEBA010B0EA2D125C23396B669B8CDFA5651
+Msg = FCCB925AC2AD6E6E5855455E84E266CAF5E6A397AEA993003E80F3F7D3A1B83E3A1DF9F87233CBC3F2969152057EE85254B84260EB6D156DAF844C994F03EEFC0B4446B25D6C1B4C464238871A5EEFB45DC37794DD64E4A8C175
+Ciphertext = 3026BC29CE98BE196930D34F12C2DA7702373BF4B15860DDD5FD61DAE4EF0DBDB353DAAD8091BD89723BFAD2AEC3CA127594A9A8F2E7244AD821483EB73B014DB00806A8C5BECAFC92FD79609E7F9469EEA28F21BF4CB1AD468E4D
+
+E = 0xD89D
+P = 0xD65E29ADBAD552696C44154EA2C80C23F49A604DF256730AB1BDEE5FCB9D9C2480CB1EBC78830DCA559F40ED42F3
+Q = 0xEEA2E85BCCEB57BA0730F0D01940F79A55B91D2CAFF54B709E7616364B020FF9F640C4AB1884B8EF031523855693
+Msg = 702D36984EFF9FDD16A879C177768B4C497E384E657CCE78C9DB496F0898FC3DE110E46A9679838900A5177027E9AF0907A8074BF553019327FE47DCD86E11E4C545D80AC4275FADD2E0909236E55C6846317BED4D286A8B9D5122
+Ciphertext = 3A3E20F621512BA40CBFA6CECA990404275CFD2D6465DF62EC70A3CF0AFAA337D6968EBFE5E66B6FF9666BCC800E80F4BCEC9DD33076DEA1033A391AB220DBEEFE6257505F8DA1F61EA0219BE7B93A89CEDD5EB1E6895EE81DF52DCD
+
+E = 0x96B7
+P = 0xBA0A5FCBF606CCA93394B2874ACD6B27E8A56B358ADAABE8FE70577C37B13EB508278ABFA5C3D055419150FA77145
+Q = 0xB8399927DAD237158D4385C3D52A5237BAB2FDE90A50CA601CF8C9A91316D69E8AF3A66DC400F884FFFCCA4B4D6E3
+Msg = 1BDAAE1316925E851F9A25903F3551D8EB7DD69B81A63D9574C961CB8A3F2ADAE7341C82D8C60DD6F28D947A40D48063FBDCF4AF69D5B355C0C931850129EB8384CA5B805692EDAD9D5A26C0C9D2A02B195BD8617DC39ACA0F349B7E
+Ciphertext = 7660C59184EE406D35A4B6909A5711B2F7053F948DE92C3D75947191406959434B529C035AAB7785DDA4B14D9D741085AE1ACC5113AA0A3E93A26845F0E6A25DC88C4865CA046F35A1EC6E8E4DAB59055DC49955021EDF85A50FF3D08D
+
+E = 0x1CDB
+P = 0xDFADFD5EF2FFE2F823AA107FAB9388C6E4614833F697701882301A874CF2D2CC8C5E8D881DE3B1C86D043B0EAEEE87
+Q = 0xD5483867A334313530C629B9B6386CC1A385716FEF988EA995DE8987380FDC1F2518388107C939DA0E1F3D869A66FD
+Msg = E1B889BB7FE5A95A69CEFB78A20C748F3F44E9734F7ABCD7D241E9831DCD3B33A36622F21EE32FF85FFBB1C56A379D8ED3A0CFF791E61BD6E4822AFC05F22E356CB10899DF3B2D5119BD9350FB901A261995D616FBC5F851D0C787E31A
+Ciphertext = 04D5337CD443A196514E2FF4A3C264481DA91FD1A01C8C819BD376222A824CA6527F7C488493645808577F17E896A6D9A39B6A3E9CDFDCEAC46A2160752D4F30223FBEC4ACA5A01C3AE3CAFC34ADABDF661BF198C7A0EB4C696C60D590E9
+
+E = 0xFE1D
+P = 0xFC7C6FE9C0AEB5586DAD9FE052587B0174899B7BA9336E1F43AA74DA97B6A51C1095255F88F2518070C79CD3D1753E3
+Q = 0xBA97ED086E482E723CF61B68685946173D5E3E18E08755EDF817671144D752D388C6CFFE89E0AA1B0C204E9BDD749DB
+Msg = ACCD4BA9136BDF04D0DE4EEA9DF329AD891D115E2426A3AAAC41F69F2AE156D01BA34B5B2515A7CE7191A0266A7EB280798D6BEE627B65AD3A8D7A5E94603C79DE429D9EF8BC9C4DCCDAD768D0BE24E89AD29FDE7978651ED712D17F4269
+Ciphertext = 66F0DA8E2D30844A391FA9320732CB75AB1ECC4D6694B0775DA41D029A8A8FDD0CC7AB74E52D2E2D522AE7F336D3A7C21BEAA708C933AFF48BF117C99062D899052B2F9CC5C7C86DB7F2A5CF9195A1CC8E73B82ED6F3B4C7AAFC9760843E15
+
+E = 0x2F99
+P = 0xE2AF62AD078155F452BCDD17DD1F37F73F22652E4D341AE558A261FD958E7304FB6A7DAA6F1D94F670F2A6163ECCCFD7
+Q = 0xE716A2EEE122C98651180F8AFB865C6617389489B69462D9A18570A4DA0A1006AFCDE60DE41F333908DCFD82C31C39EB
+Msg = 1350D7DD6D558BF7B2CC13628D12E6DA39F925D6F966103BF00529005E6B0A90A63FD58A674467468B065EA3E48636B9B409EB4167443699A47B435ADB68847D1EF00C90BB890AEDC6EB57BC3E8DB01CC990F14E6076AB5E7DFE5B7C5246DC
+Ciphertext = 46DE5E9C22FBBB39C33457C66F4C447E922EA5B4D822BAFA60FA072B83628D34B27316B8FC418AEA2FA0C6E495C474BC205DC35F32BE6FADAC38D2BE7E0CD1AF1A548908F0D5C1F97ABBC1A3ABC30664E46579E12CC9624DFA7D431D44ED4809
+
+E = 0xE3D
+P = 0xE7D355D9F62F6E79567C02305D34EBE95852FD5E77123BD392ED843E3D28C22FAFF3390E7A1FF42E453730ADDB98598BD
+Q = 0xD6AF51AA7C89556E79A491895000665242EE272FE3E18E79A6CDD9B7BA694784BF1A9611C9FB10183105DF0535DA57207
+Msg = 8B7800B682AD7562D7677DF8AE845D1A67582F5400D32CF51B044DC7DD9507C5074BE468AAAE7A6C862E7C5267389A93D365CED7E60D70E0FCBCCAEE2ED4CF549B7FE6BB2A3D561AFE19B9EE0D094082921FBF7DA194B884189A659E72989DB2
+Ciphertext = 815912EA98FAD3D186E4E778617398B99482FD96B642B5D97C76B401FD028C0925017DA2938DD756289DA08F8409F73E0D382AC7709AD0924AFABC918380C2A5B00804BDEB99B249FDA0AAC227083861D9961EBDE7A64935E2B71271B9558CACB8
+
+E = 0x37337
+P = 0xC3335C0E3243BB8172670A390A4C6F1D51CC249F8AAFDC77B53CA05912808CB2A7AEFF1A8CF56129D45C80256C6760E9F1
+Q = 0xC8978DAD5BC81B1DCE811A010274BB838F641C996AE49B186018BFE91EA04A54E8488CF31D9E1DD1ED2486CD817CB7F05F
+Msg = 7EE901DD41DF722A51579A4499C02E981D73664634BD6A032BCECC326E1CE5C7247ABF9E6235877312D282F3D3F6613D3B7BB97F963B4437C69C6EDFB6DDEDD519F72BB99E155406A7577AEBA85390AC7EDC18046D639C70D5EBE3EBD73466DF68
+Ciphertext = 4B2E3B069A2B0559A1BA2E50170C0DC28930B7D2F6954DD02D4FBD2D97975D8FF1E2CA851640ED8522DEAC48A7FBCF85DFB18D698F9D3DEFCDDACD99AEBE52651CB2456420497507D3CE55CC4CE411249840D776AC2952FA5011C68DF7353F832FEA
+
+E = 0x4935
+P = 0xCFEE1A3877BEEC28653154CC1E158B7DF10BB6BC046A0DA3A4BCBB9545964D34BCDB256508D477B4C2DAF0C3A15BF602487
+Q = 0xFB2AD04D99FFA45B66A5A60F1F674107A384D121C5B463177FBEE5964A1B3713BFD37CD0517132B74F85B792DE1EE71E7CB
+Msg = 8E90BB43D3CF22F8A7893F4B36C746259DA901FABECFA8F4667798AB74DAE54C9B2539DFE6B25211EB9A1E169B609B3F84C212B4A568CE1B86157780612E41E90D20B6A1F71507D16992FA88A11D9C897C8E98CBCFE6B265E31A1B242670E23B5AD4
+Ciphertext = 54F84FCBF1573D4B08E67172693B2BA017EA34E8D27ACB16C9A43B0CFCD0C7CEC122C1B8ABEE8FD58CF82F98FED112A31FB4DED936143BB442F947BACED07555041DAF78785C63D3B323347F45BA800E78E545FC115D873BEEDEE9AA14D281439141FE
+
+E = 0xDBC5
+P = 0xF75E869AD89EC4CF9BB028E3A67A40533FB4BDF8E663DC038E70A19C23B37D49ADE4CFD219C3DF67DD18A0CD6869494EC05D
+Q = 0xC921AA94CC7653F9D02548B5DB56A46FC5304A9308CC0232773537EA52E03D5A2E6CAB5061B5C788B357BFB34C4CA782FCEF
+Msg = 7B766FAA923F1925F89D91707735570A0E856AEF65FB5232A1EAEAFB1966BCADB826120DE38D46513368A864290B36A5708F970AC9C114743964ACCC95E100AA2AC1A0A4993B34A70BA336968A9C7CCDC264A06BCEA69D47092856FE451BE7892B17F1
+Ciphertext = 5DCBA27ED4BA89D25550AE6587846322D73483F60EE2F128B025C496A0440680FB49B49A57CAC9479ED3210A27BC31F06257878FE3278D79DE65C14083DAD0B29ABC32C4C1DF53019267C698438FEE0609C3E2492009F2E28B39A04553F6D6B18D16D867
+
+E = 0x20B7B
+P = 0xEE50E2D3362D0950E6A79003E342238AD710D03737EBAE5BAAB7A0A4FD7A7F6AFA814E768D9F12B16C52A5294A8652E4BD44D
+Q = 0xC9977D38FACE5D6003FA12B76880D2545BC15A78FBB19DA19FBDBCB5C5916DFF18A35E10E0479FF9F5C5D807D219F2A10D64F
+Msg = A298A470C3B161484FC89CB9CCF39F6ED2E141447DF74EF559CB049F2DDBF1DB354864814E96137E790390AF567253B3461D3FE0FD359D8C59268B0E6BB401A17F849414D6B33FB43DB254ED557CF14A97FBC72CE7F13D1B0F607381D009C88C64889BB7
+Ciphertext = 6C777A801C39D3E984289AA21D01456AFE5946DA4C236373B3FCE7DCF15621DA90871AF969CBC06E671DFA7105892C89BE8649B3F27E28461D1C02C071C7D319F8F5A3D5A53B1A66D0330579807B7F6AE0C897A71367207A7BD3263B10F4C3824BFD11B8C5
+
+E = 0xC31
+P = 0xBFD406DD82D7EB42637387460A82E2948FCBF40F9CBD8025F1B02499ECF9B84D5777C596F3004814F746360BD6F599526E4099
+Q = 0xEC593281958D49E5E4D8CA8EC3C68A00A19CB520255E19E1A6813E724A0B7A8C7ED9ACD221997E2CC915570F702A58CB9B4B1B
+Msg = 06FC724F11105899E12F70570719F342CF56476A1631C7391196F856012032C97B94C10865CE4BBBD6D524316B0A6DD4796F56B62FCF585F83DA7D138EAEA0FBD7E9E7074C5F1D835C267D2DFA369EFE75C2D1AB473A29B035750AB3E048A5CAE8CBB7CB7C
+Ciphertext = A34426C6435AAAE6C0A176881E4EC4FA6DCF1963761C36144B109F01BAC3ECC7FCCD63591C7086BE2BF77EEEE7B707CB13D19533FB82AF97F80E430552BA461DB9E6DFB37B573C0B8875C86C9060342235A2727EE1B291F9B8F89A84CDE67FD48BDD923AC1D1
+
+E = 0x3165
+P = 0xE13F572C3892DE9E82619F265EF1D0E028AB2112A9F6B855883837C930AF6C50DE5958B8EF9E706E8A5BF1FD041FA89D4E1A66F
+Q = 0xE255C42A2B88D2E4B1FC51167ED335964D980670B30B9EEFC8E896A52DCFFBE8AB5C15D465C069040312DB7B9D9C62D990A78B5
+Msg = 62505EB7C1E4AB70E230CF8B9974CC32845FCDC37174DFF0CEFF7BB28FB44D4DC9C326393C4B185E8B2F5E306CD56D33DCDA16DBB33832F3FCB437AD3A31D7205C87BECAFBF42C81CFFB14D4309B1503604015480BA539AA79653455E481A34FD24D6086C04F
+Ciphertext = 00B5D962C18B90010043C6B3B73DAB6644EBDC9BEA758C890F60B8F5694DB3419C29968AA245CAFCD6784E91608670E50F6C9E726200ACBA8C776438C2D35E6E0CCD52E2B73EC9F50DF0BC864BF45909AFB80AB9CD3DD2C2C1246E7AE78FC759669C43A1D69A5D
+
+E = 0x139B3
+P = 0xE87416D7D28BF6370DBF37061938D4098CE25E503F6974CBB36494B21FE81AE18DA11C25C0077E8F147115B259B2663733CA24FF
+Q = 0xBDE29B664ED4544404CFB420E81CCC2875CC6088A82D193167CCE66EFA4D6E30790D882F4DE4FD6852568E8A81B52769C8D4E039
+Msg = 5B514F002EEE84D142DB23D38386460AF5EFDAA7FBDE017347A3AE359573338DE196215D4935AE0F8EFD5929FCFF748FEF07FD42C9614635B249130F291DAF70F8193991EB2D7D2B77096395A112C0E792F76B4049BA7037D4CBC4D2964DE324FD456B52E4D153
+Ciphertext = 662807DC23C41CA24C64A2E5502C389314EBC3C9949E93DA2D2BDF7FB1C1EEC21619C373948A7C62F2B902F77B7B5BD5823ABA38991CFE6A60C12FAF6C1FDFAB2AF539CACBCA7F805C33875D8985B3C7642CE9551738C214BAF9F465309CF94F91C2029D5900823C
+
+E = 0xBB4D
+P = 0xCF8454329613DFADA528D9556A346FD8566F5B1B42A5EE1E972F0A7B8D03DB800C9A04D93DE07ECBF14CD67A11BE27F8909F603B9
+Q = 0xF67C6ED7DDAD52B15215D9A1798A099BCF20B7D65434CCA74A279BD63CDDF9D27F381410167C67294535784F860BF22CFB9E90501
+Msg = ABD2BD2EF35FF7CAB549E375FCDD9396CCC9F6D51F390DBB06AFCDFA2690BCF4E7B4EB8FD34702CF7C272ECB64A8D3EC50F551FE8548DF5D58455D8113940E65D8D32864BFB36CD641410B60137DA69EDDA58A45EA19834031E788204E4C57B7CCB300F8264F2150
+Ciphertext = 26AB09BA08816E7EE65791E8B5539DD6D19A60A4559315969EF3ECB299334F6A9838502555FC7449D80B3434C4C824805BD1F4BA3537D7C0C8DFE56792AF5664B8337031C393498AAA558FA89278988D33ED4DD0BB896F44ADF623A78F385E135085288BCFDF5E31DD
+
+E = 0x2EC05
+P = 0xC5BBAA73868BB968A5A3693AE84E7FFC58D7B77AFF05BED1B6D2CFBB62207F95CA33CA7BD29000A1592C9895CA60175C4E8EC9F7F3
+Q = 0xFEFA4B1CE3D3A3A00FDA17D05E0A95D4AADC7118801B54C04E06A6D6F417D07322EDA0EB9E8672C3CD2C40D90D50D8AEBD61ECA747
+Msg = F294399D778469FDE1D6062DDA214686C51069A8F4EE2DD4056D68E3CAA76FFB149AB5B3F2D0951190411B4795CA893A87CE2832FD728FCBB865491349EF9091BEC02FB4611AEFF9B88E7C5D5E3CB2F26D6311FE4742DC234F12A15DCBFBC09DB18ED8D663EDDF3801
+Ciphertext = 6A01851AB2C0F15AEB5F3C0F7C4ED4B80D0DB1075B25352DBDB2DB7BA6DFBD07AF4C262AD0C615E8885EDE377738406391BF6402C3A7EE8BEFCF26C91DA0F4D9FABD4A6F06E76047B87B8EE0A5D9C8A04B174504F1E3C4E6A4DDFEED36FA4F5E78F63ABF4838A89DB8EA
+
+E = 0x1B30D
+P = 0xD0E3CCBAEEF5BA9BAFAD06D5B5C6727D5AB85B23D1C231BC0A18EE4F166D4EDDAD542BFDDFF0A9185F3EC41216768774239400D7567
+Q = 0xC55B49B03706EF2293963E81A301DF8856C42FC2C2CB10E1CD36E1F91100C87718D06D20A1C7B0DC125D0029104A6B957513DD1926D
+Msg = 881A8AF4FC9C7F9C48102D904F44829E80A5F8879B8E65792E36B8F15AE189DD36AC9E976BE57A69CE59BD455116C3E281C4371CE0A89A4B59B12CEB51948FD3CEB67B8682B966B9874A67AA61C497E72AB8516F595B582BB828C94AADCCABB51C00498CF7D5BD8CF005
+Ciphertext = 25816413403B2DC77D9345ECF1B02C9A95F715AA3A46E8EB9DAE5E7953FC30BA601F22CD28DE3C0397699C004631FF297CD48985B13629FF9E8527FFDDDEE18E6D371DC0CD75353590C8DF50C09032D16C3CBDBFB72C0272D4816349B07459C2F7020955B6A88FC03A0DC4
+
+E = 0x349F1
+P = 0xFD6F20281B82FA202413D8E4C9A6873AC3387FF46DEED6E320F80430A1B8B6BD8509FCC0AD982DDCB2583CFA2EE092838881C8F292B9
+Q = 0xD46FC162BE2FEA78106D7111E94AA9CE05067D4577E32400FCFB80085976F75DAD9EC175532B0C2E3DB59CEE5F00B02B361754F27A77
+Msg = 0BFEDB7551AD05FA01CBCCD7EFDA1FFE2BEF0959D0707B74047F7CB64A165AFE80737F259D7411D5C0BB7713470325EC4C282D7B4F5CEEDFD9C57383AD0409A76BFA7D9F391BE001F3A3CB535ADE0D2726EF9F7D33D805E6A607B19AA83A7457F3911DAE74145E2FE732A0
+Ciphertext = 4685DAE11C6F04EAC0BA5FC5017CAC0F398B0290D128C857D0F791A9D5B0E19329C86461C1D04F08EA31FA7B64B899AF5414C3B9183338AFE87278D74A1E7B2B40A7B2973D2C4F13D848A9F81AF279622E1CC097296CF370634B0DBE6FD31B6763B6D9F22A5CC1E85A9655AA
+
+E = 0x38D9F
+P = 0xF4F791961203FD4D4015567EC4CE6C4C281900A0E73EC013C766D0211F20CD369B698208EBC76F9573942A8FED30CEB201E4508776D31
+Q = 0xDEEF6180D28D8B4DBADD5274DE22A249FF83E8A3E77F381B01A455FB3BC461BCCED640A6CF399B48DCC2B35B5250BF82212F49BF0101B
+Msg = B52F8BF8BF76798AA7F876E0D76D4EB5821186244A5570D26029F2E720B966A610D4275BA74D1C369990F6174F6DFB4090F3C6E98E3A0363019FD98C1EB913F0F5AE47095224064FA01EE862DD089A6A16B6AB78719927F571BC04A2D1CCF90906D93C3AB5BBE89FA368385F
+Ciphertext = 455F2109456B04D35ADB476EBD40DE17B5843DFB011872A444B14DBB3EF1EDC9508C16DFEC97B29047F46E5837284AF8A5EF12B28CBF61BAB7EE7B92ED5D60B121FA8EC4B8027FE9A63E24E85E4E7E01817073AA40AEA874710452C3C5067106BFF3F2DA855AB7DF04787D0711
+
+E = 0x26B67
+P = 0xF160B54868F1B3FF0AD90572170B554F75E7F49A579783BD6338F55AD88678DE5AFF6BAEA9F51159CCC80B84B196C357B0B89F58EAFC55
+Q = 0xCF68CCDA550EB334438AF72DE86D8CF18B0D218E1A15B2061E1EA663083905762427533CE71B404B965D37124DB8391638C62F5F747E41
+Msg = 41C35AD24402B4D134126B140B75150CA4192AB757E03F243150FFF9B69B721C51DC09716782B494948522185A1EEAF642492DE7B4523896B4A73B264FE8A5739754DE7FD1261047F0446C9B44D85EC72262A03EFE848EF19E471BD110D380C0E555D0E8B8377DBFE07B38A8E8
+Ciphertext = B4702064042C93F7B2BE232DC34B8F8EB59554DB7B68B98F1B642A91F1AFA89F6D33BE1DD8B6162767D444B3D8207C578DC83A69F85BDF8E4784A266C9F474A556C1423C54C9940EF602F1063DBC0D6CAF08E05D628A2426DA8CF6978A41D4EA0611FA43BC5C6BB92C39F2486468
+
+E = 0x238D3
+P = 0xC607A2D95AB46A416CC4694E087C93E73EBCAFD1738D7B5CFEBC322FE0A1632099A129596C3AE955C77A6171A7BE65E0B9610842556B7AB
+Q = 0xEDD4D4CA2759A11B0D256830C17CE7DE58E7152B971246CCBB7E52F3863173C1819F633F3AD7D5EE1217F747169718EB8EC14B68DBE6D31
+Msg = EB8006B8C13866902B142447B8A360719CDBFB017B1A9473565648B9940A61B495412881BEC7E023B410186C8F57F555EABB860469C22C155546F78C9DFB957707EA6F4E51E79E1CCFC3A8C7CD8B560EF11C28509F034832DD095F3B378BF2AEAA6ECB1813E0462955825A3EC14B
+Ciphertext = 6ADEE0AECBED2E017022BA21FC0B369E1CA9D7C9A3359A53FDE22A817E0C8A8E4853433CF4C96E20B72F0AE6102065C6401C31B87A7CA48EE75494EF31BE7AB42C7B127E558716CC57E9AFF019AF32FD0CC1C7A09922A46B3DF31C8094D4F996C87C980AAA49A50FB4F6B97AEA4530
+
+E = 0xFC65
+P = 0xE51741CAD444F02E7F689DEE1AFDAA02C6F7BD29847F3535C988E7284F6434C4CD8FAE24E04AD8AD605155D264DA6DD31AEC0919B3FBCF27
+Q = 0xEB66E3C33FF2BD0F27072C71455B8CD72B732345FA06B94C2F4A3D799C2E12DDC3BF2EDD59B4D4B29DBBB96C3346DCDE5EC1E3B2030C5565
+Msg = 7C06B972ECB5E6457E7BC929E2095469A724A641F93DA43EF9C2AAE756D2A5558C7F21EE47612B57DB9104F90C52567DA8E68208D487AFEDD30F2EFFC3642FF010591075AD1B03D543B1E3E025D4529A1D3970BE040AC8CFDA9C5B5B41F2E6E28C7FFE8C2A17123D5CEC05BFA3DBA9
+Ciphertext = 4CCE57B3471D119AB5D0D8EDB148B38C48CCEC514E11E6A00C023448374F011C78E2D1ABDE688C3BB2B48733FF9B9523A7AB3B01F6FE116293D8E36080672E4A726E2796ADE6097A2000097350C99E36B584B652880930942A6918BB0DE28DB94C846AEEF8151BEE6A3E96D423B32097
+
+E = 0xC407
+P = 0xBE39B346B02ACDF3F067D1CC0689ACA4811AFE9509B1513E9E4B52E6BF648F219253824105114E749DF1857758C5A0C54830B1ED96B15E301
+Q = 0xC1C2031D5F29D74B4ACCAB0C211A1FB29A7087BE34A800AB601363662CD998574314F6A60F76EA153DCCE7FE75BC7D13C859B45BED8CFB259
+Msg = E2C9221D1C5B3C297E54881C4A484DC88E229A1F89CB9E03A7A836C0478696ED1448636BE98E06A549BAF0BE30DA4AC1552B17211662DA4D945F0849900EA02CCAF1215EE1B631D795BE58F572CA1B498961780B2C50A88C67A3EDAA950BA986193BF10B3DFF1EE9E0F6D8814F4EA821
+Ciphertext = 0F19E9BEA836057F18CBC1C1A7ED08DAD6D58FE84864755FDAD69BEC2BD1AD9DDF0097D21B05268737898F852643F3DAE32FB5097D95B4AD70A74EF2E7AC1E7714FA57436A904AE361EDF9451EC406C9B726DABD0269EA5BB9F92A74BA4808A951204A92C6EC3AAC9466F2086CDC4EB279
+
+E = 0x1DB8B
+P = 0xE1677D97157A28E686A6DA2327E0DB9B1BB00C0A286D2939348B44B14A1484F5C32F1281D92503DDEE248145FAB855F41959C7372AED2D7647
+Q = 0xF86F396FB930A154377F68536927C5EE34F9A948AB1887AF13D296505F4762F459015CA892E5D92F44938E3E4F855130A624322F2D0D5698A5
+Msg = 6F1FBD316F2B02DD8917432A5E941C511C482F93CB179AC4C7DFC34C334932976A1D8FE9D70571CB02BD8A34125FAF0E0F136E6C3EDB74F3B0F2D8188AB73FB25DA5A3B1D6472B4009A6F53AAE0B58FADDD971B808118230C88AFC628B3DCF85A238053642BCD1F1478BE2B05514A56ACA
+Ciphertext = B3D24948C2D3BFF08B9B3B11818E0517890DE8FFCB40AB7DD40AC1B0FBDA19E2678C67C53C6C3F921CC4AAF05CAC7DA47B5CBF6EC5731561CF5F42FAA0A394D1CF7FA4874AE7E344883D3982FFB91175E56AC49D21B01859D93787AAC3AC1C24A03D73C93E1E43981D860C7DC4C84D307A53
+
+E = 0x3CAD5
+P = 0xBAF9A508017229DEDAAAC51B93F8E12A8C10E489AD9CF90CEB127EF503C1F56158F92972A3748DD4CD20AC162DDC4DA061626176525E9A80365
+Q = 0xC8504C3E93C15C6241850609EEAED406F18E0E5B9EFB9FD6BFC0D474D35D7BDAA63CA925B3A1F4EDAE9F9A99C1366D6EF5432188EB672EE86A3
+Msg = 6BEB86F20DC86874BC052DC6C032E40E2E555D563D6002A6C269FF9C335680C0BCD901D02583EF30A3FC3E68AB218CC47228EF9E6CC14930CF78CA67F5618323C95605D73BEC5389017B77C300D0361AFEAB7E97D7215A8B826F91B9BE823D2467032EC6A58A9DF42766CD912F6D3EFE2AE9
+Ciphertext = 765765BCEAEF80D33430417318FD4775357D8DFFFBB4147B60EC0BB7704E5801A6E329B2D7A39587DE75AE2143671AF854213664583C69CDE7A26BF7F108513B9F0BA6CDF81B28A65C7E2AA541F4BE5817761F146AB1ECAC76EB2EF1D1FC42A5F4D10C93CC2F3D2556CCA71A0215B96257BCA7
+
+E = 0x203B3
+P = 0xC9336B9F9A8D36E22D93739B8EF9506C3A9A6BB976ADC8777BD29747FF186681B5E77A5ECF5253B1E9AE531EF7B32EB86FEC641AA718916C64CB
+Q = 0xBC37BB3C56AF232171EE83DE4113C79CF78E675B7E4E1F4F6771384949382CED626507FA5F489B3CCFD69E18191C21AFDECE4D9A17BC7EACE0E9
+Msg = 2C4B930C9ADEBCD1E36957E1817989B56304B53B03C9BA009875825CCCF5B0D77A7F7F76164EB0B35DD262817D8E1EB5C498ACF16F4D4CDB0AF8918E54E7F5EFF050283D533598E4E6CD128E58CDF5417F520F0980671FEF7CE77E75E64EF2261F27BD50ACA5C68D8FE96F33B85A76337556FF
+Ciphertext = 1327DCEBED97BCEFA5EC0D6F4BFCD98B28AB14C555D31480C81F31E1E0FECC2DC4608E8BED5F2AB89237B3B44C46443C4169E25AEEDE620C7625B18B862614DE26DABACCC21901218D667D27C8A676EAA261E575579E06532DFFA1EC9E18F23D8A94B6DF6DFB5C52A30F9AFD22B6590081DF7453
+
+E = 0x2487F
+P = 0xDF3FF505147F8C7CD7352E57F5CCC3661B4DA5B003BF7D3DE39761EE8CAD575B64BEB5332DDD4C3ED6BA64162633A0453FE4FBF33AF34329C5759
+Q = 0xBBA02FF73B4C0ED4F774C4A878D696658CACEB13F56C9A936193C28F3FA20A4056213B8A7E71023806DB7C0D49161C59E2F88B00604E442AFB909
+Msg = A527A2D970C829A7C3E0FD2BFFE9590B3A3C8E05C3DF8EA923AF156DDC30222BB304CFFFEFA4DF81A63B597FF983052C556E69D6CEDEA86518F9A5A301D03E6686D19E346780EDB5DB589C9047C18E6CC6216D4A0C2E14505E744E3DED365DA0F1B1FF00EAD5FEC05E6BC9F7EBE8408AD89757CA
+Ciphertext = 57FF544A0A4E5E892217382BE63F656D0CB49582414DA7AD5257C09AAC803D60CBCFAFCCC00E8DA84D02AC0059CA11868996F8E163C226FDF23C7C7F7550AF30AADD03A484EA81DE3D6411BA9B0642532A22A57D01953BA8D21814B72AF28EA499070938224BB8F98A0569F00BA55D7D4FE6813D43
+
+E = 0x35AE7
+P = 0xCC072B3228FDB247BBCD39BE7CDE954BF98133426E79C6416E8658BE8DF09269BA3E5A5AC0784065895D3E03355DD1DFD7EFF7F0859F317F8A32DF
+Q = 0xC78470AE335A28BB07ACF2DE39A1C180481C0F5DB37C0B60B97F68D584B24A3C39A4C315D2D2004105D774D966892BB0659DAB963C298FBC7720E7
+Msg = 6B18E5D6236AEB054CDE9DBCCC8710E2F8505F7836AD84B4F90BA5E1F96361871DD99AC16913E8168A74A1B39E607B6FC0E47799A5E55970D53A9D5B0708D7BF7FFF88CB9EFBAA18F6A0101093AD2272A1829594206B329783D299DD139F1EBF85C7FDB18330D91223ADAA6EDB317F6C54854D002F
+Ciphertext = 42F95CD54C8F50ECCE32D08DD5C66A8D2B5D20B3E3A5FF70CB772CB6706120D666EAE0C608E42FBFFBB3C064D7810B424A640EC7E01930A76B2EFD6618A8C967F126CFECDC61476C7BD0981A0C86A0A50B5F04166FBDE23479CBFF6430A6C5D433AD4BD7F0F0C9A47D060D795191FD49D8B71DBF8111
+
+E = 0x4813
+P = 0xD55EB495A0EDD8784C918DB2C9905CADB34AA873865B61F959CC39F3944444E4E411CA490B323FF92A47E780BF90FD861EB630ADA012F4B17C8FB19
+Q = 0xDF5304947138D4539E8D0DF7F5A521DA90D0A79468FBCE67108DAC5D904ED820444C84FE09C0993DF8CA649AED14E7B77A8C8E96F3EBBDF6FEE063F
+Msg = 407D8F49B0A0162D162DB9E89547FCA67DF28597E3EDF4024225A815CD16C113EBC2406DD8D5A57C7828E80C81F87F6AAC25E69382C4F23B6DAD015EB4A373D48025188A3861E6DD5B6430CD21EFBC0DD48B80225810831F23F75E4BE2FB5AE9A6191C633F073463FEC87B33C5B03D6ABC3DF825EDCE
+Ciphertext = A9FD95925F1EB6A3D6D1396DDD8F459FE31135A07BE71DD9449596F457DF174124B2D9A4993D115055EFB664EDAFB73D51992E366D6010299E0CA65EA40CA76AF496EF024F72706C04AC618A50823FC4647868F607B6CC6BB489AD6D2041970074452B8A0826D4BB0E9463D296C0DC54D241736F59B506
+
+E = 0x1E497
+P = 0xF9DA4CF8C42981521AE47857D0A58BAA9B0D7EB223646D19E3D1F418B980FA9BE962AFB73619A09D3B308E7E42AA3899FB9194C6325C3AA423CEC03B
+Q = 0xD6E7608CB975895E638794C140060A7B19794890E373274D24D29B786D1510B923CDD83EE844B78035219E4ADFD085A91752B4A0DEFC8CC3411904C9
+Msg = 677C0ABB673F029F63CDC4854CECC572EB8FD3AE9EC5B254CD64803CD853B8AFBB958399D077F8F0F8DF0F109C780B89D317D293953D3C814F8F9EC1E4AAC029B6B895453D951090558DA2614F94DB90ED3E62164D12E2A5ECA60234E153274154B82181FD3B060E84EFB9718F643ADCA016EED2C89D40
+Ciphertext = 21E9AACA4B288AD3843FEA09406E17D94599BB610FFB02C86EA9843076DA91ED2CF55EE3D32C1F6C53B5777DDA632D05403DFD77AED342521B988ABED48ADCA7FC1F4E3599949F257A5CC2710218FE6F7E18554C9C26383198808C32B41A4600C19FF249291B788B8C438C999B2872F8CBA86FAFE8838E96
+
+E = 0x12B8D
+P = 0xC6C04E18BA8EEA6AD830FE2652FF3547F4F693F41B681B516B2F397BE89C2562D259C0FC3698B326290366331582F687C0DE212C30D1F573A5494DDA9
+Q = 0xD4D610D560F7AF67828C7602E12EC69F6665DADE3E339619DCCD53518009DA9EB019D4DF7D14D29B1CAEB46AB04A414C50C1073E61BC85310144730F9
+Msg = F55E6FEA0FFF7EE032AD7C94208C337EE80B2AA0F4F2E0D066A05DC8FB528EA638539DB94820333CA86D759086CF2E78E9695BED9B1DBF8DBF3E362801C685F688E36D7C41D37BF4B4DECAE1816070518246FF9B73E807BB91B7057DBC74B8991E0B7E1C79FC1C1F87C780D7221FC476494D1F4AB666DB3D
+Ciphertext = 27B21E28A286DD57100FCFD98CCE8C2ED2F1E2D2108E5A02BF96A0125AF563DA0EED6AF54BB8D0D993BA772079EA644A2884E7160776F31F5F11D7BB47495611B30441F990FC107667F740C08B660232EDD4A83484AE029E34326AD69E01EDE3461B54733580773B1DFE807CB549269802138967F59F59826C
+
+E = 0x52D9
+P = 0xED557EA9DB53E4E24795FAA88F8414BC67C6354111CA244E2AC0C99C48A0BEF2FA69E69AECC74F5E6DC79B0E2EF849C95E881CE9BD5B60516408D8A8D5
+Q = 0xD08480C28C9228B2E196E5F672272551E456E80086EA3A0300D5440978F35420211823516D2D130D444602DBEF4E68EAD7AF41F06E970BC95D9E90BA8B
+Msg = EA763D61DFA0624CFE25EEA744FF0AC80C5C85C4ED6A7E8C2303A1CAC4010931EF4D9B9414A98ECB5300CAFF1AAFEE877813545EE56F7DD26A6005F142F771F4D3D1A97CA5995F91FEF25B1BB772B12AFC6A1D37A1CDA7175E5CE22571A3F8CB88664A06FC907FFCBFD5E6BF3FD2BFA98D5993BD5D949EE887
+Ciphertext = BC9AC00C07CB8BAB375AC69C14556D39DA85D019BA1D776CBC4857546AD44E857E616EC312839E2A9AB55C3432373682255A1CC06BEB9CE7C3973E8B4FC02C1729B992AC40C0B371195E0A5CAF80F074D0608CA75885F63C340C96A1E29237C64AA3D60F9EE59D425D757ECF8CC9009DE2B2AAE8AC3786F639B3
+
+E = 0x17549
+P = 0xE60CA06397622C744F64ECF95F3264F1C8C819FE0D596877859DC7DA2EAF6CFE25907E4D018D8FE457EE7113B09AE7E2D14B54A7AD7C1F294FAEA719A2B
+Q = 0xE3FE78DD4001FC135E4185121D5E8F6BD766DFE45B818DFCC1C2DC9F1E1CD4D1E9F5F7D42582F36A918E7787D446E93DF1CA90AE6A52220D9A1D2683F89
+Msg = C0D448DE6D8C704B5AFBA03AFD8DCFE4CDCA0493A9D64D095B0A19320861E5F42B0EC566B82B1BBEB4198815AE19238EBCEDF59FE26E4283E5942CF77CD1B23C5B901A542648D28051B5F994163C877D57FE27BB3D3B54CB929F9F4C24FC1B05F9EE7BCB7E1414DA3843032657FCE85787A1185F2BE2C025D100
+Ciphertext = C9E14845932307783E85CF97F3D9FCAB04C3872E5767E04AE1F954E7A45956CC7FBA483DB789136702B48446B177F8D36917674732972990053F5896D35D563C975962C4C405F522DD44E5D0072AE7A403AAA1C8DB53E47E87534148B55CCC38896A8105A583D363D3C5EBBCA3076729F69E1272B24F12AB7DC983
+
+E = 0x189F9
+P = 0xC630CD0B8D86A93343EEDDA96B43122C8DC58318F5664950CF34CECDC9EF3796F71675712EDD7D08E675F491EFA99383EF1DDECBA36CFB4F2CEABF3BBD4B
+Q = 0xF9012CA0D0A2C91BC317819EA8EC23127357B84FF6F4B4995BD3DC6EBFDFFE8A7809C42B4C4D64267CDC77D29FEBAF99355F00B4D64872C7B4A466C7195F
+Msg = C42CF8F1ABF85A849137F421EE51F3B2237D052E89F62D2F8576EDFBAC6D926285096C4F5AB8210D467F2ABC0A8C99FD39EF76EF51CD479B9DA20F082ED598E006E0EFE884D33B59D5F52E969BD42F7997447BB052F70AE020E7E1FB6E8BDB90E5B8E53AE483CD29970184BA4BE51747BDC1D752B214497705D75F
+Ciphertext = A2BFCB298708CC1D0F0E5B3817F669757CA02AF173BD04B6C77ABFD7446331E4E7E2526DA90D2E79B60ADC06284F72FF053854CE1EF8E449FFB70333450887EFBEDB4BB833696105AF4109ECE8E24FF9AAC5B16C3D3467B081967C1534782C29205706E199ED51D2FC87832C2ED5568EAD28F668009908AD66834A24
+
+E = 0x26175
+P = 0xBD3E5ED73F6D8751F6B7F6A9791AFB12A42AFC6BD4E2F73C14146945ABFD1073BFA87778B6805891860A636884618ABB924E681C26C44D08A6A2354351EA5
+Q = 0xD14A005FB2E1CE65F51F36F10C23211BDA04159AA1E25510CC1A7BD643A76B923BA0ED47545161B50AE0E137EAC684D9064E258D0389818695715431B6695
+Msg = 01224CC754FC5E4922AAE8D64BCF2EE50D13765F80317818CB3973B187BF3C17DED4B3AF27C938BD0E36F875A6D953808B590444A1B0C161189A93938063C80A78DB5DB689BC4AAC587F0DF6EA119DFFE6CA9B67549005FA4FF451354174175D2AB236B3D6A1E604DF2D5ACAF956AA42B82A5F03DED91DA07039C464
+Ciphertext = 466BBAB71EF00D9436CDBDC02DA1C7CFD3D59AB48D60E82A87C39097BCF8DFF3D6807D6DD73CAD16101245515ACD333DC808C9A894B9BD754F6921C518C5E9E16F71B6009B078E15F53CA3400F0BD927D2416BE129DEE6035BFA74E3D8630A70055C229BA3B0AEA304D8F77A8407DD8998E124B93DBD1EAB29CE11B558
+
+E = 0x32C0D
+P = 0xBFD70BCEA35FB6BC5C4C753CAD49FB6E86985D6F3687AAD9CACA49753676D121AADD87D175D17EE5D80B9D6659B00289EC4475BF003D7D400177012ACCB72F
+Q = 0xEA764CF0C0D3583F0C4B4F9D096E1E4668439343F9A937EFFCC1A0E589BD3B64F4F14D745FF1E38D720E581A64A3045F70B92A6BF2031E67EFF656749EA1D9
+Msg = A4F527A26115BC6402C7DACC1D8925A28D5AB036B56677634DEAE7560EE6F79DF87293564556E155C8CBB934ABE781313AF7DBA88D65D0DEF4975AD6284A5077CA35CE49F1DE12FB46ABBB3072C2B17FDDD93D010408F9790A9D1896FFA362C43FE3B61B6065A09F715E97B353BB471F2AD94F115CAF8A5FDE6B91826E
+Ciphertext = 80C7B635AD6C6499764DE4AD8F9EE1654FC83763B4097E4AFF6713EF1B3C7D627B291CDAF41D9D8567758D6F9107AF7ECD0021DA4F54FBF979F1C1AF24993B46347008F51BA00F3AE1386B5C9AD29B378FE434CC6B620CB2239CE94D5C2755FEE67621649B526505A49451F4469B29003DF8396C2213475FE7CC671CF0D7
+
+E = 0xD6A9
+P = 0xDD24EA4BA93BCCEA6C7676405EA6F04F13838390AFC51713DAFE299D36362C525F6C2D1CD4DB15DA08B743005F46E243BF34F285A9458575DD61C31F12A2DE5
+Q = 0xC152185775ADD140C1FF045BCADC81A81DB36BDFB61B6581F78B29B9130F8B7F3D31C508524E0B487F441F01BA831D8C05F23CF47D14B35DFA5402F0A9C003F
+Msg = 14815E63D355877FF38F110A6B5BBDC86633936B9B28669E66E6DAEBC85A213D40C63080C5DDA21237D04602C02DD480E753E4230206DC216263E56E129566D094D5B574ADAD461C04D3D20145855F94E02ADD5854E89C48EF18330C5F9BBF7D1EC9638E4ABD835755DB84ADE864E3AD2DF04D626E91ABD952EF451292CB
+Ciphertext = 2A432208D0CC726487A772598BE3DA4799B484D4C28ADF06E2A914BDF7ACF826080BD56DFCBC9C1E8DB37AD3D57E2EB42CC5589E4DFB2AAC63B7F61A05FF744CDF6D68441694947B2EE1003D33E25F706C4EA70EF39DE831B520B39FB7DC02EF7A9427ABF86900053DD316BDE944ED001CAD53F4C6E68C336B3050AF52B081
+
+E = 0x34213
+P = 0xE35B81A5A1B6199B689C0484C332C4E9CF8237BA3B3215A3C50B9FA9704BEE13BBF8D96B8FCB716390A4A52D9E0D8066F4C171DE3007C0E3CCAF7E7ED0A3974D
+Q = 0xBBBDE5B062860702D894E1B70C555330E8CAC1688484C94DD8C9029487E181FD32B3E4A26378943B5AA33DA24676E240973076712FFD89A66A9B58C5BA83C69D
+Msg = 96BA67D8ACBE483DB6CADA644C2D8A30710395047775A43D5DEC9F2C1E81D2B5D3D926B27DE207A7000189AC87F10ED06DE57793C301A9B05958537C9E5D486B3769BF41E9B18904C5D1EFF9B5A90C040E1E5FF21E872A06FFA9C5F0BE274A346F425D46BD3B666CE2C0D9843DC4067C04CE019FE447131D78A610A5BD648C
+Ciphertext = 7A7667774523649C72636F1A0599A0D1865B32A14E9C50201849A6DAD8AB96D1CBCE55054BAF731947DDF6645937C9C39D9F11ACB9D2A3DBC7C16EC7CD5CE13AC82C85DDE8213E769A6440B67C1A78A1A8BE142D50A9CF127EA9BE1BA252B21460A4C8A196B50D7DF022E289B6C0977D13C2D57FD0F4F90675C7E8F018EC780F
+
+E = 3
+P = 99010592955939952524979806215701796367994338316505273190378538719818351907917
+Q = 92363400110149466883691311721283715218677143818967206998812216967090300995683
+Msg = 01B40EAED76EC2A26C41DF58CC23516E7974537ADDB1D3ECD0DCBAA4F09458AC49675A20D51CC2415DA2992AC5EA983E5EEBB83B9C8C276C68E11158756904BE
+Ciphertext = 32E6A9BFF82BF351E96292947AC218E977AEEB069D09CF438DA0B96478DF7A1853EB8BA770C16B5024D31B6C2D2F83E867AA37C9AD42E7F13369F171BDF2308D
+
+E = 3
+P = 104290639198308511609978277729934076143699233816345754647340002533086668256809
+Q = 99188084023481930466539770400504565071103168874099815636272276174738388025397
+Msg = 01453FBFA6B146374602261D86822493E2CCC960B75D2A124B182EC70F22FFBF673F7E0EF0C54536C76B534DED77E1D044AA30FB075A0D52733C19825E1941C6
+Ciphertext = AAADBBBEA2716C35EAD89736AA97A8FFF0078A07F48A9888294929B8917297CC53AA9CBA9FA9D80791F24F749BB1133D0A48C2117572DB73C5813881F4B5087A
+
+E = 65537
+P = 32397944957062568778782735677392177852211091070956936442912049546612900948126761076138806302631142511286417825681743
+Q = 30483380437902645768763174629464025552989822241614160314573305383261575994289009528536212453465743070209775574571397
+Msg = 010E1F619D8F90D37563050B014DEB3FA3E9B735F8D28D625682D6A4663E6B334C8B94E91A24BD8F88C29A890F85C9B36F80E8675275C9A8F79F4D5DDDB891294325125D4ACFECD291875BA10C24547BA43CE2F7B1AB9FA84AEC0627A59750E8
+Ciphertext = 296F935C38845C940F820C379F8032101EA4003CED8BEEE212F2C6F72EB430C0ADF48B7ECDDB296544D8FAE80E2FFF084671E88A88334EB8E718FE8B2524358CCF9EC32CEDF93087CBD39E784FA66B3BD32A427D69EEC93607A8352955C774E1
+
+E = 65537
+P = 32751912271485507869630870075934394775492560973203582026742376285129278528731717520407913766044870609827792097894223
+Q = 30215809731457806312132910510610626377642932878024085919364439659567302385541858440831849965579653388774313959624977
+Msg = 012E1CD97DB414715594E404B8B0BA9C3928CDC2CCF5F71C712C462B7BC44B90F36869701C7DE17111C575CA752F66AE583371242868409A9486C5104B10A03E780AAE94878F0599547A63C9AAC97802FCE926255167BFE5ED84F5389496760D
+Ciphertext = 3ACD3EC198014D833BBF4DF281C82C96777C9534584CC926F9DEC42E7C1F846B582A267B95EE4CDAAEA7AA953330BE584BDAF75089FCAF66D386AFAE39C9BF70B9D21C0E4C6590C67302AAC0A8917A3F33A39F7F921820E8DF6E6DF85CD6B6E2
+
+E = 65537
+P = 11239208455594220199561761724335933123875940148262933290549565513213918922986439102227235942676016728540285761717013949431378456304479425153593554132406379
+Q = 10207229944746281895260108921806548094936186847081942483161680373811942807463343148547471349234226182649131392607422425965930012705401430385789386779980357
+Msg = 01C4B6CAAFF5ABF4FA027C945EE26974E77DAF3FDE5F51899CD64DD7DDDCAE09A164D350597E445481C1E8DFA352538ACF03C9AD621A37FEF184D5CE6083D701E8AB5141299695AA577E89FAD0DD849FE04E4C4268834159071628689AFF6982AABBC3D451597EA8D708A2A7E52646C5749207DD1648361D5F5E85F95EEF7B08
+Ciphertext = 8095B914D477DE2AE3F2AC7648B32EB497B7C1F4FF298D4B82F0A77298574E94530DD9FF57A205499100D5920999182E1CED1F25971B27C0C3BCB06F0507305EE90AD35A00469341B47A6E2E1BB7DD792F6543F74D1FDC2CDBD433DC7C9728F558DA656E5134FC174723012151360E0310B31D4112FF5CC5829B0709F8EE7303
+
+E = 2147483647
+P = 13306243859542517984148257344793888910940556444231185479831989325160112308518678420320476155531731784077910761854431615470590046601498839650190128653586373
+Q = 12544786481900314653872114245103002701855029425324053172415999430939582667212012622951185849391771550626344406893276715030933905294276427057485478796892089
+Msg = 01C84780E9F341C7AC81703D1E1727D134E08DE7F80636F38284BC4EE3D55F959DA715879A564E46D8BF83F6D6AAC70B8A55F2825B2875DDAC312B90068B25A4323A2BCC9079126838965F0F40261ACB7B0C4DD634C3B3E1F4DF71FB6A969F9CD0CA6860437AC97C10288B514EA51CCAB169A0E52C54C62133371C9DCDBB399D
+Ciphertext = A22AF2E3FDC9AD8215510CF6B55118A720DE36C84DE8CE00FA769325E03BB0CA81BBD2960E834543443472E58754F9ECDE84D32B4F7CB2C2A5A14A60CA91C9080D3AA675E56E53B2198627938C9B00ADAC3F07A50AB0622833F2DAD34C73D0EC5717613E02A58936EEA60928C1A894C589FE4995607B1AF62C2BE8FD3E8ABB83
+
+E = 65537
+P = 12989411720445855195379130098112394118805608713632934538069003218048331962120161822833562362676753511950901223542963132412039411683176299770313637616479897
+Q = 12463716606325119282356608588642812207650286345903744180418613656481532769917611200194671027969940773974506753003692684675646845639012295626921168016574163
+Msg = 3BA94D8CC1749902F4599D63A527DACA74870714BC794813247D000DCF31BC57E285CE5A1236EFD1956723B800C3C19094185EAAD7C744DA4917E34D3DCE5FCEF4E6D797510B7A5BA67087ABBFB69FCEE5D8A98AD9A3D3B2AEE9876B9358562F460A0D6C4B5D98E3D305D6B944832859CFB01072C6FCEB5D0558BA7D101458BD
+Ciphertext = 1185126E43C7B5F8D15523E65DAEEB6526CDCF2C8901DC7A1EC836C22CD4C3441C24B16AC8ABC3E00A95C6BD03EBEC74DCA1EBD0DA6E61395452587B36DCD7347184C9005177839FEDA5273007DD0AAC0E8C87A3EEA71F7DBEDDC7FDDD637A2DFCA2FA1215DE8C332ED4BA093B6443C65B32AF294D8A56A1BF8702C1B9086E36
+
+E = 65537
+P = 109121448729529942655579737234895224674673385047988084118288915909406076682289
+Q = 87327614524398710678961459222446065441241442373553067397959009671294445110879
+Msg = 35489193F2E4B7B7FC7A52CB4A3AE2F7F97C02CBF43A60934CBD8AC22159266692767C6C587BAE7B73E63EA470A07EA67927923FEC2ACDDB1ADDDAC75E8FFA15
+Ciphertext = 29772BC15B6095A66060CC76884B3E4C77A2330A880D9FE64B007C1DF792CBA5B3422F9BDDF51C48E567F114776566653A7F7DDDB8686BFCEBC94B224D7CB0B3
+
+E = 65537
+P = 99696961709331635021431451372570346307372695638294123844289910246014585214677
+Q = 98843166251140459381350455308494019406720075342620875274529764264138210572367
+Msg = 35068206D5C287A47F95BD8ECD11E557D86EDDC993FCAD94F03D86C1BC97E2B268E637ED1A6B0EE459214E0F61099B74469AD36A3A37217182C42B0C48A4B413
+Ciphertext = 261D5A9298BE592400EE703BC27C2A16761F6C855607D9AA62A9B36307FC51006EEE06E59C55C9606FFBCF8DF74A98B5C9FBD17F0D7ABB867B4A7CB8DD5DC15D
+
+E = 3
+P = 13382703241232033579067245875944151729789989814112534336160941721231954473486436706919526807249646763617103882578575850541499816829940318031851338680577043
+Q = 13125264856842772189945745184313539520638397121792884775317257486086623091835930470769837093366916043447359999537079307756936671459051755793135700239676017
+Msg = B2207519BAFEA1FFA5561CE47F903CE59DA9FE82DA7D4C867A92F28F180D
+Padding = EME1(SHA-1)
+Nonce = FC0DBB14EEF2D2FBD6D75C7D920D96F5057C45DA
+Ciphertext = C1659606D25D6D3274B0380373D8F0F740EECFBE0E7C5AF20F22ADFE54063E0DB5AA23737992C216A66550E8B0D1730684588B1CA0FEAC63680A7EAC2EB6DD73EA5B2DFDFE2A41C47D28027E9400FD71A2A8109271993C629A39A9B006AA11ABE798FCB1297BCA3B42CE1BFCE817928DC3BDD7661BFB2CFEA5B1C2D02B48B821
+
+E = 65537
+P = 109540052440968042921698045789892582895744443681665759042409080417548762872287
+Q = 94989729539940729337205201522386254048733728973529732517382043774386971448673
+Msg = A3208DF23DFB014D257B4C3D7238A857AD
+Padding = EME1(SHA-1)
+Nonce = 0E151CD5DD9014F9BCE7BB3500D1E3A7EF3F36F8
+Ciphertext = 374FCFFE225903D58CE988FC469AF9B6D660A90A48FFB7DCE207888D871587D50494260231664CB03C18A427B04BED666770B503B6EF08632A00D9D03888B1A0
+
+E = 65537
+P = 376875813744188336444254174392754065258358977261789553032476304099885095852003
+Q = 182334861951888732447921403146116780447120952951306907382383467026688268692707
+Msg = 8F6B78A9F0D0F35BEFD38B
+Padding = EME1(SHA-1)
+Nonce = 25D6DBAA5DEA01099646C5DD25589A10C414B6AE
+Ciphertext = 0091AA69E80C2690C78B99D5BB71002BDF019B12CC6ED5F7ADB0D2AF7284D1E2FE14E372C71FEBBCE91309D7D18EC979DACCFE11799E31BEFF9B4D25D2B9DEF8DD
+
+E = 65537
+P = 790816078197252280582277651690857309244386891300287548104691844141717560847863
+Q = 359413696455144150319265705408667411425393190887560590834611438719516684915919
+Msg = E729D4D596553F96AF
+Padding = EME1(SHA-1)
+Nonce = 36FBC9529B999745EF9F19DF5A7C4E783013C661
+Ciphertext = 02A9176EF95FD74880B641C1E67367F3780B59456EBBDC05A4B6EEC3D3F8B8EDE063DD1E2300E24CFABF475C8F3BCCF987C043A9A839976ED7B3995752EB3A746B
+
+E = 65539
+P = 3107302076066166751801914578908051910822149056108712362311484904220784347261423
+Q = 1574224726761151474032574427980951789950105943472706068767361609602582513548893
+Msg = 45A04558B8
+Padding = EME1(SHA-1)
+Nonce = 6587ECBA1C8A7BA7C2A8B4DAE9D4076D85CAA2FE
+Ciphertext = 011F8E0F8A7FAF157D2C5938B137AE3A8A2158F9784E1F09E205A7C7C71505E7D50DB8E967B1CC637EDB766B12570328B7C7832DAE3F79C25D14F26DF0729F726C80
+
+E = 11
+P = 35120983107766812261428279712000613031111015598796266433322360120215673403061167800630780537321394553476917072410979
+Q = 30743741671817967446027282741120369010107722245487842291067113270554532228419162492541831898534812103299456964505753
+Msg = F5BF1834145D40D0A09D6331204035F76EB7DC981734E09CD1D755B46484675A447F8E58DDCE287D6B8CAE8BCCE3833A9A5F
+Padding = EME1(SHA-1)
+Nonce = C91DFAC04EBDD389B0A172520B3D189C6E19FDFB
+Ciphertext = 75CBD6ABBDDA5A8DF4470955E212778FD872B0816E659C42F9D796A48ED86EAEFFAE39EB4D25A218A5EB6252DAC6A73DA23B35D967286C673FC9A603AC9B2803A8F75BAA72A22A3601FC0A1AD9923CF8A75B749126E2C98BD3AEB4EE2FE3452F
+
+E = 0x10001
+P = 0xD32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30AF38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D
+Q = 0xCC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77
+Msg = 6628194E12073DB03BA94CDA9EF9532397D50DBA79B987004AFEFE34
+Padding = EME1(SHA-1)
+Nonce = 18B776EA21069D69776A33E96BAD48E1DDA0A5EF
+Ciphertext = 354FE67B4A126D5D35FE36C777791A3F7BA13DEF484E2D3908AFF722FAD468FB21696DE95D0BE911C2D3174F8AFCC201035F7B6D8E69402DE5451618C21A535FA9D7BFC5B8DD9FC243F8CF927DB31322D6E881EAA91A996170E657A05A266426D98C88003F8477C1227094A0D9FA1E8C4024309CE1ECCCB5210035D47AC72E8A
+
+E = 0x10001
+P = 0xD32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30AF38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D
+Q = 0xCC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77
+Msg = D94AE0832E6445CE42331CB06D531A82B1DB4BAAD30F746DC916DF24D4E3C2451FFF59A6423EB0E1D02D4FE646CF699DFD818C6E97B051
+Padding = EME1(SHA-1)
+Nonce = 2514DF4695755A67B288EAF4905C36EEC66FD2FD
+Ciphertext = 423736ED035F6026AF276C35C0B3741B365E5F76CA091B4E8C29E2F0BEFEE603595AA8322D602D2E625E95EB81B2F1C9724E822ECA76DB8618CF09C5343503A4360835B5903BC637E3879FB05E0EF32685D5AEC5067CD7CC96FE4B2670B6EAC3066B1FCF5686B68589AAFB7D629B02D8F8625CA3833624D4800FB081B1CF94EB
+
+E = 0x10001
+P = 0xD32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30AF38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D
+Q = 0xCC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77
+Msg = 26521050844271
+Padding = EME1(SHA-1)
+Nonce = E4EC0982C2336F3A677F6A356174EB0CE887ABC2
+Ciphertext = 42CEE2617B1ECEA4DB3F4829386FBD61DAFBF038E180D837C96366DF24C097B4AB0FAC6BDF590D821C9F10642E681AD05B8D78B378C0F46CE2FAD63F74E0AD3DF06B075D7EB5F5636F8D403B9059CA761B5C62BB52AA45002EA70BAACE08DED243B9D8CBD62A68ADE265832B56564E43A6FA42ED199A099769742DF1539E8255
+
+E = 0x10001
+P = 0x0159DBDE04A33EF06FB608B80B190F4D3E22BCC13AC8E4A081033ABFA416EDB0B338AA08B57309EA5A5240E7DC6E54378C69414C31D97DDB1F406DB3769CC41A43
+Q = 0x012B652F30403B38B40995FD6FF41A1ACC8ADA70373236B7202D39B2EE30CFB46DB09511F6F307CC61CC21606C18A75B8A62F822DF031BA0DF0DAFD5506F568BD7
+Msg = 8FF00CAA605C702830634D9A6C3D42C652B58CF1D92FEC570BEEE7
+Padding = EME1(SHA-1)
+Nonce = 8C407B5EC2899E5099C53E8CE793BF94E71B1782
+Ciphertext = 0181AF8922B9FCB4D79D92EBE19815992FC0C1439D8BCD491398A0F4AD3A329A5BD9385560DB532683C8B7DA04E4B12AED6AACDF471C34C9CDA891ADDCC2DF3456653AA6382E9AE59B54455257EB099D562BBE10453F2B6D13C59C02E10F1F8ABB5DA0D0570932DACF2D0901DB729D0FEFCC054E70968EA540C81B04BCAEFE720E
+
+E = 0x10001
+P = 0x0159DBDE04A33EF06FB608B80B190F4D3E22BCC13AC8E4A081033ABFA416EDB0B338AA08B57309EA5A5240E7DC6E54378C69414C31D97DDB1F406DB3769CC41A43
+Q = 0x012B652F30403B38B40995FD6FF41A1ACC8ADA70373236B7202D39B2EE30CFB46DB09511F6F307CC61CC21606C18A75B8A62F822DF031BA0DF0DAFD5506F568BD7
+Msg = A7EB2A5036931D27D4E891326D99692FFADDA9BF7EFD3E34E622C4ADC085F721DFE885072C78A203B151739BE540FA8C153A10F00A
+Padding = EME1(SHA-1)
+Nonce = 9A7B3B0E708BD96F8190ECAB4FB9B2B3805A8156
+Ciphertext = 00A4578CBC176318A638FBA7D01DF15746AF44D4F6CD96D7E7C495CBF425B09C649D32BF886DA48FBAF989A2117187CAFB1FB580317690E3CCD446920B7AF82B31DB5804D87D01514ACBFA9156E782F867F6BED9449E0E9A2C09BCECC6AA087636965E34B3EC766F2FE2E43018A2FDDEB140616A0E9D82E5331024EE0652FC7641
+
+E = 0x10001
+P = 0x0159DBDE04A33EF06FB608B80B190F4D3E22BCC13AC8E4A081033ABFA416EDB0B338AA08B57309EA5A5240E7DC6E54378C69414C31D97DDB1F406DB3769CC41A43
+Q = 0x012B652F30403B38B40995FD6FF41A1ACC8ADA70373236B7202D39B2EE30CFB46DB09511F6F307CC61CC21606C18A75B8A62F822DF031BA0DF0DAFD5506F568BD7
+Msg = 2EF2B066F854C33F3BDCBB5994A435E73D6C6C
+Padding = EME1(SHA-1)
+Nonce = EB3CEBBC4ADC16BB48E88C8AEC0E34AF7F427FD3
+Ciphertext = 00EBC5F5FDA77CFDAD3C83641A9025E77D72D8A6FB33A810F5950F8D74C73E8D931E8634D86AB1246256AE07B6005B71B7F2FB98351218331CE69B8FFBDC9DA08BBC9C704F876DEB9DF9FC2EC065CAD87F9090B07ACC17AA7F997B27ACA48806E897F771D95141FE4526D8A5301B678627EFAB707FD40FBEBD6E792A25613E7AEC
+
+E = 0x10001
+P = 0x0159DBDE04A33EF06FB608B80B190F4D3E22BCC13AC8E4A081033ABFA416EDB0B338AA08B57309EA5A5240E7DC6E54378C69414C31D97DDB1F406DB3769CC41A43
+Q = 0x012B652F30403B38B40995FD6FF41A1ACC8ADA70373236B7202D39B2EE30CFB46DB09511F6F307CC61CC21606C18A75B8A62F822DF031BA0DF0DAFD5506F568BD7
+Msg = 2D
+Padding = EME1(SHA-1)
+Nonce = B600CF3C2E506D7F16778C910D3A8B003EEE61D5
+Ciphertext = 018759FF1DF63B2792410562314416A8AEAF2AC634B46F940AB82D64DBF165EEE33011DA749D4BAB6E2FCD18129C9E49277D8453112B429A222A8471B070993998E758861C4D3F6D749D91C4290D332C7A4AB3F7EA35FF3A07D497C955FF0FFC95006B62C6D296810D9BFAB024196C7934012C2DF978EF299ABA239940CBA10245
+
+E = 0x10001
+P = 0x01BF01D216D73595CF0270C2BEB78D40A0D8447D31DA919A983F7EEA781B77D85FE371B3E9373E7B69217D3150A02D8958DE7FAD9D555160958B4454127E0E7EAF
+Q = 0x018D3399658166DB3829816D7B295416759E9C91987F5B2D8AECD63B04B48BD7B2FCF229BB7F8A6DC88BA13DD2E39AD55B6D1A06160708F9700BE80B8FD3744CE7
+Msg = 087820B569E8FA8D
+Padding = EME1(SHA-1)
+Nonce = 8CED6B196290805790E909074015E6A20B0C4894
+Ciphertext = 026A0485D96AEBD96B4382085099B962E6A2BDEC3D90C8DB625E14372DE85E2D5B7BAAB65C8FAF91BB5504FB495AFCE5C988B3F6A52E20E1D6CBD3566C5CD1F2B8318BB542CC0EA25C4AAB9932AFA20760EADDEC784396A07EA0EF24D4E6F4D37E5052A7A31E146AA480A111BBE926401307E00F410033842B6D82FE5CE4DFAE80
+
+E = 0x10001
+P = 0x01BF01D216D73595CF0270C2BEB78D40A0D8447D31DA919A983F7EEA781B77D85FE371B3E9373E7B69217D3150A02D8958DE7FAD9D555160958B4454127E0E7EAF
+Q = 0x018D3399658166DB3829816D7B295416759E9C91987F5B2D8AECD63B04B48BD7B2FCF229BB7F8A6DC88BA13DD2E39AD55B6D1A06160708F9700BE80B8FD3744CE7
+Msg = 6CC641B6B61E6F963974DAD23A9013284EF1
+Padding = EME1(SHA-1)
+Nonce = 6E2979F52D6814A57D83B090054888F119A5B9A3
+Ciphertext = 02994C62AFD76F498BA1FD2CF642857FCA81F4373CB08F1CBAEE6F025C3B512B42C3E8779113476648039DBE0493F9246292FAC28950600E7C0F32EDF9C81B9DEC45C3BDE0CC8D8847590169907B7DC5991CEB29BB0714D613D96DF0F12EC5D8D3507C8EE7AE78DD83F216FA61DE100363ACA48A7E914AE9F42DDFBE943B09D9A0
+
+E = 0x10001
+P = 0x027458C19EC1636919E736C9AF25D609A51B8F561D19C6BF6943DD1EE1AB8A4A3F232100BD40B88DECC6BA235548B6EF792A11C9DE823D0A7922C7095B6EBA5701
+Q = 0x0210EE9B33AB61716E27D251BD465F4B35A1A232E2DA00901C294BF22350CE490D099F642B5375612DB63BA1F20386492BF04D34B3C22BCEB909D13441B53B5139
+Msg = 4A86609534EE434A6CBCA3F7E962E76D455E3264C19F605F6E5FF6137C65C56D7FB344CD52BC93374F3D166C9F0C6F9C506BAD19330972D2
+Padding = EME1(SHA-1)
+Nonce = 1CAC19CE993DEF55F98203F6852896C95CCCA1F3
+Ciphertext = 04CCE19614845E094152A3FE18E54E3330C44E5EFBC64AE16886CB1869014CC5781B1F8F9E045384D0112A135CA0D12E9C88A8E4063416DEAAE3844F60D6E96FE155145F4525B9A34431CA3766180F70E15A5E5D8E8B1A516FF870609F13F896935CED188279A58ED13D07114277D75C6568607E0AB092FD803A223E4A8EE0B1A8
+
+E = 0x10001
+P = 0x027458C19EC1636919E736C9AF25D609A51B8F561D19C6BF6943DD1EE1AB8A4A3F232100BD40B88DECC6BA235548B6EF792A11C9DE823D0A7922C7095B6EBA5701
+Q = 0x0210EE9B33AB61716E27D251BD465F4B35A1A232E2DA00901C294BF22350CE490D099F642B5375612DB63BA1F20386492BF04D34B3C22BCEB909D13441B53B5139
+Msg = B0ADC4F3FE11DA59CE992773D9059943C03046497EE9D9F9A06DF1166DB46D98F58D27EC074C02EEE6CBE2449C8B9FC5080C5C3F4433092512EC46AA793743C8
+Padding = EME1(SHA-1)
+Nonce = F545D5897585E3DB71AA0CB8DA76C51D032AE963
+Ciphertext = 0097B698C6165645B303486FBF5A2A4479C0EE85889B541A6F0B858D6B6597B13B854EB4F839AF03399A80D79BDA6578C841F90D645715B280D37143992DD186C80B949B775CAE97370E4EC97443136C6DA484E970FFDB1323A20847821D3B18381DE13BB49AAEA66530C4A4B8271F3EAE172CD366E07E6636F1019D2A28AED15E
+
+E = 0x10001
+P = 0x03B0D3962F6D17549CBFCA11294348DCF0E7E39F8C2BC6824F2164B606D687860DAE1E632393CFEDF513228229069E2F60E4ACD7E633A436063F82385F48993707
+Q = 0x02E4C32E2F517269B7072309F00C0E31365F7CE28B236B82912DF239ABF39572CF0ED604B02982E53564C52D6A05397DE5C052A2FDDC141EF7189836346AEB331F
+Msg = AF71A901E3A61D3132F0FC1FDB474F9EA6579257FFC24D164170145B3DBDE8
+Padding = EME1(SHA-1)
+Nonce = 44C92E283F77B9499C603D963660C87D2F939461
+Ciphertext = 036046A4A47D9ED3BA9A89139C105038EB7492B05A5D68BFD53ACCFF4597F7A68651B47B4A4627D927E485EED7B4566420E8B409879E5D606EAE251D22A5DF799F7920BFC117B992572A53B1263146BCEA03385CC5E853C9A101C8C3E1BDA31A519807496C6CB5E5EFB408823A352B8FA0661FB664EFADD593DEB99FFF5ED000E5
+
+E = 0x10001
+P = 0x03B0D3962F6D17549CBFCA11294348DCF0E7E39F8C2BC6824F2164B606D687860DAE1E632393CFEDF513228229069E2F60E4ACD7E633A436063F82385F48993707
+Q = 0x02E4C32E2F517269B7072309F00C0E31365F7CE28B236B82912DF239ABF39572CF0ED604B02982E53564C52D6A05397DE5C052A2FDDC141EF7189836346AEB331F
+Msg = 15C5B9EE1185
+Padding = EME1(SHA-1)
+Nonce = 49FA45D3A78DD10DFD577399D1EB00AF7EED5513
+Ciphertext = 0812B76768EBCB642D040258E5F4441A018521BD96687E6C5E899FCD6C17588FF59A82CC8AE03A4B45B31299AF1788C329F7DCD285F8CF4CED82606B97612671A45BEDCA133442144D1617D114F802857F0F9D739751C57A3F9EE400912C61E2E6992BE031A43DD48FA6BA14EEF7C422B5EDC4E7AFA04FDD38F402D1C8BB719ABF
+
+E = 0x10001
+P = 0x04A6CE8B7358DFA69BDCF742617005AFB5385F5F3A58A24EF74A22A8C05CB7CC38EBD4CC9D9A9D789A62CD0F60F0CB941D3423C9692EFA4FE3ADFF290C4749A38B
+Q = 0x0404C9A803371FEDB4C5BE39F3C00B009E5E08A63BE1E40035CDACA5011CC701CF7EEBCB99F0FFE17CFD0A4BF7BEFD2DD536AC946DB797FDBC4ABE8F29349B91ED
+Msg = 684E3038C5C041F7
+Padding = EME1(SHA-1)
+Nonce = 3BBC3BD6637DFE12846901029BF5B0C07103439C
+Ciphertext = 008E7A67CACFB5C4E24BEC7DEE149117F19598CE8C45808FEF88C608FF9CD6E695263B9A3C0AD4B8BA4C95238E96A8422B8535629C8D5382374479AD13FA39974B242F9A759EEAF9C83AD5A8CA18940A0162BA755876DF263F4BD50C6525C56090267C1F0E09CE0899A0CF359E88120ABD9BF893445B3CAE77D3607359AE9A52F8
+
+E = 0x10001
+P = 0x04A6CE8B7358DFA69BDCF742617005AFB5385F5F3A58A24EF74A22A8C05CB7CC38EBD4CC9D9A9D789A62CD0F60F0CB941D3423C9692EFA4FE3ADFF290C4749A38B
+Q = 0x0404C9A803371FEDB4C5BE39F3C00B009E5E08A63BE1E40035CDACA5011CC701CF7EEBCB99F0FFE17CFD0A4BF7BEFD2DD536AC946DB797FDBC4ABE8F29349B91ED
+Msg = 4046CA8BAA3347CA27F49E0D81F9CC1D71BE9BA517D4
+Padding = EME1(SHA-1)
+Nonce = DD0F6CFE415E88E5A469A51FBBA6DFD40ADB4384
+Ciphertext = 0630EEBCD2856C24F798806E41F9E67345EDA9CEDA386ACC9FACAEA1EEED06ACE583709718D9D169FADF414D5C76F92996833EF305B75B1E4B95F662A20FAEDC3BAE0C4827A8BF8A88EDBD57EC203A27A841F02E43A615BAB1A8CAC0701DE34DEBDEF62A088089B55EC36EA7522FD3EC8D06B6A073E6DF833153BC0AEFD93BD1A3
+
+E = 0x10001
+P = 0x0749262C111CD470EC2566E6B3732FC09329469AA19071D3B9C01906514C6F1D26BAA14BEAB0971C8B7E611A4F79009D6FEA776928CA25285B0DE3643D1A3F8C71
+Q = 0x06BC1E50E96C02BF636E9EEA8B899BBEBF7651DE77DD474C3E9BC23BAD8182B61904C7D97DFBEBFB1E00108878B6E67E415391D67942C2B2BF9B4435F88B0CB023
+Msg = 47AAE909
+Padding = EME1(SHA-1)
+Nonce = 43DD09A07FF4CAC71CAA4632EE5E1C1DAEE4CD8F
+Ciphertext = 1688E4CE7794BBA6CB7014169ECD559CEDE2A30B56A52B68D9FE18CF1973EF97B2A03153951C755F6294AA49ADBDB55845AB6875FB3986C93ECF927962840D282F9E54CE8B690F7C0CB8BBD73440D9571D1B16CD9260F9EAB4783CC482E5223DC60973871783EC27B0AE0FD47732CBC286A173FC92B00FB4BA6824647CD93C85C1
+
+E = 0x10001
+P = 0x0749262C111CD470EC2566E6B3732FC09329469AA19071D3B9C01906514C6F1D26BAA14BEAB0971C8B7E611A4F79009D6FEA776928CA25285B0DE3643D1A3F8C71
+Q = 0x06BC1E50E96C02BF636E9EEA8B899BBEBF7651DE77DD474C3E9BC23BAD8182B61904C7D97DFBEBFB1E00108878B6E67E415391D67942C2B2BF9B4435F88B0CB023
+Msg = D4738623DF223AA43843DF8467534C41D013E0C803C624E263666B239BDE40A5F29AEB8DE79E3DAA61DD0370F49BD4B013834B98212AEF6B1C5EE373B3CB
+Padding = EME1(SHA-1)
+Nonce = 7866314A6AD6F2B250A35941DB28F5864B585859
+Ciphertext = 0AB14C373AEB7D4328D0AAAD8C094D88B9EB098B95F21054A29082522BE7C27A312878B637917E3D819E6C3C568DB5D843802B06D51D9E98A2BE0BF40C031423B00EDFBFF8320EFB9171BD2044653A4CB9C5122F6C65E83CDA2EC3C126027A9C1A56BA874D0FEA23F380B82CF240B8CF540004758C4C77D934157A74F3FC12BFAC
+
+E = 0x10001
+P = 0x0A02EF8448D9FAD8BBD0D004C8C2AA9751EF9721C1B0D03236A54B0DF947CBAED5A255EE9E8E20D491EA1723FE094704A9762E88AFD16EBB5994412CA966DC4F9F
+Q = 0x092D362E7ED3A0BFD9E9FD0E6C0301B6DF29159CF50CC83B9B0CF4D6EEA71A61E002B46E0AE9F2DE62D25B5D7452D498B81C9AC6FC58593D4C3FB4F5D72DFBB0A9
+Msg = 050B755E5E6880F7B9E9D692A74C37AAE449B31BFEA6DEFF83747A897F6C2C825BB1ADBF850A3C96994B5DE5B33CBC7D4A17913A7967
+Padding = EME1(SHA-1)
+Nonce = 7706FFCA1ECFB1EBEE2A55E5C6E24CD2797A4125
+Ciphertext = 09B3683D8A2EB0FB295B62ED1FB9290B714457B7825319F4647872AF889B30409472020AD12912BF19B11D4819F49614824FFD84D09C0A17E7D17309D12919790410AA2995699F6A86DBE3242B5ACC23AF45691080D6B1AE810FB3E3057087F0970092CE00BE9562FF4053B6262CE0CAA93E13723D2E3A5BA075D45F0D61B54B61
+
+E = 0x10001
+P = 0x0A02EF8448D9FAD8BBD0D004C8C2AA9751EF9721C1B0D03236A54B0DF947CBAED5A255EE9E8E20D491EA1723FE094704A9762E88AFD16EBB5994412CA966DC4F9F
+Q = 0x092D362E7ED3A0BFD9E9FD0E6C0301B6DF29159CF50CC83B9B0CF4D6EEA71A61E002B46E0AE9F2DE62D25B5D7452D498B81C9AC6FC58593D4C3FB4F5D72DFBB0A9
+Msg = 8604AC56328C1AB5AD917861
+Padding = EME1(SHA-1)
+Nonce = EE06209073CCA026BB264E5185BF8C68B7739F86
+Ciphertext = 4BC89130A5B2DABB7C2FCF90EB5D0EAF9E681B7146A38F3173A3D9CFEC52EA9E0A41932E648A9D69344C50DA763F51A03C95762131E8052254DCD2248CBA40FD31667786CE05A2B7B531AC9DAC9ED584A59B677C1A8AED8C5D15D68C05569E2BE780BF7DB638FD2BFD2A85AB276860F3777338FCA989FFD743D13EE08E0CA9893F
+
+E = 0x10001
+P = 0xFC8D6C04BEC4EB9A8192CA7900CBE536E2E8B519DECF33B2459798C6909DF4F176DB7D23190FC72B8865A718AF895F1BCD9145298027423B605E70A47CF58390A8C3E88FC8C48E8B32E3DA210DFBE3E881EA5674B6A348C21E93F9E55EA65EFD
+Q = 0xD200D45E788AACEA606A401D0460F87DD5C1027E12DC1A0D7586E8939D9CF789B40F51AC0442961DE7D21CC21E05C83155C1F2AA9193387CFDF956CB48D153BA270406F9BBBA537D4987D9E2F9942D7A14CBFFFEA74FECDDA928D23E259F5EE1
+Msg = F735FD55BA92592C3B52B8F9C4F69AAA1CBEF8FE88ADD095595412467F9CF4EC0B896C59EDA16210E7549C8ABB10CDBC21A12EC9B6B5B8FD2F10399EB6
+Padding = EME1(SHA-1)
+Nonce = 8EC965F134A3EC9931E92A1CA0DC8169D5EA705C
+Ciphertext = 267BCD118ACAB1FC8BA81C85D73003CB8610FA55C1D97DA8D48A7C7F06896A4DB751AA284255B9D36AD65F37653D829F1B37F97B8001942545B2FC2C55A7376CA7A1BE4B1760C8E05A33E5AA2526B8D98E317088E7834C755B2A59B12631A182C05D5D43AB1779264F8456F515CE57DFDF512D5493DAB7B7338DC4B7D78DB9C091AC3BAF537A69FC7F549D979F0EFF9A94FDA4169BD4D1D19A69C99E33C3B55490D501B39B1EDAE118FF6793A153261584D3A5F39F6E682E3D17C8CD1261FA72
+
+E = 0x10001
+P = 0xFC8D6C04BEC4EB9A8192CA7900CBE536E2E8B519DECF33B2459798C6909DF4F176DB7D23190FC72B8865A718AF895F1BCD9145298027423B605E70A47CF58390A8C3E88FC8C48E8B32E3DA210DFBE3E881EA5674B6A348C21E93F9E55EA65EFD
+Q = 0xD200D45E788AACEA606A401D0460F87DD5C1027E12DC1A0D7586E8939D9CF789B40F51AC0442961DE7D21CC21E05C83155C1F2AA9193387CFDF956CB48D153BA270406F9BBBA537D4987D9E2F9942D7A14CBFFFEA74FECDDA928D23E259F5EE1
+Msg = 53E6E8C729D6F9C319DD317E74B0DB8E4CCCA25F3C8305746E137AC63A63EF3739E7B595ABB96E8D55E54F7BD41AB433378FFB911D
+Padding = EME1(SHA-1)
+Nonce = FCBC421402E9ECABC6082AFA40BA5F26522C840E
+Ciphertext = 232AFBC927FA08C2F6A27B87D4A5CB09C07DC26FAE73D73A90558839F4FD66D281B87EC734BCE237BA166698ED829106A7DE6942CD6CDCE78FED8D2E4D81428E66490D036264CEF92AF941D3E35055FE3981E14D29CBB9A4F67473063BAEC79A1179F5A17C9C1832F2838FD7D5E59BB9659D56DCE8A019EDEF1BB3ACCC697CC6CC7A778F60A064C7F6F5D529C6210262E003DE583E81E3167B89971FB8C0E15D44FFFEF89B53D8D64DD797D159B56D2B08EA5307EA12C241BD58D4EE278A1F2E
+
+E = 0x10001
+P = 0xECF5AECD1E5515FFFACBD75A2816C6EBF49018CDFB4638E185D66A7396B6F8090F8018C7FD95CC34B857DC17F0CC6516BB1346AB4D582CADAD7B4103352387B70338D084047C9D9539B6496204B3DD6EA442499207BEC01F964287FF6336C3984658336846F56E46861881C10233D2176BF15A5E96DDC780BC868AA77D3CE769
+Q = 0xBC46C464FC6AC4CA783B0EB08A3C841B772F7E9B2F28BABD588AE885E1A0C61E4858A0FB25AC299990F35BE85164C259BA1175CDD7192707135184992B6C29B746DD0D2CABE142835F7D148CC161524B4A09946D48B828473F1CE76B6CB6886C345C03E05F41D51B5C3A90A3F24073C7D74A4FE25D9CF21C75960F3FC3863183
+Msg = BCDD190DA3B7D300DF9A06E22CAAE2A75F10C91FF667B7C16BDE8B53064A2649A94045C9
+Padding = EME1(SHA-1)
+Nonce = 5CACA6A0F764161A9684F85D92B6E0EF37CA8B65
+Ciphertext = 6318E9FB5C0D05E5307E1683436E903293AC4642358AAA223D7163013ABA87E2DFDA8E60C6860E29A1E92686163EA0B9175F329CA3B131A1EDD3A77759A8B97BAD6A4F8F4396F28CF6F39CA58112E48160D6E203DAA5856F3ACA5FFED577AF499408E3DFD233E3E604DBE34A9C4C9082DE65527CAC6331D29DC80E0508A0FA7122E7F329F6CCA5CFA34D4D1DA417805457E008BEC549E478FF9E12A763C477D15BBB78F5B69BD57830FC2C4ED686D79BC72A95D85F88134C6B0AFE56A8CCFBC855828BB339BD17909CF1D70DE3335AE07039093E606D655365DE6550B872CD6DE1D440EE031B61945F629AD8A353B0D40939E96A3C450D2A8D5EEE9F678093C8
+
+E = 0x5
+P = 0xC7FBA2CB9FB24C6034C9E239E9350080AC8B9CB2DC8D428C5A1DA727671796791021093809F5F79052ACACA1EC1ED7E019818D8B2D417E8FC60812EE1A67992B
+Q = 0xFD06033468C106ADBCAA26AC4B6BD24CF4919EA5EEB99458D6E3C758ED606D639AA3D3B0BC36CFCAEC3507AD0280BF6E9F9C3EBCF41A0B33A95CC6EEBBDD57EF
+Msg = 7730307421
+Padding = EME1(SHA-1)
+Nonce = 67C6697351FF4AEC29CDBAABF2FBE3467CC254F8
+Ciphertext = 1A025CC4A2C1B8488760786162C62EC677F6546F329D84E6EE0DA11379573D1792526104BF637DE57807C4394C492919021DD81ADECE3530D8D2BC1802EC2E88A46C9C5E8FF11E34D7476530B7E11DE0236992DE29335549447122326366419901CA2F27E4A996512BDC650D76280A54D1DE2BE17D6E59EE1D156745036D8DC5
+
+E = 0x11
+P = 0xEECFAE81B1B9B3C908810B10A1B5600199EB9F44AEF4FDA493B81A9E3D84F632124EF0236E5D1E3B7E28FAE7AA040A2D5B252176459D1F397541BA2A58FB6599
+Q = 0xC97FB1F027F453F6341233EAAAD1D9353F6C42D08866B1D05A0F2035028B9D869840B41666B42E92EA0DA3B43204B5CFCE3352524D0416A5A441E700AF461503
+Msg = D436E99569FD32A7C8A05BBC90D32C49
+Padding = EME1(SHA-1)
+Nonce = AAFD12F659CAE63489B479E5076DDEC2F06CB58F
+Ciphertext = 1253E04DC0A5397BB44A7AB87E9BF2A039A33D1E996FC82A94CCD30074C95DF763722017069E5268DA5D1C0B4F872CF653C11DF82314A67968DFEAE28DEF04BB6D84B1C31D654A1970E5783BD6EB96A024C2CA2F4A90FE9F2EF5C9C140E5BB48DA9536AD8700C84FC9130ADEA74E558D51A74DDF85D8B50DE96838D6063E0955
+
+E = 0x11
+P = 0xC078DF95FFF0FC15570627120760AE74601094E47D0C879075B1F1A3EC33B2553490AB1484E588C18A62A166876C5FD1F9790C265CD5ECB5ADA8BE03D5ACE4DF
+Q = 0xCDECBA049D6379CAF66158D85E5A1CA40ECFB849E832109B6E018DBE5F2DC8D863DDC8DF00D93BBAD5AA1EEEF896AEF694D253C11B806547D8F3621F6C0B7041
+Msg = 7730307421
+Padding = EME1(SHA-1)
+Nonce = 67C6697351FF4AEC29CDBAABF2FBE3467CC254F8
+Ciphertext = 40BD2CCDFEB88BDBF6AE80EE37045142EEBA60D51063335F6145BD30223A1635D18C4E67FAD80D158BFA711A6BBCCCE8980A171027083D2D4E6B7DA2C465ADDBD1F44350C51A9E03D808EB5784F0A3602B7E23903CE4530DF3D45829375E11137FCD639874F71E68742B9C145D21ADF4C4C8416B54AC4A01B25AB4CF1570CFBD
+
+E = 0x13
+P = 0xC975657B7786E7335EA9B72E0DFE6FA895F5F7CE9E559CED9E6C9960ECECFCC1EC9D515BD14849E798B4D699F7C2898B6C256A63EA5F33D2FD77A51232B722A3
+Q = 0xD502E40CEA5B850C45E3BDE7E05EF0B13F4AE0DE9D93FCE969E5A119191785A63E5C181BD0CB3F440A1B519B3961B2FB519A8526BF29A3DA6DAC68261F70149B
+Msg = 7730307421
+Padding = EME1(SHA-1)
+Nonce = 67C6697351FF4AEC29CDBAABF2FBE3467CC254F8
+Ciphertext = 4B4B2F855CE4E8D5675589DE93335E31C1EC3ADA263855252DF49BD4836DBF293E07BE72C537B9C7685B38F7C838E067BC9172DF032C1F7AE337310A41A5F103B00E662E3F78E04C234825A3DA6D31CC84D591EF5E8FE970ECC2C0B23E28046325D88534EC256FED8C501034F8017C771983A07EB60E396F97418AD903282B59
+
+E = 0x67
+P = 0xBEDC7B14D1A21178D999DAAF657792371C8E55D29DA042030BBCAF411D36FDD2F2A1F79DBEF6B61AF19A750562ED9C7A73386929951C9D330789504FB322C99B
+Q = 0xDA9ACA1C011181903DD4C24863408D49E4E134283CE92C65C842B753FBFBA4634024837D6C1C17C18254BD8CA696F85BFCEB2578BD41B2584F2F47D6B12C18F7
+Msg = 7730307421
+Padding = EME1(SHA-1)
+Nonce = 67C6697351FF4AEC29CDBAABF2FBE3467CC254F8
+Ciphertext = 11C86DA2269774A6F24161A81B25D913B1A8C9F7332D066F96AE896221BF0B3063C2254FF1B082721C18BE2BC3F0B1E0CEC028D8CEF7C762E985A6C327ECEE036070B9BCA0E6E41EF72B8404C7874CBA08E2D05612D69D11DD14C1EA42E605A292AB1C5A19C2F0EF39441225C783BC573775A28857F8AEFFF4C7748C164C8A79
+
+E = 0xFFFB
+P = 0xC7479D7196291025D82523AC1840AAF09C3FF8844A444A9FED1C63996FD34566B75FB997746D175CB1B253C470AF4CBC5A0EB9969A85EF32A12C75053B8D7681
+Q = 0xEC73649E669157A56375BEC8AA903491543605C6A55AA7E4C804A0A8854C136356485CF4595B5922FF408E2A364F19F8BA82D658CD179118227BAC50046802B1
+Msg = 4B704138870B4D862914C2DEFB90810C845571168EA5178B
+Padding = EME1(SHA-1)
+Nonce = 67C6697351FF4AEC29CDBAABF2FBE3467CC254F8
+Ciphertext = 6BE76FF2B2C419CDAE62FD76AE165D0096E4FDD44C8936F8D906DD1F9D9323FF76C58C78E2E8A37828C40DCFF7906149BD6EE12A2E23D2AFEFF4BA5536674B64459410580DA9B4EA1400563A24967E0A0CB1D49B40AF76D0E34CD27158AC364726E7B5F10E3C155EFBD7936CE68CBA669D06DE721969E580F05F3B798C7821C0
+
+E = 0x11
+P = 0xFAEC2B060722051B29D1A7E1D3E060CE3CCBCB29CCFC68819F26BB7566B7C5BBD02C16C5A99E7F8EC22AA7050175DEA2C6C8939A24FBFD9015DA5C33C9E13985F6E788E3BB02771A4B273B4C9D376E8204E469EE1433CE4ADEE78FF6B0B96445673D5A0CB10156647B5F0418CC47A3469C6D0027D6AAEBC402D2DDBA1DA5B693
+Q = 0xD4795D21407AB236151E75957B45907F27BCFCDC38A0D9E322B1F2810FADA35961527F1834B1909BDAFDD8D6B779C60694E36380BA45CFC786FD28C8310AEE6230432FBA0996E87D22F7792D101EA4C171AAE38956762E3EDB2DCC8919BA0269F9CDE6B3D95F6D9EC93D22D118FCC837B2EE5990D6E84CB181D3416FCFFA9A23
+Msg = 7730307421
+Padding = EME1(SHA-1)
+Nonce = 67C6697351FF4AEC29CDBAABF2FBE3467CC254F8
+Ciphertext = 67114A6F725F764D578FFB44F36CEB3A2B51CDEB1183AEA7201337DF4D2F9A0E7DADE80202AD35BE2C5A209E493D31437189B95C86B53EE4B849536F94782E0335E1501978588A525192001D2D1B1C521A31F94ADC1A3119D50E07318246D35261F44EB0C2677F0E358E486A82E2B971996C926474F3199A4686ABAE7AFE130FBF419FDB7B92CB69D8FCB7FD1536234C9B82409474F9968BF16CFBDFBB57EA34C01436A684B8C521A435462CB6A6EBDB5DA4D97AAD2662738810DBC40C2616D3241D47085D53D92518BB24D26B2D7E8404ABE334E6C4848DEE793F0EB6B61ACAD0BAAFB220CB2C9ECBCF9667ACA41661B21E0A68E187DCBB39C3D7C5C31A7771
+
+E = 0x10001
+P = 0xD32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30AF38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D
+Q = 0xCC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77
+Msg = 54657374206F6620454D453120286F75745B305D3D3D6F75745B315D3D3D3029
+Padding = EME1(SHA-1)
+Nonce = 55BF28124E5DCC8B92E4419464AAD74B9D489259
+Ciphertext = 21154AF8EAAB2063615CE16397CB0AE8FA55C94D8DB6A1738F90CE17B1F2B77C57A5E2B7D892FCE8715B950070C2AEDCC6972A5B06BB20607D948FE755E24EBC408456375121DB3A0205F45030DC840EBFF0ED359449B670B3AB77B9E8167658DD73AE971C6B131F77C3A5143974393A2121F2F457146C7AA22DD56A7EEE86EB
+
+E = 0x10001
+P = 0xD32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30AF38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D
+Q = 0xCC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77
+Msg = 454D45313A20286F75745B302C312C325D3D3D3029
+Padding = EME1(SHA-1)
+Nonce = 825B0D7E7CCA6E1DE021437268D678C0CB8427D2
+Ciphertext = 039FB7DCBC3ED3DC57BF06055A269E47C00119FBF1F55FEF6E4174F9859C1BBEFC40B0A73E128FC5DF5DC6DA3C292BD13E428CB90A181983FA2383B092375B1B66FB2263174CD75266AD03B1DA49FC5BF69ED911017ACB87FA405DC118E8EE6926C7ADE4392802C8CBD26D7534B8347F9C6C40F7CB776857F45EFF31D6D17CA5
+
+E = 0x10001
+P = 0xD32737E7267FFE1341B2D5C0D150A81B586FB3132BED2F8D5262864A9CB9F30AF38BE448598D413A172EFB802C21ACF1C11C520C2F26A471DCAD212EAC7CA39D
+Q = 0xCC8853D1D54DA630FAC004F471F281C7B8982D8224A490EDBEB33D3E3D5CC93C4765703D1DD791642F1F116A0DD852BE2419B2AF72BFE9A030E860B0288B5D77
+Msg = 454D45313A20286F75745B302C312C325D3D3D3029
+Padding = EME1(SHA-1)
+Nonce = 20A708C1E55F288CFAE84EE6A521D3268234673B
+Ciphertext = 80960E4DF6DBD44A685EF7175BDCC12A53EC5DB0C8CD2866D72C120274D0F52588A71E97B449B65A9E0D36AF3A6C3437440163444EA9CC03C26FC52596576B5467CAFB8F171A2156135FD8CE93F7BA2E1418A4646E977DE60B19F1E7140B28EFC241AB3068FD4F0B70332962F253D67B6FC41D60806D0E6B62A81C759C24F405
+
+E = 3
+P = 107871498844327805426477824655913535708145675560929640834074979129981634822447
+Q = 89025645474364653597761935180174384298516593224911600154441707984529187725989
+Msg = A7AAF7FC80A74D35A163A575173A094DB366949207150DBFFF1D0B9DB01A43
+Padding = EME-PKCS1-v1_5
+Nonce = 77BA577E606EF4A69F7C66726923ECDAB4EFF065BCAB972AD9EEF7478C09
+Ciphertext = AF1F80B3057046EDE4EB139FE4954141350325E0D8291D1431F73FB601F57DA605D986965EC3B141E7BD467108EC29003C7F56315E11FA89708588B7A562A738
+
+E = 3
+P = 114913762053528544202764484541371154239375052605890158602955949263867389449259
+Q = 109894687290635208773391023636177155382452771657661462197086870923571791872877
+Msg = 6ECA65B7FDB0986062B70E8C68171DCAF736
+Padding = EME-PKCS1-v1_5
+Nonce = A83BC3A6BA075EDE453B7338CEE83BB8F5AE8B5968E3A99462181DC4E73F943B66E433F43D0E8E6F08DA14
+Ciphertext = 1346A7E48F0ED39B333041451A0A293DBD8E1C906B21200A1AAC228DB8C9FC0A9A24DD2B434E2279051106BD625AE24DD1554704E57EC48D659AA3E9515D2B41
+
+E = 65537
+P = 103793652692889479604145227844656792682532170216948642476032852015926228384007
+Q = 89173446269849294012890923025703856055134132864455765240993724031379489933153
+Msg = 64E8425A6B898502A081B6B78A0546F4BF2DEB85E187ED
+Padding = EME-PKCS1-v1_5
+Nonce = 57893B2A6A4AA7863785AB8FFA68E81F3239BDA659E704833319DF5E3377AEC911AA90F205B1
+Ciphertext = 871A94A51ED756EAD36EE976354D2D6DE467CA5B8C9D198FAFA6D5B24BFA674A20F89CF53B85F75F7E17481E212F2BF543AEC428B841C79E3E36CFD75BB7CA8D
+
+E = 65535
+P = 432415771007597974957624156178799318860712283353308003447560475843063611184519
+Q = 206256750182932457424055216578408364078987340514950324865789593945099777798567
+Msg = 1548C7CEC500A26A59D493176E3B6ECECDC23FFBC485D75E4E20C978AD14F9C25CC19021C1328B1A061E317559A04326628222
+Padding = EME-PKCS1-v1_5
+Nonce = 66832C587BB0FC43A7380A
+Ciphertext = 022092438BAB2CF4A6C50D71EE39419E2E11C9E9644E0B9C2221EF81098FE3188E9BE0E6E27C02A742571C0BD757C6B7F2160DCFA9A734AB6E90BDB0EF27DCD567
+
+E = 0x5
+P = 0xDA8D6D0AE1B959B8A446CE3807F195BC6737491490206535AC8F85E5D6E5C18F
+Q = 0xF74FE3F3CFC5BDF517A50A887676E7CC2D20C509758B7657ACAB73DFDD581D07
+Msg = 426C696E672D426C696E672E
+Padding = EME-PKCS1-v1_5
+Nonce = C66FF974AC57FF20D15AADF04D472ECF48F945F50945822FDA962591C160072AAFAC9AB61302ABAD458A2528D610C73DCD
+Ciphertext = 11F10A948BAE2ED28555EE8B36028C8AE3001E8AE76DA4567A59DD59EE8B490E54617009CF6E346360BE39E22B432DD7B50F0C41BEB1A6DF655E486FD5D822AA
+
+E = 0xC3E9
+P = 0xB90114E3BA96AD3076C08F63255E07A6BA0F46C0EC9332EB9081EA81100FFF2ED3F886DB2DE1CE4F01ABD44D477DA8E61B66C65A9FB666B1CA8F79FC7B3EF25F
+Q = 0xE67921A8F5C8C04169E8CCEDE6EE147CB3B1E139BFA6CB6789E24238CBBA10AD522B4BBA6F3B3138C7B038856F01C3735B2B61FDB18A47DB57D5B4B5B52B6E77
+Msg = 426C696E672D426C696E672E
+Padding = EME-PKCS1-v1_5
+Nonce = 8D4557C36F53ECB344131ADE3F85684BD10DCE1B84BB9B95A8AAF565D73283C446251D7FAFAF6C84FB216C627EEBEBD0F38C0E4C2849BB5FD95E453C9F4729E8B54E0AA5700EA7ED197A0A64DA43AA33A0D232ED403F2DD5C519FD070242DBA46FAA023D4FCA255AABB85A9AEC28DB83A6
+Ciphertext = 9642171747FA6A731DF3D17AE28EC0AA0FB8E4046CDC0170335610B1FEBA96738E4A7FB6BD7761A035B41161696A2270AD429C09980005307A6F154B65F6CCAE0C7C9CC1FC2E61BB52B5AE4AB41618023B673201D14C83DFADFDCB21BC7EF65FCB497A7625E324F1ABE70B045D465051C4668A02B5F38F25606FACFAF62296FD
+
+E = 0x11
+P = 0xF233C84BB80BD0BCA772A629AFAE474650A81C10B863747364DF21776B1ED91939FE9011E45B6C317F7C913F1A2E9395797C2E778FB97A0B1F57AEF663213557
+Q = 0xFB5B0E26BDD59E3494998727361831FDEC1715C0DB65E0FFF318A2BE9B33993B76984F868CA9179807F29C1DE6C5489C1D43C76BBB7959BBF85922016BCECC43
+Msg = 4C65742773206F7665727468726F772074686520676F7665726E6D656E742120286D616B65207375726520746F20656E6372797074207374756666206C696B65207468617429
+Padding = EME-PKCS1-v1_5
+Nonce = 2D76481668E437FBFD3DF446DF2BC5F7F0EAA857CB913E739D5CDB6042D32ACDBD332E5A99EDD3B4B210FC2937440EF8EDA3EEDE33D7B7
+Ciphertext = 7B8F8AAC5BBC997CD4A1DE682FBB96AC8E80C6FC2102B1E7926D9AAD97BC10A46F981BE12F8F1B51F9A9E1F8D8B7AED9CC42F2AC0420368341D994D94207176679B5F2187FB6BD8F962B678CC379009D0A82ABB9933093371B71C6CDECEED957EE08962B0A94C7DCF40325E5CE38C61C81D327AAE5E140F345597EE7774B8A11
+
+E = 0x1300D
+P = 0xE8E314B7ECD4CEDE513D6E229A3A3A0E1D0DAF974ABDA9997E1978972FD0863AFFD6259861CFC26F136DEBD1ED9CB227E091823C21DD79B57E8ECF67B9293113
+Q = 0xCE47F1506E6DDA70A95A6EC56E34B9F3F929D15C92DD4AC537162C6E3BD6C4EBFD3C51D08BA61216685A333062EBABA4B5E647C81550C7FBE132A1D48D7EF00D
+Msg = 486F7720646F2049206C6F766520746865653F20204D7920616363756D756C61746F72206F766572666C6F77732E
+Padding = EME-PKCS1-v1_5
+Nonce = 25B8D6560A33737B64EE77A02D5A3BA53F0F165468CCB98E7DBC6DFFA4C29033A209E8B6821A3A7CF9EE89C02B42CD25F62FAFCE56B80E703897A3299F78520BA251DAC421CC5A0B52E0E4B15FBB1E
+Ciphertext = 5A188A2132B9331B1072BCEA281DAE53070C0AAB0722D583BC7FE767BC85443B5E36286AC568246781792CE04FCEA86D26124F14F3E8ADB69CF1E8A0A1D86E3E0AC0F141C18CCA5F1B8228AC2996E81938B6593F37A603A41128D4CC0D45361042B5F86539BDBAC1B1867E4FE351F599E955B452F675B0945093FE8310A70C9F
+
+E = 0x13271
+P = 0xD4AA40364C695FC262073498EAE363EAE585720A8AA211D37CC2BB74ABDAE7A8B6D9C55D5D8E3A0E4D3B39D57D543E8A17F697FBBD45E32EC53B9240188F7EF5
+Q = 0xD4420A0041902AFD838833F2EF3AD89AFCF3EF66CA5B20036692BDC45FF861B20BE756CE35DCEC97A7BDD28DBBC09315E5B7E0249E61772436CA728C7639A8B5
+Msg = 5768617465766572206F63637572732066726F6D206C6F766520697320616C77617973206265796F6E6420676F6F6420616E64206576696C2E
+Padding = EME-PKCS1-v1_5
+Nonce = 25C23B57F9C9E9A3A2C08F3320214F5365B1A70417F5A6AFDAEFDCF76D4CCA563D9F9625E2BA783733DE9691108973AF66BDE07A7E8854035B972387BEEA4DBD4A2081CF
+Ciphertext = 985B3B945917B229B8274441C174B1748627F6A83986AAE295745694174928AF8D6E3D309A8FDEB57F3BFB73AF2B776D13278028E7A7CFDD3F489AD3A46B2045409683AABDD1C01CDF60ED850D4C918608ABC5B58C9BE3A438DB0D6D6B9C1019C9498E17233D5092165471B0A1DAECE0A68104539FB85C51648176E8B7AEC1B4
+
+E = 0x1A11
+P = 0x32A4716E0F397B9340565530800F691F9E457C2C5F8ABF0A8F62971B89B43584EFCD7EF66765E8BF6B84163D914364F855DF8F6C82DD49BEF76EDB1397257215
+Q = 0x360C8C90CA0B2216B342A9681EEF05BB8CF8DE2AB8F0997C97738AA32B88B956D94515E35FE96238974AE8A8F0164E0FBE25C1161D7A1E9D170B821FEAD5A3CD
+Msg = 4772617669746174696F6E2063616E6E6F742062652068656C6420726573706F6E7369626C6520666F722070656F706C652066616C6C696E6720696E206C6F76652E20202D2D20416C626572742045696E737465696E
+Padding = EME-PKCS1-v1_5
+Nonce = DADE975E4B9FCE8E3010EB1568FFDF1BCDED9A454796A0DFA6F793093A2FBE25813FC6EADC4225
+Ciphertext = 06DE6646853E49A067C85492FCA580E49D286981CCFDC4E13B5642489CC19E803A69116BC2D75CD005B768F3FE7AA780BF7E5A2A3EA53085619946DB4B3E9DB7592A8D060CDF185B3AB2C1BD551587EA8AC3745FEF60D945387B27C2001CF7A9EAE9A086AA58B769A59CC4D09BCF9E100ED630EE44889F341C8DCCF52F003CF1
diff --git a/src/tests/data/rw_sig.vec b/src/tests/data/rw_sig.vec
new file mode 100644
index 000000000..515532f81
--- /dev/null
+++ b/src/tests/data/rw_sig.vec
@@ -0,0 +1,114 @@
+
+E = 2
+P = 109498832837193349942352787694410757220743898293950008902229768464763555846411
+Q = 85230704000388320343522047881225795219999050879145593285943985369507278238159
+Msg = 5075752E
+Signature = 44CB3C6CD992A656AC2D8C92E044FCCC60FAA1B47FE153E7BA4B647136DA4A4288BD50FB0935E3B9180AF477F8B88E1EA1106569CCAB8D354E0A7E3AC92D70B3
+
+E = 2
+P = 109865738846453297504870443124415697975266037607085001559257420422594220882891
+Q = 98694408656025624050695264343005989524606446925918783808403866808761791794879
+Msg = A0C554E8D58C73A23F4725F1429E2F22
+Signature = 444C53E0B8CB70F1E8DC7788D390D4ECED5327800C122AB09C721DD08FE1E51A6FC8840140484014E64DA5D03A4F50ADE0D3E0B7C9C10B84D2B57045D6445121
+
+E = 2
+P = 143336889641615010244496430978489546339101892549496727101913128299881609918627
+Q = 151926545718894569699926859267668314402054550931627831706467116313636054387719
+Msg = CD5D30D1FCCF06CF6733D4416DB31B711461B81D53A855969E0E4A631D65E37B
+Signature = 0047459B8B8A46F43C6E54AA7D5B186AB997653BAFFD6EE9836ED0E4C38D12CCB8A1909A1FC1A4B9078946856287C280DF516BE8BAE4E17A9EECFD04B07F9310CE
+
+E = 2
+P = 182949987979358144640279185334649223492192688082789988743518134058381626294243
+Q = 217661937100392176429471532487409307118283276201469365990573762972129550201199
+Msg = 6BB7CFD26643B1202C3A437C4011DCEC6C3052164C1A5DA06DA42C1344D04CDA
+Signature = 00415BE626CE0173D34AAF57A86E66BC551C77A41AF32EFB64A3861E4F66EFEDDC2591360708B28338DE282F98A9DB05A0F2AD09427798BC98CE79F4D88C5EF1BE
+
+E = 2
+P = 192918421933113071672663571790417136575315830343623361517062943483820137610547
+Q = 219272031000798787900070278061750019215061926937271003090760219962651645895279
+Msg = E8B950C5BC86786FD69BCDF0FF8C5CA1BACE33FAB4260DB5814D8D11B8F1C7F9
+Signature = 00E51E4A98686C324B0356DF93058710E2B13B2FED029B2BF7F15DF8EF9BF209E1DEA5A101E614D6A843B9E4B218633D4D2E88398DF0C919EE9747F0CDEDE943BB
+
+E = 2
+P = 251763799668299139801148051936996493750316333616200301101265631148955054519003
+Q = 273942130639566796395628522491377999143259784737482155942900369025738294484647
+Msg = 54657374696E6720766172696F7573206B657973697A657320666F72205257207369676E6174757265733A2035313220746F203531392C20616E642031303234
+Signature = 0191F1BA45BC571445612D8C1A7818B52DFF78566E6CCFF7AB55B2F35FA21210C951F171E27A2921032718AE01BB4F209164BA0B21A5842D1925B35D09C7538050
+
+E = 2
+P = 409327577911563897329676201153305399224622257769264083949192266671863994023819
+Q = 341703906964487478759596292996274739409750155006525111822762040290119222665991
+Msg = 54657374696E6720766172696F7573206B657973697A657320666F72205257207369676E6174757265733A2035313220746F203531392C20616E642031303234
+Signature = 046C31E4EA320DF130FE1F361184DDC03713BBAC169E08266B91655B42A01F39E1E3FF781B04B2F44B2504F37ACC9688C1ADD7EB94A998779EFCDFBEB9FAFFC82D
+
+E = 2
+P = 542011156169896018363979833341171988540613020356308206083427540015546115987387
+Q = 588172110649890433110066846624960065830759891988972734390859461944450439293431
+Msg = 54657374696E6720766172696F7573206B657973697A657320666F72205257207369676E6174757265733A2035313220746F203531392C20616E642031303234
+Signature = 01BF0E20BF646E5E427B8D28CBAF696D7AA6B6DE878BB91C295D5559B1FA9A94F114FF61C11C0BC97066C2FC919815B0FD150CE70F63D696CEA4D5D1D7BDEDC035
+
+E = 2
+P = 771754770322374918077056807903198519432205177728078647887981967576575978481467
+Q = 786476629036513622552685880695741484791006753374459242149779582249234250146599
+Msg = 990B98BDAB266B4F5775025849FFFA9D344456AD023E7485
+Signature = 05F380320796E88C07170EE43F5497E3A84865E8BCD9EFFBC59D3E18B0CF785D668C5D8F99ECF36CCC4446EE3D3DA96DD5DA01BC2622743F9CF32D4790E3DFC3A9
+
+E = 2
+P = 1148355730975347131387674372822971414014271826139830720434999981897070232737907
+Q = 1254657073389576341606193988392457393961175021782268524267609443939027314335303
+Msg = D31A3E95F25DD795DE8A03C02A728436FE69F47177191183
+Signature = 05F7A7BF7B8A5EFA209885F0BCCF365FB6196E40A271E0000245FCFA98FF6DD5A35D7FBBB7218DC80A2AF20CA4499B8BD283B0DEEB5AF51DE283D054ECCEAA7C28
+
+E = 2
+P = 11920069466388025699244766440706927938965059002714491243177000161378000266109851115065694697794227241273343580951202247629310020256601693186944788025991843
+Q = 10777605005897273896785043775935571603158137557557200763166615929482216506057635943544427604777885488270215488764833385892798734511893248802408897989014263
+Msg = A76359F624250AFA5663B9783DE68D51369D972A89738D1C
+Signature = 26E13DBB1262A91761E6C5E6278401F7E80DB3DF947A81A8574404446D7C095883996CDA19346B0B46DBD38B9AE10ED8A4F76742C352B8DF85F8BC28F7A0BFE8EA0520A63A3B1A492E3D9F7FC492ADFB2295BE8BB6200317963AE978CFF89B300904859EF00FD7784CE630B30066D4500666B1673CD4263B49CFCB3A1D6A51A5
+
+E = 2
+P = 12545037330810088207768168723878733954756730747728115083756898577519070470389840741025833975537982084207671034725541309978724324975075329600505345504520219
+Q = 12870002110810180474990402294641834896535792812534110350536651271565094596430383644373958805954527115948325417945374873044426407582211769447386123601766879
+Msg = 2CA039854B55688740E3
+Signature = 1AF029CBEC9C692CE5096E73E4E9A52EC9A28D207A5511CCEC7681E5E3D867A4AE2E22DE4909D89196A272F1B50DE6FA3248BCA334D46E0D57171A790B6F4697E7BA7047DB79DECD47BD21995243DEBBF25915DDBC93C45875C14DE953792257C5C6825C905AFF40109C8CC7E793123D47AC1B5B6304A436CFA9BEEC8E0054E7
+
+E = 2
+P = 12545037330810088207768168723878733954756730747728115083756898577519070470389840741025833975537982084207671034725541309978724324975075329600505345504520219
+Q = 12870002110810180474990402294641834896535792812534110350536651271565094596430383644373958805954527115948325417945374873044426407582211769447386123601766879
+Msg = 2119A954F1AC0F3DCDB2
+Signature = 60C3CCF4F086B15B7F850B445F384333F7AE5A4B5EDE2820C7233239E1B86D6E4B4FCA4F50B087CE1DF17DA5D62672A17F2CF87A2875BBD9B138CAF6863821D6A4D553E9EB64C9254A8F9A6B960E57E39069D65E3F561AA1FA91643D42FEEFB9270D34AB0861DEA1E234EA587F580503D46A1989D413DAC2FFE0FC4CA663CE68
+
+E = 2
+P = 12545037330810088207768168723878733954756730747728115083756898577519070470389840741025833975537982084207671034725541309978724324975075329600505345504520219
+Q = 12870002110810180474990402294641834896535792812534110350536651271565094596430383644373958805954527115948325417945374873044426407582211769447386123601766879
+Msg = 7A4C634DE6F16315BD5F
+Signature = 308A5D65224201BED626CC83FB901EC84874EE03B2E7AB4E752EDBDE024C754E3CC9841CA062100A8843DE9183354B4E0596E8C68F1605828287884F0F9BA6968FC7A9F0CA09418A8485B90465E5D3F96CE4995A5FC7A6E5ABD9CC06BB8A2C3C8109F72EAE67FB4C108852C881CA645B3C5586F27F12FF3028ADE56E32AD9434
+
+E = 2
+P = 157704599352069859921156397442363312110769306142195838598773542758154595866567210022640109888478413022709250917899819531357360018250143692500197076580934099
+Q = 207895480306421993885928959277756332378135790107557439472247328444554879933219045837896240872517904914421631349451165104093054667050399312478738341782350039
+Msg = EF0F1D56F4E5D587C212
+Signature = 3E544FEBB6623F5D392003B729FE2BFC20E2CB3ECAC22734DFCA55150254E616A41C5E54CE3B50FBC2FE2363EE9AF9B15C70615497B0A458F8AB6D850992EEEB56D65F87EA1BD6E2B4B7E40A0F5E1635C7DDB17110C61039CF712D3524C9C2C1F35D9163BE5C70276F46634514BE16EC09602782E88FE74EAEB2F50CBB0E3B5C4A
+
+E = 2
+P = 157704599352069859921156397442363312110769306142195838598773542758154595866567210022640109888478413022709250917899819531357360018250143692500197076580934099
+Q = 207895480306421993885928959277756332378135790107557439472247328444554879933219045837896240872517904914421631349451165104093054667050399312478738341782350039
+Msg = EC5CC4228C3C70EE8F35
+Signature = 228BAA85062F10DCC9D99A23D340BC4B9E463D8AB86A6781A6D2143564303E2DC78772BF68449BE1E2711A68D5A15CF04A23573FB3870454308F583BBB5F2467069EF1395431E70F91BD56D846DC8DB2E88AB3D26A9770660B87A76D6C3575DE512BAFA8A0B901AD15B7D8E8BE2F176A182D16A9609F19A4298416245873175805
+
+E = 2
+P = 157704599352069859921156397442363312110769306142195838598773542758154595866567210022640109888478413022709250917899819531357360018250143692500197076580934099
+Q = 207895480306421993885928959277756332378135790107557439472247328444554879933219045837896240872517904914421631349451165104093054667050399312478738341782350039
+Msg = FEF5EE07C74118DA30B9
+Signature = 2637E16E2599B6EC2F4728C73D3B29F483C2B881F1E1969C426027605EF080E9B17D258D5E1EBC6472A2501E04CF19C144537FCB38A1DA00D948EBD39FA11322D9230B62E2C12AEDB366BD85A2089588A8D52E941FD986D89828A342B83438A960B6FD87E9AD025AD75A692AA9DFEA873A9467B42D84879E85C5D11EFAB347FBED
+
+E = 2
+P = 175929136695235398623978468982850882403177251171692053453163550527817444539242668478665523777116321800265560553921886249250653855011544289712550979662853142733380647502828837599849362421137735579029747170330078887639249000639490211840143752226146930789086027815718983074897826279804793994355341993150274152459
+Q = 131219248820237432230459994108611509842674503136881955113016298751051553750310448066570966264819272949229207100348941583625652701978979515213283684339178766873393297204552194591324343169883183564987140838254688839495455182007213365712028901853100685930521016622466535780176408252821208461989118980161415019487
+Msg = 15E7B7B7ED0F176B6799
+Signature = 39FF4B5FA50AE498F3C91A655E6865840D1FC401EE02DBC8460A59DEB8816E6680F712B7BAF8D4DC11A3B54BF906BE698306F0449BB43F3F223B944D930A1A3C718E8A9E2EEDEC5A07AB817C26A80CC2A2EE2846A597EAB8A999D38DB98490166F2574524038BBDF24B4E4622C843210C6B94987638C6976562EA9727385B152614C18349BD54AD95DE33D5354954B505E5259CCDA47E3CECEF3154F6E5481E536BAB568146A0BFCB66573714A7BA7ABE0385115720687F33D9C6EF6BB60272F1272CF349990E3A2FBCCE180B730792101089B164AE5A001F5263F7493AF148D6E0953E311AD12E4202D35F96DD30885663B5101F9B05675FCD2FCC4FCC4DDFF
+
+E = 2
+P = 175929136695235398623978468982850882403177251171692053453163550527817444539242668478665523777116321800265560553921886249250653855011544289712550979662853142733380647502828837599849362421137735579029747170330078887639249000639490211840143752226146930789086027815718983074897826279804793994355341993150274152459
+Q = 131219248820237432230459994108611509842674503136881955113016298751051553750310448066570966264819272949229207100348941583625652701978979515213283684339178766873393297204552194591324343169883183564987140838254688839495455182007213365712028901853100685930521016622466535780176408252821208461989118980161415019487
+Msg = B36724C92954C38D0288
+Signature = 3C8CD3614555568BBECA99174B7B203D0BC6FABE9E6FFE0C41EB4D9A2C601D2393CA1E01B7D7E99337758AC914C9F151311E5AE6708DAF1D8C825DA471652C6E13A8FE5802D7AE097BFC899A4EC8CA235B5982B9058C53AAD52823ACF692290EB8823C126635AB0BBF101C2B3149AB16183FA2DBB049DDB99C5E83723E4D4693CA3A08588AA868C677D42ABDAA6586EF192391D276C5E5AF0763ACCA6293F06250C51FDC2AD369CD44EB5F654E98761C881DDEC08E795FFB229B20522349B0714059E18B7B23A48875EAB12ED3F0A011D3A985DD7384B0046F39FA6C1A331F3D4C5125100BA58666935C68A7A10849D9C74850BAB82AE15EC950A283F3E7DAD8
diff --git a/src/tests/data/rw_verify.vec b/src/tests/data/rw_verify.vec
new file mode 100644
index 000000000..56eaeccae
--- /dev/null
+++ b/src/tests/data/rw_verify.vec
@@ -0,0 +1,45 @@
+
+E = 2
+N = 161454656927718347546710495694108529777245911373659826842829267986614546594045217933996260902225693470782367852921548571818741091142328119451183980020737294116588677127973118579514046427857660817897020988337799668966050218796197424008138916049541798309364039036236330944419873716106449892609340592749580026501
+Msg = 2A51DF4AF88613D91A37
+Signature = 6FF18F4471E1A8F850C910A181A9F28E69AACD8E8126969605E000A853197541AF9047E5D17315BF062B9CD8DF91196F0343285D9E31D5C72560C156782B6D0E5AF8F06D7DCDD8CABEC01B2438C168C40C21F6A8794648361BD2AEE13573A49ECA07A7EED97C0B9C5B1E508869E4CFD5FE1771924B1CF5A4BFF7D4379E5CD59F
+
+E = 2
+N = 161454656927718347546710495694108529777245911373659826842829267986614546594045217933996260902225693470782367852921548571818741091142328119451183980020737294116588677127973118579514046427857660817897020988337799668966050218796197424008138916049541798309364039036236330944419873716106449892609340592749580026501
+Msg = 1CF8DDD95D780A89D7CF
+Signature = 539C266B0313E0E256ED98EEF13E6AE64CED90C160A4999B3D47CBDA5285DAB0E0678C0E079CE9B8EB23E10EDFACFC19A80EEBB8F38ED5B5D6C8A988AB8CEC40A5A5BA102F75586167EAB6D5BF0CE8FF30C656895800F6F1B37D69FBBAF9055F7505DBEB537C0F986A1B5F0270DC12A640FFCB626F9763FDCFEFA1208C104003
+
+E = 2
+N = 161454656927718347546710495694108529777245911373659826842829267986614546594045217933996260902225693470782367852921548571818741091142328119451183980020737294116588677127973118579514046427857660817897020988337799668966050218796197424008138916049541798309364039036236330944419873716106449892609340592749580026501
+Msg = F6959926E6D9D37D8BC0
+Signature = 249E1066542618CE0D236A7174708F801E7AB257931E9967A65C483ED66FB58598F99B6664AF0EAE221E2A6B271D7D17875ED02BF7FE35AA0786023858521CB79FEE0D134D9DDA609B0270FC9804BB6BF74AD90AE11EB339353533DC0D5A69E6B8758212B86024ED563767EA5D9B59655E0B8CC21244F720BA4ED663BF668E3A
+
+E = 2
+N = 32786073428830410300284398130917235885067430238109848936605383675780141752060601429462102909027763036198820309290723334169722464563078967493471762466687109286253939743688211922523861101766022434426241688525377498535565035820609539198077315872030442353465034902603192318438957229679544105479421156369538009079861
+Msg = 2C9EA313EACF2C5DA43A
+Signature = 1FEFF88814BB53E447E1E955AC8F1AF597C15C3866033E337AFBAB8627306F2EC1276621FF2176C89323CE32EA20F6AEC2CC271F1ED749408B2A3E43A23A44D6A3F38DCDDCAB696B239110AA7ECF12C6681B0E97E6FFF1B72F4F6D796BF82B9450AB8B3D28CA9D220BDF84ACCEA1DA5EDA0B470C3A82BBDD77B4C2723297608BD4
+
+E = 2
+N = 32786073428830410300284398130917235885067430238109848936605383675780141752060601429462102909027763036198820309290723334169722464563078967493471762466687109286253939743688211922523861101766022434426241688525377498535565035820609539198077315872030442353465034902603192318438957229679544105479421156369538009079861
+Msg = 0B9554FFE4F6ADAB2C76
+Signature = 095952F24D9FBEF3A93A932865F4BDBB522CF24EBE153CE4BBB24CF301A1C7B51FE47B94F8F8B211CBC5A926FF6BAF9A6BBF7E15975D2DCCB95EF01AB7E641687870B0D01FC18B6B16FE17D3FC82931FBBCD4FD18C7F9588CEE8491876D72F98F2E7EEA90C12907210D6859053ADC7178B87BF8B4826954D6986FE761E71E1B7EA
+
+E = 2
+N = 23085289162741657527840167277266509664124085355414549040512530339697658387985567689334460418487839008934878679957217276034762867535322838769309710601133720477419144651652431984020413179219099708493077666967073038701913036009744973121934238964755003870653746948359481987956885300823356903154270243367915826847703878822563963033648087127205805904895271584100346005591610792553114534696786749743262897187409362428960073234641477114369452520945902014227194038301981685731937113320369353918470275156548959860091573626887579450283427370674385898724855497767152486821298218877895649195196037107789007826511494658561893968533
+Msg = 00AA5515CDAE5CD0F0DC
+Signature = 30EECA6B48D796552F5A6A3C11F28D730FA077422CAAB34FDEB879AE0F71DF21330E2F3BE5BF3A8CA372EBCD3DFA7C81B3398C31B0972D0B857926CB39732351AACEB8276D52B9D82F9C245FA0F1CF49E785A2BC00FF27FBCF777F84D05BEF17FCC0505820B029AC8F0CE17D2469372CE47E1428BB941004FE170EF87163E07298EFFCC1BFA7E7CB1F572C340CAA075A5962A15B69CE937BC7EFB492F501FC88CBF0119C351C8498782091EF6EFB19120195E5FF51DF86F90E90FAEB225AA2EE43AB4E8358101C0348C7E3859B9DEBA19464C74B74AC48A0B73FC8D2E7F8033E86208F0792B6E5B6DE36C99DEF604949811D1671EF6B0A4781B4E7A0A72AD855
+
+E = 2
+N = 23085289162741657527840167277266509664124085355414549040512530339697658387985567689334460418487839008934878679957217276034762867535322838769309710601133720477419144651652431984020413179219099708493077666967073038701913036009744973121934238964755003870653746948359481987956885300823356903154270243367915826847703878822563963033648087127205805904895271584100346005591610792553114534696786749743262897187409362428960073234641477114369452520945902014227194038301981685731937113320369353918470275156548959860091573626887579450283427370674385898724855497767152486821298218877895649195196037107789007826511494658561893968533
+Msg = B8E2FB9EAE22FB2C0021
+Signature = 416D33F8C213CF81F805F54FC1D4E7C6A588A0965F1C9CAEEA1D41452E20935AAF2D30F957584B56621035430212A428E27A2F687CA9DBB596C19864AE692EF7BBA730F3D70CC2DDE15AB71E1E350C0C316EFA1A831ACD1441598B112482487DF72F58ED318182C7CD0906FE39C5655BF1313F29A15D60A6178CBF600C7FBFF8994840ED649C3C4026A463B3EA39C692B7D112B128BE49E1E32D4A7FF8D4513283D8DCD9CCB8FB7300BE0BDD4C44DAA2F7049B3AD83437093E623442AC69B48911CDA21E95E0775041F67F6E6AE01DCE646AEC20908E7C1B693600FE41ABA85AC0C778641E46C419083E41773C749DB3E1BD8FD764E271860D2D7F8E11BD6AB3
+
+E = 2
+N = 23085289162741657527840167277266509664124085355414549040512530339697658387985567689334460418487839008934878679957217276034762867535322838769309710601133720477419144651652431984020413179219099708493077666967073038701913036009744973121934238964755003870653746948359481987956885300823356903154270243367915826847703878822563963033648087127205805904895271584100346005591610792553114534696786749743262897187409362428960073234641477114369452520945902014227194038301981685731937113320369353918470275156548959860091573626887579450283427370674385898724855497767152486821298218877895649195196037107789007826511494658561893968533
+Msg = 8C8C306A629373BAE647
+Signature = 0E9A00045FFD399D9DA9D0D7E543CF9FFD098BC23E72DD7763A64F22C7F0479CE866E31438B8F7DE31A18F35AF419BED6C67BE1540614D3310DD24F019E14FCC3AF73743F4C143D4B79CDF35C752A300F0A8251CCFF4AAF18785C533A7DF1A20AFE6770DEBD1B8BA2C83B2E345A04F833CD173E998FF9840C2F8A370FFDCFF5FD95CBD71B25FC9972192470FD145975344F64C2F6D68CB3513F48F9FC070021BEE8F6A4282D098C44DF655CE415E89B97994AE3ABE85986C7EE0AC348EF2A4F52D102EA80836E77E81AD3678803E53C83CF2F30D2D4950FB6B038CCB3F2690A9381EB34D6C09E88C090AB05E28047DC490EB8A1282FEB38E82FB0B18309284C4
+
+E = 2
+N = 23085289162741657527840167277266509664124085355414549040512530339697658387985567689334460418487839008934878679957217276034762867535322838769309710601133720477419144651652431984020413179219099708493077666967073038701913036009744973121934238964755003870653746948359481987956885300823356903154270243367915826847703878822563963033648087127205805904895271584100346005591610792553114534696786749743262897187409362428960073234641477114369452520945902014227194038301981685731937113320369353918470275156548959860091573626887579450283427370674385898724855497767152486821298218877895649195196037107789007826511494658561893968533
+Msg = FA95400C2B14E064F76A
+Signature = 3F67F9DBEB88E6AD057BEDC3D97030555A908867EC578A6CA572137CB61C21036AADE6DDC5592EC7CCB6B263E51B4C886A51904C858040E493D64B9ACE5BAA50C4A66D04ACCDFE0039D8541C4363DEFFCF93BDF5F5CC1FB64855D956B5EFD42D4C9B96B9CBAA97A32F02AAB307674E53404E6836DB5C96B59572ADBFD1113B87608ACE6D0898CB02E35575CC28D38A9FF8C1C4AD36BAA991DEFAB533F0A6C9C2F0F0815F1D659ED576E5DB18494A54B6817D9E34A134F3B9A0F1E8C77FC204B6EE087C0445A7036C935117E338D092F6E1FF4DF7605525C409456A5195233A176B29B2FD8FB2808D0412FCA0541B2BB6800BD8BB9DC9DC25230166071E8D961E
diff --git a/src/test-data/stream.vec b/src/tests/data/stream.vec
index 01869d408..01869d408 100644
--- a/src/test-data/stream.vec
+++ b/src/tests/data/stream.vec
diff --git a/src/test-data/transform.vec b/src/tests/data/transform.vec
index e69de29bb..e69de29bb 100644
--- a/src/test-data/transform.vec
+++ b/src/tests/data/transform.vec
diff --git a/src/test-data/x931.vec b/src/tests/data/x931.vec
index abdbc0708..abdbc0708 100644
--- a/src/test-data/x931.vec
+++ b/src/tests/data/x931.vec
diff --git a/src/tests/test_aead.cpp b/src/tests/test_aead.cpp
index e8643334f..0bc4a47c5 100644
--- a/src/tests/test_aead.cpp
+++ b/src/tests/test_aead.cpp
@@ -29,12 +29,12 @@ secure_vector<byte> aead(const std::string& algo,
return ct;
}
-bool aead_test(const std::string& algo,
- const std::string& pt,
- const std::string& ct,
- const std::string& nonce_hex,
- const std::string& ad_hex,
- const std::string& key_hex)
+size_t aead_test(const std::string& algo,
+ const std::string& pt,
+ const std::string& ct,
+ const std::string& nonce_hex,
+ const std::string& ad_hex,
+ const std::string& key_hex)
{
auto nonce = hex_decode_locked(nonce_hex);
auto ad = hex_decode_locked(ad_hex);
@@ -70,14 +70,14 @@ bool aead_test(const std::string& algo,
++fail;
}
- return (ct == ct2) && (pt == pt2);
+ return fail;
}
}
size_t test_aead()
{
- std::ifstream vec(CHECKS_DIR "/aead.vec");
+ std::ifstream vec(TEST_DATA_DIR "/aead.vec");
return run_tests_bb(vec, "AEAD", "Out", true,
[](std::map<std::string, std::string> m)
diff --git a/src/tests/test_bigint.cpp b/src/tests/test_bigint.cpp
index 7f866d212..2c1b257b9 100644
--- a/src/tests/test_bigint.cpp
+++ b/src/tests/test_bigint.cpp
@@ -311,7 +311,7 @@ size_t check_primetest(const std::vector<std::string>& args,
size_t test_bigint()
{
- const std::string filename = CHECKS_DIR "/mp_valid.dat";
+ const std::string filename = TEST_DATA_DIR "/mp_valid.dat";
std::ifstream test_data(filename.c_str());
if(!test_data)
diff --git a/src/tests/test_block.cpp b/src/tests/test_block.cpp
index 51241d69b..9da33ef0e 100644
--- a/src/tests/test_block.cpp
+++ b/src/tests/test_block.cpp
@@ -10,10 +10,10 @@ using namespace Botan;
namespace {
-bool block_test(const std::string& algo,
- const std::string& key_hex,
- const std::string& in_hex,
- const std::string& out_hex)
+size_t block_test(const std::string& algo,
+ const std::string& key_hex,
+ const std::string& in_hex,
+ const std::string& out_hex)
{
const secure_vector<byte> key = hex_decode_locked(key_hex);
const secure_vector<byte> pt = hex_decode_locked(in_hex);
@@ -58,17 +58,17 @@ bool block_test(const std::string& algo,
}
}
- return (fails == 0);
+ return fails;
}
}
size_t test_block()
{
- std::ifstream vec(CHECKS_DIR "/block.vec");
+ std::ifstream vec(TEST_DATA_DIR "/block.vec");
return run_tests_bb(vec, "BlockCipher", "Out", true,
- [](std::map<std::string, std::string> m) -> bool
+ [](std::map<std::string, std::string> m) -> size_t
{
return block_test(m["BlockCipher"], m["Key"], m["In"], m["Out"]);
});
diff --git a/src/tests/test_cvc.cpp b/src/tests/test_cvc.cpp
index 205b74ec8..9519f0926 100644
--- a/src/tests/test_cvc.cpp
+++ b/src/tests/test_cvc.cpp
@@ -28,7 +28,7 @@
#include <botan/cvc_cert.h>
#include <botan/cvc_ado.h>
-#define TEST_DATA_DIR CHECKS_DIR "/ecc_testdata"
+#define CVC_TEST_DATA_DIR TEST_DATA_DIR "/ecc"
using namespace Botan;
@@ -94,21 +94,21 @@ void test_enc_gen_selfsigned(RandomNumberGenerator& rng)
std::vector<byte> der(cert.BER_encode());
std::ofstream cert_file;
- cert_file.open(TEST_DATA_DIR "/my_cv_cert.ber", std::ios::binary);
+ cert_file.open(CVC_TEST_DATA_DIR "/my_cv_cert.ber", std::ios::binary);
//cert_file << der; // this is bad !!!
cert_file.write((char*)&der[0], der.size());
cert_file.close();
- EAC1_1_CVC cert_in(TEST_DATA_DIR "/my_cv_cert.ber");
+ EAC1_1_CVC cert_in(CVC_TEST_DATA_DIR "/my_cv_cert.ber");
CHECK(cert == cert_in);
// encoding it again while it has no dp
std::vector<byte> der2(cert_in.BER_encode());
- std::ofstream cert_file2(TEST_DATA_DIR "/my_cv_cert2.ber", std::ios::binary);
+ std::ofstream cert_file2(CVC_TEST_DATA_DIR "/my_cv_cert2.ber", std::ios::binary);
cert_file2.write((char*)&der2[0], der2.size());
cert_file2.close();
// read both and compare them
- std::ifstream cert_1_in(TEST_DATA_DIR "/my_cv_cert.ber");
- std::ifstream cert_2_in(TEST_DATA_DIR "/my_cv_cert2.ber");
+ std::ifstream cert_1_in(CVC_TEST_DATA_DIR "/my_cv_cert.ber");
+ std::ifstream cert_2_in(CVC_TEST_DATA_DIR "/my_cv_cert2.ber");
std::vector<byte> sv1;
std::vector<byte> sv2;
if (!cert_1_in || !cert_2_in)
@@ -200,12 +200,12 @@ void test_enc_gen_req(RandomNumberGenerator& rng)
key.set_parameter_encoding(EC_DOMPAR_ENC_IMPLICITCA);
EAC1_1_Req req = CVC_EAC::create_cvc_req(key, opts.chr, opts.hash_alg, rng);
std::vector<byte> der(req.BER_encode());
- std::ofstream req_file(TEST_DATA_DIR "/my_cv_req.ber", std::ios::binary);
+ std::ofstream req_file(CVC_TEST_DATA_DIR "/my_cv_req.ber", std::ios::binary);
req_file.write((char*)&der[0], der.size());
req_file.close();
// read and check signature...
- EAC1_1_Req req_in(TEST_DATA_DIR "/my_cv_req.ber");
+ EAC1_1_Req req_in(CVC_TEST_DATA_DIR "/my_cv_req.ber");
//req_in.set_domain_parameters(dom_pars);
std::unique_ptr<Public_Key> p_pk(req_in.subject_public_key());
ECDSA_PublicKey* p_ecdsa_pk = dynamic_cast<ECDSA_PublicKey*>(p_pk.get());
@@ -217,7 +217,7 @@ void test_enc_gen_req(RandomNumberGenerator& rng)
void test_cvc_req_ext(RandomNumberGenerator&)
{
- EAC1_1_Req req_in(TEST_DATA_DIR "/DE1_flen_chars_cvcRequest_ECDSA.der");
+ EAC1_1_Req req_in(CVC_TEST_DATA_DIR "/DE1_flen_chars_cvcRequest_ECDSA.der");
EC_Group dom_pars(OID("1.3.36.3.3.2.8.1.1.5")); // "german curve"
//req_in.set_domain_parameters(dom_pars);
std::unique_ptr<Public_Key> p_pk(req_in.subject_public_key());
@@ -230,7 +230,7 @@ void test_cvc_req_ext(RandomNumberGenerator&)
void test_cvc_ado_ext(RandomNumberGenerator&)
{
- EAC1_1_ADO req_in(TEST_DATA_DIR "/ado.cvcreq");
+ EAC1_1_ADO req_in(CVC_TEST_DATA_DIR "/ado.cvcreq");
EC_Group dom_pars(OID("1.3.36.3.3.2.8.1.1.5")); // "german curve"
//cout << "car = " << req_in.get_car().value() << std::endl;
//req_in.set_domain_parameters(dom_pars);
@@ -251,7 +251,7 @@ void test_cvc_ado_creation(RandomNumberGenerator& rng)
//EAC1_1_Req req = CVC_EAC::create_cvc_req(req_key, opts);
EAC1_1_Req req = CVC_EAC::create_cvc_req(req_key, opts.chr, opts.hash_alg, rng);
std::vector<byte> der(req.BER_encode());
- std::ofstream req_file(TEST_DATA_DIR "/my_cv_req.ber", std::ios::binary);
+ std::ofstream req_file(CVC_TEST_DATA_DIR "/my_cv_req.ber", std::ios::binary);
req_file.write((char*)&der[0], der.size());
req_file.close();
@@ -265,12 +265,12 @@ void test_cvc_ado_creation(RandomNumberGenerator& rng)
EAC1_1_ADO ado = CVC_EAC::create_ado_req(ado_key, req, ado_opts.car, rng);
CHECK_MESSAGE(ado.check_signature(ado_key), "failure of ado verification after creation");
- std::ofstream ado_file(TEST_DATA_DIR "/ado", std::ios::binary);
+ std::ofstream ado_file(CVC_TEST_DATA_DIR "/ado", std::ios::binary);
std::vector<byte> ado_der(ado.BER_encode());
ado_file.write((char*)&ado_der[0], ado_der.size());
ado_file.close();
// read it again and check the signature
- EAC1_1_ADO ado2(TEST_DATA_DIR "/ado");
+ EAC1_1_ADO ado2(CVC_TEST_DATA_DIR "/ado");
CHECK(ado == ado2);
//ECDSA_PublicKey* p_ado_pk = dynamic_cast<ECDSA_PublicKey*>(&ado_key);
//bool ver = ado2.check_signature(*p_ado_pk);
@@ -319,13 +319,13 @@ void test_cvc_ado_comparison(RandomNumberGenerator& rng)
CHECK_MESSAGE(ado2.check_signature(ado_key2), "failure of ado verification after creation");
CHECK_MESSAGE(ado != ado2, "ado's found to be equal where they are not");
- // std::ofstream ado_file(TEST_DATA_DIR "/ado");
+ // std::ofstream ado_file(CVC_TEST_DATA_DIR "/ado");
// std::vector<byte> ado_der(ado.BER_encode());
// ado_file.write((char*)&ado_der[0], ado_der.size());
// ado_file.close();
// read it again and check the signature
- // EAC1_1_ADO ado2(TEST_DATA_DIR "/ado");
+ // EAC1_1_ADO ado2(CVC_TEST_DATA_DIR "/ado");
// ECDSA_PublicKey* p_ado_pk = dynamic_cast<ECDSA_PublicKey*>(&ado_key);
// //bool ver = ado2.check_signature(*p_ado_pk);
// bool ver = ado2.check_signature(ado_key);
@@ -369,7 +369,7 @@ void test_eac_time(RandomNumberGenerator&)
void test_ver_cvca(RandomNumberGenerator&)
{
- EAC1_1_CVC req_in(TEST_DATA_DIR "/cvca01.cv.crt");
+ EAC1_1_CVC req_in(CVC_TEST_DATA_DIR "/cvca01.cv.crt");
bool exc = false;
@@ -391,20 +391,20 @@ void test_ver_cvca(RandomNumberGenerator&)
void test_copy_and_assignment(RandomNumberGenerator&)
{
- EAC1_1_CVC cert_in(TEST_DATA_DIR "/cvca01.cv.crt");
+ EAC1_1_CVC cert_in(CVC_TEST_DATA_DIR "/cvca01.cv.crt");
EAC1_1_CVC cert_cp(cert_in);
EAC1_1_CVC cert_ass = cert_in;
CHECK(cert_in == cert_cp);
CHECK(cert_in == cert_ass);
- EAC1_1_ADO ado_in(TEST_DATA_DIR "/ado.cvcreq");
+ EAC1_1_ADO ado_in(CVC_TEST_DATA_DIR "/ado.cvcreq");
//EC_Group dom_pars(OID("1.3.36.3.3.2.8.1.1.5")); // "german curve"
EAC1_1_ADO ado_cp(ado_in);
EAC1_1_ADO ado_ass = ado_in;
CHECK(ado_in == ado_cp);
CHECK(ado_in == ado_ass);
- EAC1_1_Req req_in(TEST_DATA_DIR "/DE1_flen_chars_cvcRequest_ECDSA.der");
+ EAC1_1_Req req_in(CVC_TEST_DATA_DIR "/DE1_flen_chars_cvcRequest_ECDSA.der");
//EC_Group dom_pars(OID("1.3.36.3.3.2.8.1.1.5")); // "german curve"
EAC1_1_Req req_cp(req_in);
EAC1_1_Req req_ass = req_in;
@@ -417,7 +417,7 @@ void test_eac_str_illegal_values(RandomNumberGenerator&)
bool exc = false;
try
{
- EAC1_1_CVC(TEST_DATA_DIR "/cvca_illegal_chars.cv.crt");
+ EAC1_1_CVC(CVC_TEST_DATA_DIR "/cvca_illegal_chars.cv.crt");
}
catch (Decoding_Error)
@@ -429,7 +429,7 @@ void test_eac_str_illegal_values(RandomNumberGenerator&)
bool exc2 = false;
try
{
- EAC1_1_CVC(TEST_DATA_DIR "/cvca_illegal_chars2.cv.crt");
+ EAC1_1_CVC(CVC_TEST_DATA_DIR "/cvca_illegal_chars2.cv.crt");
}
catch (Decoding_Error)
@@ -465,7 +465,7 @@ void test_cvc_chain(RandomNumberGenerator& rng)
std::string hash("SHA-224");
ASN1_Car car("DECVCA00001");
EAC1_1_CVC cvca_cert = DE_EAC::create_cvca(cvca_privk, hash, car, true, true, 12, rng);
- std::ofstream cvca_file(TEST_DATA_DIR "/cvc_chain_cvca.cer", std::ios::binary);
+ std::ofstream cvca_file(CVC_TEST_DATA_DIR "/cvc_chain_cvca.cer", std::ios::binary);
std::vector<byte> cvca_sv = cvca_cert.BER_encode();
cvca_file.write((char*)&cvca_sv[0], cvca_sv.size());
cvca_file.close();
@@ -475,21 +475,21 @@ void test_cvc_chain(RandomNumberGenerator& rng)
EAC1_1_CVC cvca_cert2 = DE_EAC::create_cvca(cvca_privk2, hash, car2, true, true, 12, rng);
EAC1_1_CVC link12 = DE_EAC::link_cvca(cvca_cert, cvca_privk, cvca_cert2, rng);
std::vector<byte> link12_sv = link12.BER_encode();
- std::ofstream link12_file(TEST_DATA_DIR "/cvc_chain_link12.cer", std::ios::binary);
+ std::ofstream link12_file(CVC_TEST_DATA_DIR "/cvc_chain_link12.cer", std::ios::binary);
link12_file.write((char*)&link12_sv[0], link12_sv.size());
link12_file.close();
// verify the link
CHECK(link12.check_signature(cvca_privk));
- EAC1_1_CVC link12_reloaded(TEST_DATA_DIR "/cvc_chain_link12.cer");
- EAC1_1_CVC cvca1_reloaded(TEST_DATA_DIR "/cvc_chain_cvca.cer");
+ EAC1_1_CVC link12_reloaded(CVC_TEST_DATA_DIR "/cvc_chain_link12.cer");
+ EAC1_1_CVC cvca1_reloaded(CVC_TEST_DATA_DIR "/cvc_chain_cvca.cer");
std::unique_ptr<Public_Key> cvca1_rel_pk(cvca1_reloaded.subject_public_key());
CHECK(link12_reloaded.check_signature(*cvca1_rel_pk));
// create first round dvca-req
ECDSA_PrivateKey dvca_priv_key(rng, dom_pars);
EAC1_1_Req dvca_req = DE_EAC::create_cvc_req(dvca_priv_key, ASN1_Chr("DEDVCAEPASS"), hash, rng);
- std::ofstream dvca_file(TEST_DATA_DIR "/cvc_chain_dvca_req.cer", std::ios::binary);
+ std::ofstream dvca_file(CVC_TEST_DATA_DIR "/cvc_chain_dvca_req.cer", std::ios::binary);
std::vector<byte> dvca_sv = dvca_req.BER_encode();
dvca_file.write((char*)&dvca_sv[0], dvca_sv.size());
dvca_file.close();
@@ -498,18 +498,18 @@ void test_cvc_chain(RandomNumberGenerator& rng)
EAC1_1_CVC dvca_cert1 = DE_EAC::sign_request(cvca_cert, cvca_privk, dvca_req, 1, 5, true, 3, 1, rng);
CHECK(dvca_cert1.get_car().iso_8859() == "DECVCA00001");
CHECK(dvca_cert1.get_chr().iso_8859() == "DEDVCAEPASS00001");
- helper_write_file(dvca_cert1, TEST_DATA_DIR "/cvc_chain_dvca_cert1.cer");
+ helper_write_file(dvca_cert1, CVC_TEST_DATA_DIR "/cvc_chain_dvca_cert1.cer");
// make a second round dvca ado request
ECDSA_PrivateKey dvca_priv_key2(rng, dom_pars);
EAC1_1_Req dvca_req2 = DE_EAC::create_cvc_req(dvca_priv_key2, ASN1_Chr("DEDVCAEPASS"), hash, rng);
- std::ofstream dvca_file2(TEST_DATA_DIR "/cvc_chain_dvca_req2.cer", std::ios::binary);
+ std::ofstream dvca_file2(CVC_TEST_DATA_DIR "/cvc_chain_dvca_req2.cer", std::ios::binary);
std::vector<byte> dvca_sv2 = dvca_req2.BER_encode();
dvca_file2.write((char*)&dvca_sv2[0], dvca_sv2.size());
dvca_file2.close();
EAC1_1_ADO dvca_ado2 = CVC_EAC::create_ado_req(dvca_priv_key, dvca_req2,
ASN1_Car(dvca_cert1.get_chr().iso_8859()), rng);
- helper_write_file(dvca_ado2, TEST_DATA_DIR "/cvc_chain_dvca_ado2.cer");
+ helper_write_file(dvca_ado2, CVC_TEST_DATA_DIR "/cvc_chain_dvca_ado2.cer");
// verify the ado and sign the request too
@@ -518,14 +518,14 @@ void test_cvc_chain(RandomNumberGenerator& rng)
//cert_pk->set_domain_parameters(dom_pars);
//std::cout << "dvca_cert.public_point.size() = " << ec::EC2OSP(cert_pk->get_public_point(), ec::PointGFp::COMPRESSED).size() << std::endl;
- EAC1_1_CVC dvca_cert1_reread(TEST_DATA_DIR "/cvc_chain_cvca.cer");
+ EAC1_1_CVC dvca_cert1_reread(CVC_TEST_DATA_DIR "/cvc_chain_cvca.cer");
CHECK(dvca_ado2.check_signature(*cert_pk));
CHECK(dvca_ado2.check_signature(dvca_priv_key)); // must also work
EAC1_1_Req dvca_req2b = dvca_ado2.get_request();
- helper_write_file(dvca_req2b, TEST_DATA_DIR "/cvc_chain_dvca_req2b.cer");
- CHECK(helper_files_equal(TEST_DATA_DIR "/cvc_chain_dvca_req2b.cer", TEST_DATA_DIR "/cvc_chain_dvca_req2.cer"));
+ helper_write_file(dvca_req2b, CVC_TEST_DATA_DIR "/cvc_chain_dvca_req2b.cer");
+ CHECK(helper_files_equal(CVC_TEST_DATA_DIR "/cvc_chain_dvca_req2b.cer", CVC_TEST_DATA_DIR "/cvc_chain_dvca_req2.cer"));
EAC1_1_CVC dvca_cert2 = DE_EAC::sign_request(cvca_cert, cvca_privk, dvca_req2b, 2, 5, true, 3, 1, rng);
CHECK(dvca_cert2.get_car().iso_8859() == "DECVCA00001");
CHECK_MESSAGE(dvca_cert2.get_chr().iso_8859() == "DEDVCAEPASS00002",
@@ -534,14 +534,14 @@ void test_cvc_chain(RandomNumberGenerator& rng)
// make a first round IS request
ECDSA_PrivateKey is_priv_key(rng, dom_pars);
EAC1_1_Req is_req = DE_EAC::create_cvc_req(is_priv_key, ASN1_Chr("DEIS"), hash, rng);
- helper_write_file(is_req, TEST_DATA_DIR "/cvc_chain_is_req.cer");
+ helper_write_file(is_req, CVC_TEST_DATA_DIR "/cvc_chain_is_req.cer");
// sign the IS request
//dvca_cert1.set_domain_parameters(dom_pars);
EAC1_1_CVC is_cert1 = DE_EAC::sign_request(dvca_cert1, dvca_priv_key, is_req, 1, 5, true, 3, 1, rng);
CHECK_MESSAGE(is_cert1.get_car().iso_8859() == "DEDVCAEPASS00001", "car = " << is_cert1.get_car().iso_8859());
CHECK(is_cert1.get_chr().iso_8859() == "DEIS00001");
- helper_write_file(is_cert1, TEST_DATA_DIR "/cvc_chain_is_cert.cer");
+ helper_write_file(is_cert1, CVC_TEST_DATA_DIR "/cvc_chain_is_cert.cer");
// verify the signature of the certificate
CHECK(is_cert1.check_signature(dvca_priv_key));
diff --git a/src/tests/test_dh.cpp b/src/tests/test_dh.cpp
new file mode 100644
index 000000000..33a0e1ec6
--- /dev/null
+++ b/src/tests/test_dh.cpp
@@ -0,0 +1,60 @@
+#include "tests.h"
+#include "test_pubkey.h"
+
+#include <botan/auto_rng.h>
+#include <botan/pubkey.h>
+#include <botan/dh.h>
+#include <botan/hex.h>
+#include <iostream>
+#include <fstream>
+
+using namespace Botan;
+
+namespace {
+
+size_t dh_sig_kat(const std::string& p,
+ const std::string& g,
+ const std::string& x,
+ const std::string& y,
+ std::string kdf,
+ const std::string& outlen,
+ const std::string& key)
+ {
+ AutoSeeded_RNG rng;
+
+ BigInt p_bn(p), g_bn(g), x_bn(x), y_bn(y);
+
+ DL_Group domain(p_bn, g_bn);
+
+ DH_PrivateKey mykey(rng, domain, x_bn);
+ DH_PublicKey otherkey(domain, y_bn);
+
+ if(kdf == "")
+ kdf = "Raw";
+
+ size_t keylen = 0;
+ if(outlen != "")
+ keylen = to_u32bit(outlen);
+
+ PK_Key_Agreement kas(mykey, kdf);
+
+ return validate_kas(kas, "DH/" + kdf, otherkey.public_value(), key, keylen);
+ }
+
+}
+
+size_t test_dh()
+ {
+ std::ifstream dh_sig(TEST_DATA_DIR "/dh.vec");
+
+ size_t fails = 0;
+
+ fails += run_tests_bb(dh_sig, "DH Kex", "K", true,
+ [](std::map<std::string, std::string> m) -> size_t
+ {
+ return dh_sig_kat(m["P"], m["G"], m["X"], m["Y"], m["KDF"], m["OutLen"], m["K"]);
+ });
+
+ return fails;
+ }
+
diff --git a/src/tests/test_dlies.cpp b/src/tests/test_dlies.cpp
new file mode 100644
index 000000000..cd931fd35
--- /dev/null
+++ b/src/tests/test_dlies.cpp
@@ -0,0 +1,77 @@
+#include "tests.h"
+#include "test_pubkey.h"
+
+#include <botan/auto_rng.h>
+#include <botan/pubkey.h>
+#include <botan/lookup.h>
+#include <botan/dlies.h>
+#include <botan/dh.h>
+#include <botan/hex.h>
+#include <iostream>
+#include <fstream>
+
+using namespace Botan;
+
+namespace {
+
+size_t dlies_kat(const std::string& p,
+ const std::string& g,
+ const std::string& x1,
+ const std::string& x2,
+ const std::string& msg,
+ const std::string& ciphertext)
+ {
+ AutoSeeded_RNG rng;
+
+ BigInt p_bn(p);
+ BigInt g_bn(g);
+ BigInt x1_bn(x1);
+ BigInt x2_bn(x2);
+
+ DL_Group domain(p_bn, g_bn);
+
+ DH_PrivateKey from(rng, domain, x1_bn);
+ DH_PrivateKey to(rng, domain, x2_bn);
+
+ const std::string opt_str = "KDF2(SHA-1)/HMAC(SHA-1)/16";
+
+ std::vector<std::string> options = split_on(opt_str, '/');
+
+ if(options.size() != 3)
+ throw std::runtime_error("DLIES needs three options: " + opt_str);
+
+ const size_t mac_key_len = to_u32bit(options[2]);
+
+ DLIES_Encryptor e(from,
+ get_kdf(options[0]),
+ get_mac(options[1]),
+ mac_key_len);
+
+ DLIES_Decryptor d(to,
+ get_kdf(options[0]),
+ get_mac(options[1]),
+ mac_key_len);
+
+ e.set_other_key(to.public_value());
+
+ const std::string empty = "";
+ return validate_encryption(e, d, "DLIES", msg, empty, ciphertext);
+ }
+
+}
+
+size_t test_dlies()
+ {
+ std::ifstream dlies(TEST_DATA_DIR "/dlies.vec");
+
+ size_t fails = 0;
+
+ fails += run_tests_bb(dlies, "DLIES Encryption", "Ciphertext", true,
+ [](std::map<std::string, std::string> m) -> size_t
+ {
+ return dlies_kat(m["P"], m["G"], m["X1"], m["X2"], m["Msg"], m["Ciphertext"]);
+ });
+
+ return fails;
+ }
+
diff --git a/src/tests/test_dsa.cpp b/src/tests/test_dsa.cpp
new file mode 100644
index 000000000..316967232
--- /dev/null
+++ b/src/tests/test_dsa.cpp
@@ -0,0 +1,57 @@
+#include "tests.h"
+#include "test_pubkey.h"
+
+#include <botan/auto_rng.h>
+#include <botan/pubkey.h>
+#include <botan/dsa.h>
+#include <botan/hex.h>
+#include <iostream>
+#include <fstream>
+
+using namespace Botan;
+
+namespace {
+
+size_t dsa_sig_kat(const std::string& p,
+ const std::string& q,
+ const std::string& g,
+ const std::string& x,
+ const std::string& hash,
+ const std::string& msg,
+ const std::string& nonce,
+ const std::string& signature)
+ {
+ AutoSeeded_RNG rng;
+
+ BigInt p_bn(p), q_bn(q), g_bn(g), x_bn(x);
+
+ DL_Group group(p_bn, q_bn, g_bn);
+ DSA_PrivateKey privkey(rng, group, x_bn);
+
+ DSA_PublicKey pubkey = privkey;
+
+ const std::string padding = "EMSA1(" + hash + ")";
+
+ PK_Verifier verify(pubkey, padding);
+ PK_Signer sign(privkey, padding);
+
+ return validate_signature(verify, sign, "DSA/" + hash, msg, nonce, signature);
+ }
+
+}
+
+size_t test_dsa()
+ {
+ std::ifstream dsa_sig(TEST_DATA_DIR "/dsa.vec");
+
+ size_t fails = 0;
+
+ fails += run_tests_bb(dsa_sig, "DSA Signature", "Signature", true,
+ [](std::map<std::string, std::string> m) -> size_t
+ {
+ return dsa_sig_kat(m["P"], m["Q"], m["G"], m["X"], m["Hash"], m["Msg"], m["Nonce"], m["Signature"]);
+ });
+
+ return fails;
+ }
+
diff --git a/src/tests/test_eax.cpp b/src/tests/test_eax.cpp
index 45b583139..2a6c42269 100644
--- a/src/tests/test_eax.cpp
+++ b/src/tests/test_eax.cpp
@@ -224,6 +224,6 @@ size_t eax_tests(std::istream& in)
size_t test_eax()
{
// Uses a set of tests created for libtomcrypt
- std::ifstream in(CHECKS_DIR "/eax.vec");
+ std::ifstream in(TEST_DATA_DIR "/eax.vec");
return eax_tests(in);
}
diff --git a/src/tests/test_ecdsa.cpp b/src/tests/test_ecdsa.cpp
index b557f0193..3bb15739c 100644
--- a/src/tests/test_ecdsa.cpp
+++ b/src/tests/test_ecdsa.cpp
@@ -1,490 +1,52 @@
-/******************************************************
-* ECDSA tests *
-* *
-* (C) 2007 Falko Strenzke *
-* Manuel Hartl *
-* 2008 Jack Lloyd *
-******************************************************/
-
#include "tests.h"
+#include "test_pubkey.h"
-#include <botan/hex.h>
#include <botan/auto_rng.h>
#include <botan/pubkey.h>
#include <botan/ecdsa.h>
-#include <botan/rsa.h>
-#include <botan/x509cert.h>
#include <botan/oids.h>
-
+#include <botan/hex.h>
#include <iostream>
#include <fstream>
-#include <memory>
using namespace Botan;
-#define TEST_DATA_DIR CHECKS_DIR "/ecc_testdata"
-
-#define CHECK_MESSAGE(expr, print) try { if(!(expr)) { ++fails; std::cout << print << "\n"; } } catch(std::exception& e) { std::cout << __FUNCTION__ << ": " << e.what() << "\n"; }
-#define CHECK(expr) try { if(!(expr)) { ++fails; std::cout << #expr << "\n"; } } catch(std::exception& e) { std::cout << __FUNCTION__ << ": " << e.what() << "\n"; }
-
namespace {
-std::string to_hex(const std::vector<byte>& bin)
- {
- return hex_encode(&bin[0], bin.size());
- }
-
-/**
-
-* Tests whether the the signing routine will work correctly in case
-* the integer e that is constructed from the message (thus the hash
-* value) is larger than n, the order of the base point. Tests the
-* signing function of the pk signer object */
-
-size_t test_hash_larger_than_n(RandomNumberGenerator& rng)
- {
- EC_Group dom_pars(OID("1.3.132.0.8")); // secp160r1
- // n = 0x0100000000000000000001f4c8f927aed3ca752257 (21 bytes)
- // -> shouldn't work with SHA224 which outputs 28 bytes
-
- size_t fails = 0;
- ECDSA_PrivateKey priv_key(rng, dom_pars);
-
- std::vector<byte> message(20);
- for(size_t i = 0; i != message.size(); ++i)
- message[i] = i;
-
- PK_Signer pk_signer_160(priv_key, "EMSA1_BSI(SHA-1)");
- PK_Verifier pk_verifier_160(priv_key, "EMSA1_BSI(SHA-1)");
-
- PK_Signer pk_signer_224(priv_key, "EMSA1_BSI(SHA-224)");
-
- // Verify we can sign and verify with SHA-160
- std::vector<byte> signature_160 = pk_signer_160.sign_message(message, rng);
-
- CHECK(pk_verifier_160.verify_message(message, signature_160));
-
- bool signature_failed = false;
- try
- {
- std::vector<byte> signature_224 = pk_signer_224.sign_message(message, rng);
- }
- catch(Encoding_Error)
- {
- signature_failed = true;
- }
-
- CHECK(signature_failed);
-
- // now check that verification alone fails
-
- // sign it with the normal EMSA1
- PK_Signer pk_signer(priv_key, "EMSA1(SHA-224)");
- std::vector<byte> signature = pk_signer.sign_message(message, rng);
-
- PK_Verifier pk_verifier(priv_key, "EMSA1_BSI(SHA-224)");
-
- // verify against EMSA1_BSI
- if(pk_verifier.verify_message(message, signature))
- {
- std::cout << "Corrupt ECDSA signature verified, should not have\n";
- ++fails;
- }
-
- return fails;
- }
-
-size_t test_decode_ecdsa_X509()
+size_t ecdsa_sig_kat(const std::string& group_id,
+ const std::string& x,
+ const std::string& hash,
+ const std::string& msg,
+ const std::string& nonce,
+ const std::string& signature)
{
- X509_Certificate cert(TEST_DATA_DIR "/CSCA.CSCA.csca-germany.1.crt");
- size_t fails = 0;
-
- CHECK_MESSAGE(OIDS::lookup(cert.signature_algorithm().oid) == "ECDSA/EMSA1(SHA-224)", "error reading signature algorithm from x509 ecdsa certificate");
-
- CHECK_MESSAGE(to_hex(cert.serial_number()) == "01", "error reading serial from x509 ecdsa certificate");
- CHECK_MESSAGE(to_hex(cert.authority_key_id()) == "0096452DE588F966C4CCDF161DD1F3F5341B71E7", "error reading authority key id from x509 ecdsa certificate");
- CHECK_MESSAGE(to_hex(cert.subject_key_id()) == "0096452DE588F966C4CCDF161DD1F3F5341B71E7", "error reading Subject key id from x509 ecdsa certificate");
-
- std::unique_ptr<X509_PublicKey> pubkey(cert.subject_public_key());
- bool ver_ec = cert.check_signature(*pubkey);
- CHECK_MESSAGE(ver_ec, "could not positively verify correct selfsigned x509-ecdsa certificate");
-
- return fails;
- }
-
-size_t test_decode_ver_link_SHA256()
- {
- X509_Certificate root_cert(TEST_DATA_DIR "/root2_SHA256.cer");
- X509_Certificate link_cert(TEST_DATA_DIR "/link_SHA256.cer");
-
- size_t fails = 0;
- std::unique_ptr<X509_PublicKey> pubkey(root_cert.subject_public_key());
- bool ver_ec = link_cert.check_signature(*pubkey);
- CHECK_MESSAGE(ver_ec, "could not positively verify correct SHA256 link x509-ecdsa certificate");
- return fails;
- }
-
-size_t test_decode_ver_link_SHA1()
- {
- X509_Certificate root_cert(TEST_DATA_DIR "/root_SHA1.163.crt");
- X509_Certificate link_cert(TEST_DATA_DIR "/link_SHA1.166.crt");
-
- size_t fails = 0;
- std::unique_ptr<X509_PublicKey> pubkey(root_cert.subject_public_key());
- bool ver_ec = link_cert.check_signature(*pubkey);
- CHECK_MESSAGE(ver_ec, "could not positively verify correct SHA1 link x509-ecdsa certificate");
- return fails;
- }
-
-size_t test_sign_then_ver(RandomNumberGenerator& rng)
- {
- EC_Group dom_pars(OID("1.3.132.0.8"));
- ECDSA_PrivateKey ecdsa(rng, dom_pars);
-
- size_t fails = 0;
- PK_Signer signer(ecdsa, "EMSA1(SHA-1)");
-
- auto msg = hex_decode("12345678901234567890abcdef12");
- std::vector<byte> sig = signer.sign_message(msg, rng);
-
- PK_Verifier verifier(ecdsa, "EMSA1(SHA-1)");
-
- bool ok = verifier.verify_message(msg, sig);
-
- if(!ok)
- {
- std::cout << "ERROR: Could not verify ECDSA signature\n";
- fails++;
- }
-
- sig[0]++;
- ok = verifier.verify_message(msg, sig);
-
- if(ok)
- {
- std::cout << "ERROR: Bogus ECDSA signature verified anyway\n";
- fails++;
- }
-
- return fails;
- }
-
-size_t test_ec_sign(RandomNumberGenerator& rng)
- {
- size_t fails = 0;
-
- try
- {
- EC_Group dom_pars(OID("1.3.132.0.8"));
- ECDSA_PrivateKey priv_key(rng, dom_pars);
- std::string pem_encoded_key = PKCS8::PEM_encode(priv_key);
-
- PK_Signer signer(priv_key, "EMSA1(SHA-224)");
- PK_Verifier verifier(priv_key, "EMSA1(SHA-224)");
-
- for(size_t i = 0; i != 256; ++i)
- signer.update(static_cast<byte>(i));
- std::vector<byte> sig = signer.signature(rng);
-
- for(u32bit i = 0; i != 256; ++i)
- verifier.update(static_cast<byte>(i));
- if(!verifier.check_signature(sig))
- {
- std::cout << "ECDSA self-test failed!";
- ++fails;
- }
-
- // now check valid signature, different input
- for(u32bit i = 1; i != 256; ++i) //starting from 1
- verifier.update(static_cast<byte>(i));
-
- if(verifier.check_signature(sig))
- {
- std::cout << "ECDSA with bad input passed validation";
- ++fails;
- }
-
- // now check with original input, modified signature
-
- sig[sig.size()/2]++;
- for(u32bit i = 0; i != 256; ++i)
- verifier.update(static_cast<byte>(i));
-
- if(verifier.check_signature(sig))
- {
- std::cout << "ECDSA with bad signature passed validation";
- ++fails;
- }
- }
- catch (std::exception& e)
- {
- std::cout << "Exception in test_ec_sign - " << e.what() << "\n";
- ++fails;
- }
-
- return fails;
- }
-
-
-size_t test_create_pkcs8(RandomNumberGenerator& rng)
- {
- size_t fails = 0;
-
- try
- {
- RSA_PrivateKey rsa_key(rng, 1024);
- //RSA_PrivateKey rsa_key2(1024);
- //cout << "\nequal: " << (rsa_key == rsa_key2) << "\n";
- //DSA_PrivateKey key(DL_Group("dsa/jce/1024"));
-
- std::ofstream rsa_priv_key(TEST_DATA_DIR "/rsa_private.pkcs8.pem");
- rsa_priv_key << PKCS8::PEM_encode(rsa_key);
-
- EC_Group dom_pars(OID("1.3.132.0.8"));
- ECDSA_PrivateKey key(rng, dom_pars);
-
- // later used by other tests :(
- std::ofstream priv_key(TEST_DATA_DIR "/wo_dompar_private.pkcs8.pem");
- priv_key << PKCS8::PEM_encode(key);
- }
- catch (std::exception& e)
- {
- std::cout << "Exception: " << e.what() << std::endl;
- ++fails;
- }
-
- return fails;
- }
-
-size_t test_create_and_verify(RandomNumberGenerator& rng)
- {
- size_t fails = 0;
-
- EC_Group dom_pars(OID("1.3.132.0.8"));
- ECDSA_PrivateKey key(rng, dom_pars);
- std::ofstream priv_key(TEST_DATA_DIR "/dompar_private.pkcs8.pem");
- priv_key << PKCS8::PEM_encode(key);
-
- std::unique_ptr<PKCS8_PrivateKey> loaded_key(PKCS8::load_key(TEST_DATA_DIR "/wo_dompar_private.pkcs8.pem", rng));
- ECDSA_PrivateKey* loaded_ec_key = dynamic_cast<ECDSA_PrivateKey*>(loaded_key.get());
- CHECK_MESSAGE(loaded_ec_key, "the loaded key could not be converted into an ECDSA_PrivateKey");
-
- std::unique_ptr<PKCS8_PrivateKey> loaded_key_1(PKCS8::load_key(TEST_DATA_DIR "/rsa_private.pkcs8.pem", rng));
- ECDSA_PrivateKey* loaded_rsa_key = dynamic_cast<ECDSA_PrivateKey*>(loaded_key_1.get());
- CHECK_MESSAGE(!loaded_rsa_key, "the loaded key is ECDSA_PrivateKey -> shouldn't be, is a RSA-Key");
-
- //calc a curve which is not in the registry
-
- // string p_secp = "2117607112719756483104013348936480976596328609518055062007450442679169492999007105354629105748524349829824407773719892437896937279095106809";
- std::string a_secp = "0a377dede6b523333d36c78e9b0eaa3bf48ce93041f6d4fc34014d08f6833807498deedd4290101c5866e8dfb589485d13357b9e78c2d7fbe9fe";
- std::string b_secp = "0a9acf8c8ba617777e248509bcb4717d4db346202bf9e352cd5633731dd92a51b72a4dc3b3d17c823fcc8fbda4da08f25dea89046087342595a7";
- std::string G_secp_comp = "04081523d03d4f12cd02879dea4bf6a4f3a7df26ed888f10c5b2235a1274c386a2f218300dee6ed217841164533bcdc903f07a096f9fbf4ee95bac098a111f296f5830fe5c35b3e344d5df3a2256985f64fbe6d0edcc4c61d18bef681dd399df3d0194c5a4315e012e0245ecea56365baa9e8be1f7";
- std::string order_g = "0e1a16196e6000000000bc7f1618d867b15bb86474418f";
-
- // ::std::vector<byte> sv_p_secp = hex_decode ( p_secp );
- auto sv_a_secp = hex_decode ( a_secp );
- auto sv_b_secp = hex_decode ( b_secp );
- auto sv_G_secp_comp = hex_decode ( G_secp_comp );
- auto sv_order_g = hex_decode ( order_g );
-
- // BigInt bi_p_secp = BigInt::decode ( &sv_p_secp[0], sv_p_secp.size() );
- BigInt bi_p_secp("2117607112719756483104013348936480976596328609518055062007450442679169492999007105354629105748524349829824407773719892437896937279095106809");
- BigInt bi_a_secp = BigInt::decode ( &sv_a_secp[0], sv_a_secp.size() );
- BigInt bi_b_secp = BigInt::decode ( &sv_b_secp[0], sv_b_secp.size() );
- BigInt bi_order_g = BigInt::decode ( &sv_order_g[0], sv_order_g.size() );
- CurveGFp curve(bi_p_secp, bi_a_secp, bi_b_secp);
- PointGFp p_G = OS2ECP ( sv_G_secp_comp, curve );
-
- EC_Group dom_params(curve, p_G, bi_order_g, BigInt(1));
- if(!p_G.on_the_curve())
- throw Internal_Error("Point not on the curve");
-
- ECDSA_PrivateKey key_odd_oid(rng, dom_params);
- std::string key_odd_oid_str = PKCS8::PEM_encode(key_odd_oid);
-
- DataSource_Memory key_data_src(key_odd_oid_str);
- std::unique_ptr<PKCS8_PrivateKey> loaded_key2(PKCS8::load_key(key_data_src, rng));
-
- if(!dynamic_cast<ECDSA_PrivateKey*>(loaded_key.get()))
- {
- std::cout << "Failed to reload an ECDSA key with unusual parameter set\n";
- ++fails;
- }
-
- return fails;
- }
-
-size_t test_curve_registry(RandomNumberGenerator& rng)
- {
- std::vector<std::string> oids;
- oids.push_back("1.3.132.0.8");
- oids.push_back("1.2.840.10045.3.1.1");
- oids.push_back("1.2.840.10045.3.1.2");
- oids.push_back("1.2.840.10045.3.1.3");
- oids.push_back("1.2.840.10045.3.1.4");
- oids.push_back("1.2.840.10045.3.1.5");
- oids.push_back("1.2.840.10045.3.1.6");
- oids.push_back("1.2.840.10045.3.1.7");
- oids.push_back("1.3.132.0.6");
- oids.push_back("1.3.132.0.7");
- oids.push_back("1.3.132.0.28");
- oids.push_back("1.3.132.0.29");
- oids.push_back("1.3.132.0.9");
- oids.push_back("1.3.132.0.30");
- oids.push_back("1.3.132.0.31");
- oids.push_back("1.3.132.0.32");
- oids.push_back("1.3.132.0.33");
- oids.push_back("1.3.132.0.10");
- oids.push_back("1.3.132.0.34");
- oids.push_back("1.3.132.0.35");
- //oids.push_back("1.3.6.1.4.1.8301.3.1.2.9.0.38");
- oids.push_back("1.3.36.3.3.2.8.1.1.1");
- oids.push_back("1.3.36.3.3.2.8.1.1.3");
- oids.push_back("1.3.36.3.3.2.8.1.1.5");
- oids.push_back("1.3.36.3.3.2.8.1.1.7");
- oids.push_back("1.3.36.3.3.2.8.1.1.9");
- oids.push_back("1.3.36.3.3.2.8.1.1.11");
- oids.push_back("1.3.36.3.3.2.8.1.1.13");
-
- size_t fails = 0;
-
- unsigned int i;
- for (i = 0; i < oids.size(); i++)
- {
- try
- {
- OID oid(oids[i]);
- EC_Group dom_pars(oid);
- ECDSA_PrivateKey ecdsa(rng, dom_pars);
-
- PK_Signer signer(ecdsa, "EMSA1(SHA-1)");
- PK_Verifier verifier(ecdsa, "EMSA1(SHA-1)");
-
- auto msg = hex_decode("12345678901234567890abcdef12");
- std::vector<byte> sig = signer.sign_message(msg, rng);
-
- if(!verifier.verify_message(msg, sig))
- {
- std::cout << "Failed testing ECDSA sig for curve " << oids[i] << "\n";
- ++fails;
- }
- }
- catch(Invalid_Argument& e)
- {
- std::cout << "Error testing curve " << oids[i] << " - " << e.what() << "\n";
- ++fails;
- }
- }
- return fails;
- }
-
-size_t test_read_pkcs8(RandomNumberGenerator& rng)
- {
- auto msg = hex_decode("12345678901234567890abcdef12");
- size_t fails = 0;
-
- try
- {
- std::unique_ptr<PKCS8_PrivateKey> loaded_key(PKCS8::load_key(TEST_DATA_DIR "/wo_dompar_private.pkcs8.pem", rng));
- ECDSA_PrivateKey* ecdsa = dynamic_cast<ECDSA_PrivateKey*>(loaded_key.get());
- CHECK_MESSAGE(ecdsa, "the loaded key could not be converted into an ECDSA_PrivateKey");
-
- PK_Signer signer(*ecdsa, "EMSA1(SHA-1)");
-
- std::vector<byte> sig = signer.sign_message(msg, rng);
-
- PK_Verifier verifier(*ecdsa, "EMSA1(SHA-1)");
-
- CHECK_MESSAGE(verifier.verify_message(msg, sig),
- "generated sig could not be verified positively");
- }
- catch (std::exception& e)
- {
- ++fails;
- std::cout << "Exception in test_read_pkcs8 - " << e.what() << "\n";
- }
-
- try
- {
- std::unique_ptr<PKCS8_PrivateKey> loaded_key_nodp(PKCS8::load_key(TEST_DATA_DIR "/nodompar_private.pkcs8.pem", rng));
- // anew in each test with unregistered domain-parameters
- ECDSA_PrivateKey* ecdsa_nodp = dynamic_cast<ECDSA_PrivateKey*>(loaded_key_nodp.get());
- CHECK_MESSAGE(ecdsa_nodp, "the loaded key could not be converted into an ECDSA_PrivateKey");
-
- PK_Signer signer(*ecdsa_nodp, "EMSA1(SHA-1)");
- PK_Verifier verifier(*ecdsa_nodp, "EMSA1(SHA-1)");
-
- std::vector<byte> signature_nodp = signer.sign_message(msg, rng);
-
- CHECK_MESSAGE(verifier.verify_message(msg, signature_nodp),
- "generated signature could not be verified positively (no_dom)");
-
- try
- {
- std::unique_ptr<PKCS8_PrivateKey> loaded_key_withdp(
- PKCS8::load_key(TEST_DATA_DIR "/withdompar_private.pkcs8.pem", rng));
-
- std::cout << "Unexpected success: loaded key with unknown OID\n";
- ++fails;
- }
- catch (std::exception) { /* OK */ }
- }
- catch (std::exception& e)
- {
- std::cout << "Exception in test_read_pkcs8 - " << e.what() << "\n";
- ++fails;
- }
-
- return fails;
- }
-
-size_t test_ecc_key_with_rfc5915_extensions(RandomNumberGenerator& rng)
- {
- const std::string pw = "G3bz1L1gmB5ULietOZdoLPu63D7uwTLMEk";
+ AutoSeeded_RNG rng;
- size_t fails = 0;
+ EC_Group group(OIDS::lookup(group_id));
+ ECDSA_PrivateKey ecdsa(rng, group, BigInt(x));
- try
- {
- std::unique_ptr<PKCS8_PrivateKey> pkcs8(
- PKCS8::load_key(TEST_DATA_DIR "/ecc_private_with_rfc5915_ext.pem", rng, pw));
+ const std::string padding = "EMSA1(" + hash + ")";
- if(!dynamic_cast<ECDSA_PrivateKey*>(pkcs8.get()))
- {
- std::cout << "Loaded RFC 5915 key, but got something other than an ECDSA key\n";
- ++fails;
- }
- }
- catch(std::exception& e)
- {
- std::cout << "Exception in " << __func__ << " - " << e.what() << "\n";
- ++fails;
- }
+ PK_Verifier verify(ecdsa, padding);
+ PK_Signer sign(ecdsa, padding);
- return fails;
+ return validate_signature(verify, sign, "DSA/" + hash, msg, nonce, signature);
}
}
size_t test_ecdsa()
{
- size_t fails = 0;
+ std::ifstream ecdsa_sig(TEST_DATA_DIR "/ecdsa.vec");
- AutoSeeded_RNG rng;
-
- fails += test_hash_larger_than_n(rng);
- fails += test_decode_ecdsa_X509();
- fails += test_decode_ver_link_SHA256();
- fails += test_decode_ver_link_SHA1();
- fails += test_sign_then_ver(rng);
- fails += test_ec_sign(rng);
- fails += test_create_pkcs8(rng);
- fails += test_create_and_verify(rng);
- fails += test_curve_registry(rng);
- fails += test_read_pkcs8(rng);
- fails += test_ecc_key_with_rfc5915_extensions(rng);
+ size_t fails = 0;
- test_report("ECDSA", 11, fails);
+ fails += run_tests_bb(ecdsa_sig, "ECDSA Signature", "Signature", true,
+ [](std::map<std::string, std::string> m) -> size_t
+ {
+ return ecdsa_sig_kat(m["Group"], m["X"], m["Hash"], m["Msg"], m["Nonce"], m["Signature"]);
+ });
return fails;
}
+
diff --git a/src/tests/test_elg.cpp b/src/tests/test_elg.cpp
new file mode 100644
index 000000000..65e01d4ac
--- /dev/null
+++ b/src/tests/test_elg.cpp
@@ -0,0 +1,60 @@
+#include "tests.h"
+#include "test_pubkey.h"
+
+#include <botan/auto_rng.h>
+#include <botan/pubkey.h>
+#include <botan/elgamal.h>
+#include <botan/hex.h>
+#include <iostream>
+#include <fstream>
+
+using namespace Botan;
+
+namespace {
+
+size_t elgamal_kat(const std::string& p,
+ const std::string& g,
+ const std::string& x,
+ const std::string& msg,
+ std::string padding,
+ const std::string& nonce,
+ const std::string& ciphertext)
+ {
+ AutoSeeded_RNG rng;
+
+ const BigInt p_bn = BigInt(p);
+ const BigInt g_bn = BigInt(g);
+ const BigInt x_bn = BigInt(x);
+
+ DL_Group group(p_bn, g_bn);
+ ElGamal_PrivateKey privkey(rng, group, x_bn);
+
+ ElGamal_PublicKey pubkey = privkey;
+
+ if(padding == "")
+ padding = "Raw";
+
+ PK_Encryptor_EME enc(pubkey, padding);
+ PK_Decryptor_EME dec(privkey, padding);
+
+ return validate_encryption(enc, dec, "ElGamal/" + padding, msg, nonce, ciphertext);
+ }
+
+}
+
+size_t test_elgamal()
+ {
+ std::ifstream elgamal_enc(TEST_DATA_DIR "/elgamal.vec");
+
+ size_t fails = 0;
+
+ fails += run_tests_bb(elgamal_enc, "ElGamal Encryption", "Ciphertext", true,
+ [](std::map<std::string, std::string> m) -> size_t
+ {
+ return elgamal_kat(m["P"], m["G"], m["X"], m["Msg"],
+ m["Padding"], m["Nonce"], m["Ciphertext"]);
+ });
+
+ return fails;
+ }
+
diff --git a/src/tests/test_gost.cpp b/src/tests/test_gost.cpp
new file mode 100644
index 000000000..5aaf7807a
--- /dev/null
+++ b/src/tests/test_gost.cpp
@@ -0,0 +1,55 @@
+#include "tests.h"
+#include "test_pubkey.h"
+
+#include <botan/auto_rng.h>
+#include <botan/pubkey.h>
+#include <botan/gost_3410.h>
+#include <botan/oids.h>
+#include <botan/hex.h>
+#include <iostream>
+#include <fstream>
+
+using namespace Botan;
+
+namespace {
+
+size_t gost_verify(const std::string& group_id,
+ const std::string& x,
+ const std::string& hash,
+ const std::string& msg,
+ const std::string& signature)
+ {
+ AutoSeeded_RNG rng;
+
+ EC_Group group(OIDS::lookup(group_id));
+ PointGFp public_point = OS2ECP(hex_decode(x), group.get_curve());
+
+ GOST_3410_PublicKey gost(group, public_point);
+
+ const std::string padding = "EMSA1(" + hash + ")";
+
+ PK_Verifier v(gost, padding);
+
+ if(!v.verify_message(hex_decode(msg), hex_decode(signature)))
+ return 1;
+
+ return 0;
+ }
+
+}
+
+size_t test_gost_3410()
+ {
+ std::ifstream ecdsa_sig(TEST_DATA_DIR "/gost.vec");
+
+ size_t fails = 0;
+
+ fails += run_tests_bb(ecdsa_sig, "GOST-34.10 Signature", "Signature", true,
+ [](std::map<std::string, std::string> m) -> size_t
+ {
+ return gost_verify(m["Group"], m["Pubkey"], m["Hash"], m["Msg"], m["Signature"]);
+ });
+
+ return fails;
+ }
+
diff --git a/src/tests/test_hash.cpp b/src/tests/test_hash.cpp
index bb5788565..55510b9f4 100644
--- a/src/tests/test_hash.cpp
+++ b/src/tests/test_hash.cpp
@@ -10,9 +10,9 @@ using namespace Botan;
namespace {
-bool hash_test(const std::string& algo,
- const std::string& in_hex,
- const std::string& out_hex)
+size_t hash_test(const std::string& algo,
+ const std::string& in_hex,
+ const std::string& out_hex)
{
Algorithm_Factory& af = global_state().algorithm_factory();
@@ -43,17 +43,17 @@ bool hash_test(const std::string& algo,
}
}
- return (fails == 0);
+ return fails;
}
}
size_t test_hash()
{
- std::ifstream vec(CHECKS_DIR "/hash.vec");
+ std::ifstream vec(TEST_DATA_DIR "/hash.vec");
return run_tests_bb(vec, "Hash", "Out", true,
- [](std::map<std::string, std::string> m) -> bool
+ [](std::map<std::string, std::string> m) -> size_t
{
return hash_test(m["Hash"], m["In"], m["Out"]);
});
diff --git a/src/tests/test_hkdf.cpp b/src/tests/test_hkdf.cpp
index 1c8532c33..52c43d7ce 100644
--- a/src/tests/test_hkdf.cpp
+++ b/src/tests/test_hkdf.cpp
@@ -33,7 +33,7 @@ secure_vector<byte> hkdf(const std::string& algo,
return key;
}
-bool hkdf_test(const std::string& algo,
+size_t hkdf_test(const std::string& algo,
const std::string& ikm,
const std::string& salt,
const std::string& info,
@@ -49,9 +49,12 @@ bool hkdf_test(const std::string& algo,
);
if(got != okm)
+ {
std::cout << "HKDF got " << got << " expected " << okm << std::endl;
+ return 1;
+ }
- return (got == okm);
+ return 0;
}
}
@@ -59,10 +62,10 @@ bool hkdf_test(const std::string& algo,
size_t test_hkdf()
{
// From RFC 5869
- std::ifstream vec(CHECKS_DIR "/hkdf.vec");
+ std::ifstream vec(TEST_DATA_DIR "/hkdf.vec");
return run_tests_bb(vec, "HKDF", "OKM", true,
- [](std::map<std::string, std::string> m) -> bool
+ [](std::map<std::string, std::string> m) -> size_t
{
return hkdf_test(m["Hash"], m["IKM"], m["salt"], m["info"],
m["OKM"], to_u32bit(m["L"]));
diff --git a/src/tests/test_kdf.cpp b/src/tests/test_kdf.cpp
index 9debe7966..86b3ea5c4 100644
--- a/src/tests/test_kdf.cpp
+++ b/src/tests/test_kdf.cpp
@@ -32,7 +32,7 @@ std::string kdf_test(const std::string& algo,
size_t test_kdf()
{
- std::ifstream vec(CHECKS_DIR "/kdf.vec");
+ std::ifstream vec(TEST_DATA_DIR "/kdf.vec");
return run_tests(vec, "KDF", "Output", true,
[](std::map<std::string, std::string> m)
diff --git a/src/tests/test_mac.cpp b/src/tests/test_mac.cpp
index 31f159663..f6aaa5348 100644
--- a/src/tests/test_mac.cpp
+++ b/src/tests/test_mac.cpp
@@ -10,10 +10,10 @@ using namespace Botan;
namespace {
-bool mac_test(const std::string& algo,
- const std::string& key_hex,
- const std::string& in_hex,
- const std::string& out_hex)
+size_t mac_test(const std::string& algo,
+ const std::string& key_hex,
+ const std::string& in_hex,
+ const std::string& out_hex)
{
Algorithm_Factory& af = global_state().algorithm_factory();
@@ -45,17 +45,17 @@ bool mac_test(const std::string& algo,
}
}
- return (fails == 0);
+ return fails;
}
}
size_t test_mac()
{
- std::ifstream vec(CHECKS_DIR "/mac.vec");
+ std::ifstream vec(TEST_DATA_DIR "/mac.vec");
return run_tests_bb(vec, "Mac", "Out", true,
- [](std::map<std::string, std::string> m) -> bool
+ [](std::map<std::string, std::string> m) -> size_t
{
return mac_test(m["Mac"], m["Key"], m["In"], m["Out"]);
});
diff --git a/src/tests/test_modes.cpp b/src/tests/test_modes.cpp
index 1b546cea3..30c3c92db 100644
--- a/src/tests/test_modes.cpp
+++ b/src/tests/test_modes.cpp
@@ -35,15 +35,17 @@ secure_vector<byte> run_mode(const std::string& algo,
return pipe.read_all();
}
-bool mode_test(const std::string& algo,
- const std::string& pt,
- const std::string& ct,
- const std::string& key_hex,
- const std::string& nonce_hex)
+size_t mode_test(const std::string& algo,
+ const std::string& pt,
+ const std::string& ct,
+ const std::string& key_hex,
+ const std::string& nonce_hex)
{
auto nonce = hex_decode_locked(nonce_hex);
auto key = hex_decode_locked(key_hex);
+ size_t fails = 0;
+
const std::string ct2 = hex_encode(run_mode(algo,
ENCRYPTION,
hex_decode_locked(pt),
@@ -51,7 +53,10 @@ bool mode_test(const std::string& algo,
key));
if(ct != ct2)
+ {
std::cout << algo << " got ct " << ct2 << " expected " << ct << "\n";
+ ++fails;
+ }
const std::string pt2 = hex_encode(run_mode(algo,
DECRYPTION,
@@ -60,16 +65,19 @@ bool mode_test(const std::string& algo,
key));
if(pt != pt2)
+ {
std::cout << algo << " got pt " << pt2 << " expected " << pt << "\n";
+ ++fails;
+ }
- return (ct == ct2) && (pt == pt2);
+ return fails;
}
}
size_t test_modes()
{
- std::ifstream vec(CHECKS_DIR "/modes.vec");
+ std::ifstream vec(TEST_DATA_DIR "/modes.vec");
return run_tests_bb(vec, "Mode", "Out", true,
[](std::map<std::string, std::string> m)
diff --git a/src/tests/test_nr.cpp b/src/tests/test_nr.cpp
new file mode 100644
index 000000000..7e038542d
--- /dev/null
+++ b/src/tests/test_nr.cpp
@@ -0,0 +1,57 @@
+#include "tests.h"
+#include "test_pubkey.h"
+
+#include <botan/auto_rng.h>
+#include <botan/pubkey.h>
+#include <botan/nr.h>
+#include <botan/hex.h>
+#include <iostream>
+#include <fstream>
+
+using namespace Botan;
+
+namespace {
+
+size_t nr_sig_kat(const std::string& p,
+ const std::string& q,
+ const std::string& g,
+ const std::string& x,
+ const std::string& hash,
+ const std::string& msg,
+ const std::string& nonce,
+ const std::string& signature)
+ {
+ AutoSeeded_RNG rng;
+
+ BigInt p_bn(p), q_bn(q), g_bn(g), x_bn(x);
+
+ DL_Group group(p_bn, q_bn, g_bn);
+ NR_PrivateKey privkey(rng, group, x_bn);
+
+ NR_PublicKey pubkey = privkey;
+
+ const std::string padding = "EMSA1(" + hash + ")";
+
+ PK_Verifier verify(pubkey, padding);
+ PK_Signer sign(privkey, padding);
+
+ return validate_signature(verify, sign, "nr/" + hash, msg, nonce, signature);
+ }
+
+}
+
+size_t test_nr()
+ {
+ std::ifstream nr_sig(TEST_DATA_DIR "/nr.vec");
+
+ size_t fails = 0;
+
+ fails += run_tests_bb(nr_sig, "NR Signature", "Signature", true,
+ [](std::map<std::string, std::string> m) -> size_t
+ {
+ return nr_sig_kat(m["P"], m["Q"], m["G"], m["X"], m["Hash"], m["Msg"], m["Nonce"], m["Signature"]);
+ });
+
+ return fails;
+ }
+
diff --git a/src/tests/test_pbkdf.cpp b/src/tests/test_pbkdf.cpp
index 140190b13..2bbd98769 100644
--- a/src/tests/test_pbkdf.cpp
+++ b/src/tests/test_pbkdf.cpp
@@ -37,7 +37,7 @@ std::string pbkdf_test(const std::string& algo,
size_t test_pbkdf()
{
- std::ifstream vec(CHECKS_DIR "/pbkdf.vec");
+ std::ifstream vec(TEST_DATA_DIR "/pbkdf.vec");
return run_tests(vec, "PBKDF", "Output", true,
[](std::map<std::string, std::string> m)
diff --git a/src/tests/test_pubkey.cpp b/src/tests/test_pubkey.cpp
index 209021f7f..7148423cf 100644
--- a/src/tests/test_pubkey.cpp
+++ b/src/tests/test_pubkey.cpp
@@ -6,6 +6,7 @@
#include "tests.h"
#include "test_rng.h"
+#include "test_pubkey.h"
#include <iostream>
#include <fstream>
@@ -70,21 +71,6 @@ using namespace Botan;
namespace {
-BigInt to_bigint(std::string input)
- {
- while(input.find(' ') != std::string::npos)
- input = input.erase(input.find(' '), 1);
-
- while(input.find('\t') != std::string::npos)
- input = input.erase(input.find('\t'), 1);
-
- while(input.find('\n') != std::string::npos)
- input = input.erase(input.find('\n'), 1);
-
- return BigInt::decode(reinterpret_cast<const byte*>(input.data()),
- input.length(), BigInt::Hexadecimal);
- }
-
void dump_data(const std::vector<byte>& out,
const std::vector<byte>& expected)
{
@@ -159,7 +145,7 @@ size_t validate_save_and_load(const Private_Key* priv_key,
}
size_t validate_decryption(PK_Decryptor& d, const std::string& algo,
- const std::vector<byte> ctext,
+ const std::vector<byte> ctext,
const std::vector<byte> ptext)
{
size_t fails = 0;
@@ -176,6 +162,8 @@ size_t validate_decryption(PK_Decryptor& d, const std::string& algo,
return fails;
}
+}
+
size_t validate_encryption(PK_Encryptor& e, PK_Decryptor& d,
const std::string& algo, const std::string& input,
const std::string& random, const std::string& exp)
@@ -247,7 +235,7 @@ size_t validate_signature(PK_Verifier& v, PK_Signer& s, const std::string& algo,
size_t validate_kas(PK_Key_Agreement& kas, const std::string& algo,
const std::vector<byte>& pubkey, const std::string& output,
- u32bit keylen)
+ size_t keylen)
{
std::vector<byte> expected = hex_decode(output);
@@ -265,484 +253,39 @@ size_t validate_kas(PK_Key_Agreement& kas, const std::string& algo,
return fails;
}
-size_t validate_rsa_enc_pkcs8(const std::string& algo,
- const std::vector<std::string>& str,
- RandomNumberGenerator& rng)
- {
- if(str.size() != 4 && str.size() != 5)
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
-#if defined(BOTAN_HAS_RSA)
- std::string pass;
- if(str.size() == 5) pass = str[4];
- strip_newlines(pass); /* it will have a newline thanks to the messy
- decoding method we use */
-
- DataSource_Memory keysource(reinterpret_cast<const byte*>(str[0].c_str()),
- str[0].length());
-
- std::unique_ptr<Private_Key> privkey(PKCS8::load_key(keysource, rng, pass));
-
- RSA_PrivateKey* rsapriv = dynamic_cast<RSA_PrivateKey*>(privkey.get());
- if(!rsapriv)
- throw Invalid_Argument("Bad key load for RSA key");
-
- RSA_PublicKey* rsapub = dynamic_cast<RSA_PublicKey*>(rsapriv);
-
- std::string eme = algo.substr(12, std::string::npos);
-
- PK_Encryptor_EME e(*rsapub, eme);
- PK_Decryptor_EME d(*rsapriv, eme);
-
- return validate_encryption(e, d, algo, str[1], str[2], str[3]);
-#endif
-
- return 0;
- }
-
-size_t validate_rsa_enc(const std::string& algo,
- const std::vector<std::string>& str,
- RandomNumberGenerator& rng)
- {
- if(str.size() != 6)
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
-#if defined(BOTAN_HAS_RSA)
- RSA_PrivateKey privkey(rng,
- to_bigint(str[1]), to_bigint(str[2]),
- to_bigint(str[0]));
-
- RSA_PublicKey pubkey = privkey;
-
- std::string eme = algo.substr(6, std::string::npos);
-
- PK_Encryptor_EME e(pubkey, eme);
- PK_Decryptor_EME d(privkey, eme);
-
- return validate_encryption(e, d, algo, str[3], str[4], str[5]);
-#endif
-
- return 0;
- }
-
-size_t validate_elg_enc(const std::string& algo,
- const std::vector<std::string>& str,
- RandomNumberGenerator& rng)
- {
- if(str.size() != 6 && str.size() != 7)
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
-#if defined(BOTAN_HAS_ELGAMAL)
- DL_Group domain(to_bigint(str[0]), to_bigint(str[1]));
- ElGamal_PrivateKey privkey(rng, domain, to_bigint(str[2]));
- ElGamal_PublicKey pubkey = privkey;
-
- std::string eme = algo.substr(8, std::string::npos);
-
- PK_Decryptor_EME d(privkey, eme);
-
- if(str.size() == 7)
- {
- PK_Encryptor_EME e(pubkey, eme);
- return validate_encryption(e, d, algo, str[4], str[5], str[6]);
- }
- else
- return validate_decryption(d, algo, hex_decode(str[5]),
- hex_decode(str[4]));
-#endif
-
- return 0;
- }
-
-size_t validate_rsa_sig(const std::string& algo,
- const std::vector<std::string>& str,
- RandomNumberGenerator& rng)
- {
- if(str.size() != 6)
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
-#if defined(BOTAN_HAS_RSA)
- RSA_PrivateKey privkey(rng,
- to_bigint(str[1]), to_bigint(str[2]),
- to_bigint(str[0]));
-
- RSA_PublicKey pubkey = privkey;
-
- std::string emsa = algo.substr(7, std::string::npos);
-
- PK_Verifier v(pubkey, emsa);
- PK_Signer s(privkey, emsa);
-
- return validate_signature(v, s, algo, str[3], str[4], str[5]);
-#endif
-
- return 0;
- }
-
-u32bit validate_rsa_ver(const std::string& algo,
- const std::vector<std::string>& str)
- {
- if(str.size() != 5) /* is actually 4, parse() adds an extra empty one */
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
- size_t fails = 0;
-
-#if defined(BOTAN_HAS_RSA)
- RSA_PublicKey key(to_bigint(str[1]), to_bigint(str[0]));
-
- std::string emsa = algo.substr(6, std::string::npos);
-
- PK_Verifier v(key, emsa);
-
- std::vector<byte> msg = hex_decode(str[2]);
- std::vector<byte> sig = hex_decode(str[3]);
-
- if(!v.verify_message(msg, sig))
- {
- std::cout << "RSA verification failed\n";
- ++fails;
- }
-
-#endif
-
- return fails;
- }
-
-size_t validate_rsa_ver_x509(const std::string& algo,
- const std::vector<std::string>& str)
- {
- if(str.size() != 5) /* is actually 3, parse() adds extra empty ones */
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
- size_t fails = 0;
-
-#if defined(BOTAN_HAS_RSA)
- DataSource_Memory keysource(reinterpret_cast<const byte*>(str[0].c_str()),
- str[0].length());
-
- std::unique_ptr<Public_Key> key(X509::load_key(keysource));
-
- RSA_PublicKey* rsakey = dynamic_cast<RSA_PublicKey*>(key.get());
-
- if(!rsakey)
- throw Invalid_Argument("Bad key load for RSA public key");
-
- std::string emsa = algo.substr(11, std::string::npos);
-
- PK_Verifier v(*rsakey, emsa);
-
- std::vector<byte> msg = hex_decode(str[1]);
- std::vector<byte> sig = hex_decode(str[2]);
-
- if(!v.verify_message(msg, sig))
- {
- std::cout << "RSA verification failed\n";
- ++fails;
- }
-#endif
-
- return fails;
- }
-
-u32bit validate_rw_ver(const std::string& algo,
- const std::vector<std::string>& str)
- {
- if(str.size() != 5)
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
-#if defined(BOTAN_HAS_RW)
- RW_PublicKey key(to_bigint(str[1]), to_bigint(str[0]));
-
- std::string emsa = algo.substr(5, std::string::npos);
-
- PK_Verifier v(key, emsa);
-
- std::vector<byte> msg = hex_decode(str[2]);
- std::vector<byte> sig = hex_decode(str[3]);
-
- bool passed = true;
- passed = v.verify_message(msg, sig);
- return (passed ? 0 : 1);
-#endif
-
- return 2;
- }
-
-u32bit validate_rw_sig(const std::string& algo,
- const std::vector<std::string>& str,
- RandomNumberGenerator& rng)
- {
- if(str.size() != 5)
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
-#if defined(BOTAN_HAS_RW)
- RW_PrivateKey privkey(rng, to_bigint(str[1]), to_bigint(str[2]),
- to_bigint(str[0]));
- RW_PublicKey pubkey = privkey;
-
- std::string emsa = algo.substr(3, std::string::npos);
-
- PK_Verifier v(pubkey, emsa);
- PK_Signer s(privkey, emsa);
-
-
- validate_signature(v, s, algo, str[3], rng, str[4]);
-#endif
-
- return 0;
- }
-
-u32bit validate_dsa_sig(const std::string& algo,
- const std::vector<std::string>& str,
- RandomNumberGenerator& rng)
- {
- if(str.size() != 4 && str.size() != 5)
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
- std::string pass;
- if(str.size() == 5) pass = str[4];
- strip_newlines(pass); /* it will have a newline thanks to the messy
- decoding method we use */
-
-#if defined(BOTAN_HAS_DSA)
-
- DataSource_Memory keysource(reinterpret_cast<const byte*>(str[0].c_str()),
- str[0].length());
-
- std::unique_ptr<Private_Key> privkey(PKCS8::load_key(keysource, rng, pass));
-
- DSA_PrivateKey* dsapriv = dynamic_cast<DSA_PrivateKey*>(privkey.get());
- if(!dsapriv)
- throw Invalid_Argument("Bad key load for DSA private key");
-
- DSA_PublicKey* dsapub = dynamic_cast<DSA_PublicKey*>(dsapriv);
-
- std::string emsa = algo.substr(4, std::string::npos);
-
- PK_Verifier v(*dsapub, emsa);
- PK_Signer s(*dsapriv, emsa);
-
-
- validate_signature(v, s, algo, str[1], str[2], str[3]);
-#endif
-
- return 0;
- }
-
-u32bit validate_ecdsa_sig(const std::string& algo,
- const std::vector<std::string>& str,
- RandomNumberGenerator& rng)
- {
- if(str.size() != 5)
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
-#if defined(BOTAN_HAS_ECDSA)
-
- EC_Group group(OIDS::lookup(str[0]));
- ECDSA_PrivateKey ecdsa(rng, group, to_bigint(str[1]));
-
- std::string emsa = algo.substr(6, std::string::npos);
-
- PK_Verifier v(ecdsa, emsa);
- PK_Signer s(ecdsa, emsa);
-
- validate_signature(v, s, algo, str[2], str[3], str[4]);
-#endif
-
- return 0;
- }
-
-u32bit validate_gost_ver(const std::string& algo,
- const std::vector<std::string>& str)
- {
- if(str.size() != 5)
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
-#if defined(BOTAN_HAS_GOST_34_10_2001)
-
- EC_Group group(OIDS::lookup(str[0]));
-
- PointGFp public_point = OS2ECP(hex_decode(str[1]), group.get_curve());
-
- GOST_3410_PublicKey gost(group, public_point);
-
- std::string emsa = algo.substr(13, std::string::npos);
-
- PK_Verifier v(gost, emsa);
-
- std::vector<byte> msg = hex_decode(str[2]);
- std::vector<byte> sig = hex_decode(str[3]);
-
- bool passed = v.verify_message(msg, sig);
- return (passed ? 0 : 1);
-#endif
-
- return 0;
- }
-
-u32bit validate_dsa_ver(const std::string& algo,
- const std::vector<std::string>& str)
- {
- if(str.size() != 5) /* is actually 3, parse() adds extra empty ones */
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
- DataSource_Memory keysource(reinterpret_cast<const byte*>(str[0].c_str()),
- str[0].length());
-
- size_t fails = 0;
-
-#if defined(BOTAN_HAS_DSA)
- std::unique_ptr<Public_Key> key(X509::load_key(keysource));
-
- DSA_PublicKey* dsakey = dynamic_cast<DSA_PublicKey*>(key.get());
-
- if(!dsakey)
- {
- ++fails;
- std::cout << "Unable to load DSA private key during test\n";
- }
-
- std::string emsa = algo.substr(7, std::string::npos);
-
- PK_Verifier v(*dsakey, emsa);
-
- std::vector<byte> msg = hex_decode(str[1]);
- std::vector<byte> sig = hex_decode(str[2]);
-
- v.set_input_format(DER_SEQUENCE);
-
- bool verified = v.verify_message(msg, sig);
- if(!verified)
- {
- std::cout << "Failed to verify\n";
- ++fails;
- }
-#endif
-
- return fails;
- }
-
-u32bit validate_nr_sig(const std::string& algo,
- const std::vector<std::string>& str,
- RandomNumberGenerator& rng)
- {
- if(str.size() != 8)
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
-#if defined(BOTAN_HAS_NYBERG_RUEPPEL)
-
- DL_Group domain(to_bigint(str[0]), to_bigint(str[1]), to_bigint(str[2]));
- NR_PrivateKey privkey(rng, domain, to_bigint(str[4]));
- NR_PublicKey pubkey = privkey;
-
- std::string emsa = algo.substr(3, std::string::npos);
-
- PK_Verifier v(pubkey, emsa);
- PK_Signer s(privkey, emsa);
-
- return validate_signature(v, s, algo, str[5], str[6], str[7]);
-#endif
-
- return 0;
- }
-
-u32bit validate_dh(const std::string& algo,
- const std::vector<std::string>& str,
- RandomNumberGenerator& rng)
- {
- if(str.size() != 5 && str.size() != 6)
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
-#if defined(BOTAN_HAS_DIFFIE_HELLMAN)
- DL_Group domain(to_bigint(str[0]), to_bigint(str[1]));
-
- DH_PrivateKey mykey(rng, domain, to_bigint(str[2]));
- DH_PublicKey otherkey(domain, to_bigint(str[3]));
-
- std::string kdf = algo.substr(3, std::string::npos);
-
- u32bit keylen = 0;
- if(str.size() == 6)
- keylen = to_u32bit(str[5]);
-
- PK_Key_Agreement kas(mykey, kdf);
-
- return validate_kas(kas, algo, otherkey.public_value(), str[4], keylen);
-#endif
-
- return 0;
- }
-
-u32bit validate_dlies(const std::string& algo,
- const std::vector<std::string>& str,
- RandomNumberGenerator& rng)
- {
- if(str.size() != 6)
- throw std::runtime_error("Invalid input from pk_valid.dat");
-
-#if defined(BOTAN_HAS_DLIES)
- DL_Group domain(to_bigint(str[0]), to_bigint(str[1]));
-
- DH_PrivateKey from(rng, domain, to_bigint(str[2]));
- DH_PrivateKey to(rng, domain, to_bigint(str[3]));
-
- const std::string opt_str = algo.substr(6, std::string::npos);
-
- std::vector<std::string> options = split_on(opt_str, '/');
-
- if(options.size() != 3)
- throw std::runtime_error("DLIES needs three options: " + opt_str);
-
- MessageAuthenticationCode* mac = get_mac(options[1]);
- u32bit mac_key_len = to_u32bit(options[2]);
-
- DLIES_Encryptor e(from,
- get_kdf(options[0]),
- mac, mac_key_len);
-
- DLIES_Decryptor d(to,
- get_kdf(options[0]),
- mac->clone(), mac_key_len);
-
- e.set_other_key(to.public_value());
-
- std::string empty = "";
- return validate_encryption(e, d, algo, str[4], empty, str[5]);
-#endif
-
- return 0;
- }
-
-}
-
size_t test_pk_keygen()
{
AutoSeeded_RNG rng;
+ size_t tests = 0;
size_t fails = 0;
-#define DL_KEY(TYPE, GROUP) \
- { \
- TYPE key(rng, DL_Group(GROUP)); \
- key.check_key(rng, true); \
- fails += validate_save_and_load(&key, rng); \
+#define DL_KEY(TYPE, GROUP) \
+ { \
+ TYPE key(rng, DL_Group(GROUP)); \
+ key.check_key(rng, true); \
+ ++tests; \
+ fails += validate_save_and_load(&key, rng); \
}
-#define EC_KEY(TYPE, GROUP) \
- { \
+#define EC_KEY(TYPE, GROUP) \
+ { \
TYPE key(rng, EC_Group(OIDS::lookup(GROUP))); \
- key.check_key(rng, true); \
- fails += validate_save_and_load(&key, rng); \
+ key.check_key(rng, true); \
+ ++tests; \
+ fails += validate_save_and_load(&key, rng); \
}
#if defined(BOTAN_HAS_RSA)
{
RSA_PrivateKey rsa1024(rng, 1024);
rsa1024.check_key(rng, true);
+ ++tests;
fails += validate_save_and_load(&rsa1024, rng);
RSA_PrivateKey rsa2048(rng, 2048);
rsa2048.check_key(rng, true);
+ ++tests;
fails += validate_save_and_load(&rsa2048, rng);
}
#endif
@@ -751,6 +294,7 @@ size_t test_pk_keygen()
{
RW_PrivateKey rw1024(rng, 1024);
rw1024.check_key(rng, true);
+ ++tests;
fails += validate_save_and_load(&rw1024, rng);
}
#endif
@@ -804,132 +348,7 @@ size_t test_pk_keygen()
EC_KEY(GOST_3410_PrivateKey, "secp521r1");
#endif
- return fails;
- }
-
-size_t test_pubkey()
- {
- AutoSeeded_RNG rng;
- const std::string filename = CHECKS_DIR "/pk_valid.dat";
- std::ifstream test_data(filename.c_str());
-
- if(!test_data)
- throw Botan::Stream_IO_Error("Couldn't open test file " + filename);
-
- size_t total_errors = 0;
- size_t errors = 0, alg_count = 0, total_tests = 0;
- std::string algorithm, print_algorithm;
-
- while(!test_data.eof())
- {
- if(test_data.bad() || test_data.fail())
- throw std::runtime_error("File I/O error reading from " + filename);
-
- std::string line;
- std::getline(test_data, line);
-
- strip_comments(line);
- if(line.size() == 0) continue;
-
- // Do line continuation
- while(line[line.size()-1] == '\\' && !test_data.eof())
- {
- line.replace(line.size()-1, 1, "");
- std::string nextline;
- std::getline(test_data, nextline);
- strip_comments(nextline);
- if(nextline.size() == 0) continue;
- line.push_back('\n');
- line += nextline;
- }
+ test_report("Keygen", tests, fails);
- if(line[0] == '[' && line[line.size() - 1] == ']')
- {
- const std::string old_algo = print_algorithm;
- algorithm = line.substr(1, line.size() - 2);
- print_algorithm = algorithm;
- if(print_algorithm.find("_PKCS8") != std::string::npos)
- print_algorithm.replace(print_algorithm.find("_PKCS8"), 6, "");
- if(print_algorithm.find("_X509") != std::string::npos)
- print_algorithm.replace(print_algorithm.find("_X509"), 5, "");
- if(print_algorithm.find("_VA") != std::string::npos)
- print_algorithm.replace(print_algorithm.find("_VA"), 3, "");
-
- if(old_algo != print_algorithm && old_algo != "")
- {
- test_report(old_algo, alg_count, errors);
- alg_count = 0;
- total_errors += errors;
- errors = 0;
- }
-
- continue;
- }
-
- std::vector<std::string> substr = parse(line);
-
- size_t new_errors = 0;
-
- try
- {
-
- if(algorithm.find("DSA/") == 0)
- new_errors = validate_dsa_sig(algorithm, substr, rng);
- else if(algorithm.find("DSA_VA/") == 0)
- new_errors = validate_dsa_ver(algorithm, substr);
-
- else if(algorithm.find("ECDSA/") == 0)
- new_errors = validate_ecdsa_sig(algorithm, substr, rng);
-
- else if(algorithm.find("GOST_3410_VA/") == 0)
- new_errors = validate_gost_ver(algorithm, substr);
-
- else if(algorithm.find("RSAES_PKCS8/") == 0)
- new_errors = validate_rsa_enc_pkcs8(algorithm, substr, rng);
- else if(algorithm.find("RSAVA_X509/") == 0)
- new_errors = validate_rsa_ver_x509(algorithm, substr);
-
- else if(algorithm.find("RSAES/") == 0)
- new_errors = validate_rsa_enc(algorithm, substr, rng);
- else if(algorithm.find("RSASSA/") == 0)
- new_errors = validate_rsa_sig(algorithm, substr, rng);
- else if(algorithm.find("RSAVA/") == 0)
- new_errors = validate_rsa_ver(algorithm, substr);
- else if(algorithm.find("RWVA/") == 0)
- new_errors = validate_rw_ver(algorithm, substr);
- else if(algorithm.find("RW/") == 0)
- new_errors = validate_rw_sig(algorithm, substr, rng);
- else if(algorithm.find("NR/") == 0)
- new_errors = validate_nr_sig(algorithm, substr, rng);
- else if(algorithm.find("ElGamal/") == 0)
- new_errors = validate_elg_enc(algorithm, substr, rng);
- else if(algorithm.find("DH/") == 0)
- new_errors = validate_dh(algorithm, substr, rng);
- else if(algorithm.find("DLIES/") == 0)
- new_errors = validate_dlies(algorithm, substr, rng);
- else
- {
- std::cout << "WARNING: Unknown PK algorithm "
- << algorithm << std::endl;
- ++new_errors;
- }
-
- alg_count++;
- total_tests++;
- errors += new_errors;
- }
- catch(std::exception& e)
- {
- std::cout << "Exception: " << e.what() << "\n";
- new_errors++;
- }
-
- if(new_errors)
- std::cout << "ERROR: \"" << algorithm << "\" failed test #"
- << std::dec << alg_count << std::endl;
- }
-
- test_report("Pubkey", total_tests, total_errors);
-
- return total_errors;
+ return fails;
}
diff --git a/src/tests/test_pubkey.h b/src/tests/test_pubkey.h
new file mode 100644
index 000000000..729e703cd
--- /dev/null
+++ b/src/tests/test_pubkey.h
@@ -0,0 +1,22 @@
+
+#include <botan/pubkey.h>
+
+using namespace Botan;
+
+size_t validate_encryption(Botan::PK_Encryptor& e, Botan::PK_Decryptor& d,
+ const std::string& algo, const std::string& input,
+ const std::string& random, const std::string& exp);
+
+size_t validate_signature(PK_Verifier& v, PK_Signer& s, const std::string& algo,
+ const std::string& input,
+ RandomNumberGenerator& rng,
+ const std::string& exp);
+
+size_t validate_signature(PK_Verifier& v, PK_Signer& s, const std::string& algo,
+ const std::string& input,
+ const std::string& random,
+ const std::string& exp);
+
+size_t validate_kas(PK_Key_Agreement& kas, const std::string& algo,
+ const std::vector<byte>& pubkey, const std::string& output,
+ size_t keylen);
diff --git a/src/tests/test_rng.cpp b/src/tests/test_rng.cpp
index 99b2fbf8f..88e21f62c 100644
--- a/src/tests/test_rng.cpp
+++ b/src/tests/test_rng.cpp
@@ -30,10 +30,10 @@ RandomNumberGenerator* get_x931(const std::string& algo, const std::string& ikm_
return nullptr;
}
-bool x931_test(const std::string& algo,
- const std::string& ikm,
- const std::string& out,
- size_t L)
+size_t x931_test(const std::string& algo,
+ const std::string& ikm,
+ const std::string& out,
+ size_t L)
{
std::unique_ptr<RandomNumberGenerator> x931(get_x931(algo, ikm));
x931->reseed(0);
@@ -43,20 +43,20 @@ bool x931_test(const std::string& algo,
if(got != out)
{
std::cout << "X9.31 " << got << " != " << out << "\n";
- return false;
+ return 1;
}
- return true;
+ return 0;
}
}
size_t test_rngs()
{
- std::ifstream vec(CHECKS_DIR "/x931.vec");
+ std::ifstream vec(TEST_DATA_DIR "/x931.vec");
return run_tests_bb(vec, "RNG", "Out", true,
- [](std::map<std::string, std::string> m) -> bool
+ [](std::map<std::string, std::string> m) -> size_t
{
return x931_test(m["RNG"], m["IKM"], m["Out"], to_u32bit(m["L"]));
});
diff --git a/src/tests/test_rsa.cpp b/src/tests/test_rsa.cpp
new file mode 100644
index 000000000..2d24c6073
--- /dev/null
+++ b/src/tests/test_rsa.cpp
@@ -0,0 +1,117 @@
+#include "tests.h"
+#include "test_pubkey.h"
+
+#include <botan/auto_rng.h>
+#include <botan/pubkey.h>
+#include <botan/rsa.h>
+#include <botan/hex.h>
+#include <iostream>
+#include <fstream>
+
+using namespace Botan;
+
+namespace {
+
+size_t rsaes_kat(const std::string& e,
+ const std::string& p,
+ const std::string& q,
+ const std::string& msg,
+ std::string padding,
+ const std::string& nonce,
+ const std::string& output)
+ {
+ AutoSeeded_RNG rng;
+
+ RSA_PrivateKey privkey(rng, BigInt(p), BigInt(q), BigInt(e));
+
+ RSA_PublicKey pubkey = privkey;
+
+ if(padding == "")
+ padding = "Raw";
+
+ PK_Encryptor_EME enc(pubkey, padding);
+ PK_Decryptor_EME dec(privkey, padding);
+
+ return validate_encryption(enc, dec, "RSAES/" + padding, msg, nonce, output);
+ }
+
+size_t rsa_sig_kat(const std::string& e,
+ const std::string& p,
+ const std::string& q,
+ const std::string& msg,
+ std::string padding,
+ const std::string& nonce,
+ const std::string& output)
+ {
+ AutoSeeded_RNG rng;
+
+ RSA_PrivateKey privkey(rng, BigInt(p), BigInt(q), BigInt(e));
+
+ RSA_PublicKey pubkey = privkey;
+
+ if(padding == "")
+ padding = "Raw";
+
+ PK_Verifier verify(pubkey, padding);
+ PK_Signer sign(privkey, padding);
+
+ return validate_signature(verify, sign, "RSA/" + padding, msg, nonce, output);
+ }
+
+size_t rsa_sig_verify(const std::string& e,
+ const std::string& n,
+ const std::string& msg,
+ std::string padding,
+ const std::string& signature)
+ {
+ AutoSeeded_RNG rng;
+
+ BigInt e_bn(e);
+ BigInt n_bn(n);
+
+ RSA_PublicKey key(n_bn, e_bn);
+
+ if(padding == "")
+ padding = "Raw";
+
+ PK_Verifier verify(key, padding);
+
+ if(!verify.verify_message(hex_decode(msg), hex_decode(signature)))
+ return 1;
+ return 0;
+ }
+
+}
+
+size_t test_rsa()
+ {
+ std::ifstream rsa_enc(TEST_DATA_DIR "/rsaes.vec");
+ std::ifstream rsa_sig(TEST_DATA_DIR "/rsa_sig.vec");
+ std::ifstream rsa_verify(TEST_DATA_DIR "/rsa_verify.vec");
+
+ size_t fails = 0;
+
+ fails += run_tests_bb(rsa_enc, "RSA Encryption", "Ciphertext", true,
+ [](std::map<std::string, std::string> m) -> size_t
+ {
+ return rsaes_kat(m["E"], m["P"], m["Q"], m["Msg"],
+ m["Padding"], m["Nonce"], m["Ciphertext"]);
+ });
+
+ fails += run_tests_bb(rsa_sig, "RSA Signature", "Signature", true,
+ [](std::map<std::string, std::string> m) -> size_t
+ {
+ return rsa_sig_kat(m["E"], m["P"], m["Q"], m["Msg"],
+ m["Padding"], m["Nonce"], m["Signature"]);
+ });
+
+ fails += run_tests_bb(rsa_verify, "RSA Verify", "Signature", true,
+ [](std::map<std::string, std::string> m) -> size_t
+ {
+ return rsa_sig_verify(m["E"], m["N"], m["Msg"],
+ m["Padding"], m["Signature"]);
+ });
+
+ return fails;
+ }
+
diff --git a/src/tests/test_rw.cpp b/src/tests/test_rw.cpp
new file mode 100644
index 000000000..99768961b
--- /dev/null
+++ b/src/tests/test_rw.cpp
@@ -0,0 +1,77 @@
+#include "tests.h"
+#include "test_pubkey.h"
+
+#include <botan/auto_rng.h>
+#include <botan/pubkey.h>
+#include <botan/rw.h>
+#include <botan/hex.h>
+#include <iostream>
+#include <fstream>
+
+using namespace Botan;
+
+namespace {
+
+const std::string padding = "EMSA2(SHA-1)";
+
+size_t rw_sig_kat(const std::string& e,
+ const std::string& p,
+ const std::string& q,
+ const std::string& msg,
+ const std::string& signature)
+ {
+ AutoSeeded_RNG rng;
+
+ RW_PrivateKey privkey(rng, BigInt(p), BigInt(q), BigInt(e));
+
+ RW_PublicKey pubkey = privkey;
+
+ PK_Verifier verify(pubkey, padding);
+ PK_Signer sign(privkey, padding);
+
+ return validate_signature(verify, sign, "RW/" + padding, msg, rng, signature);
+ }
+
+size_t rw_sig_verify(const std::string& e,
+ const std::string& n,
+ const std::string& msg,
+ const std::string& signature)
+ {
+ AutoSeeded_RNG rng;
+
+ BigInt e_bn(e);
+ BigInt n_bn(n);
+
+ RW_PublicKey key(n_bn, e_bn);
+
+ PK_Verifier verify(key, padding);
+
+ if(!verify.verify_message(hex_decode(msg), hex_decode(signature)))
+ return 1;
+ return 0;
+ }
+
+}
+
+size_t test_rw()
+ {
+ std::ifstream rw_sig(TEST_DATA_DIR "/rw_sig.vec");
+ std::ifstream rw_verify(TEST_DATA_DIR "/rw_verify.vec");
+
+ size_t fails = 0;
+
+ fails += run_tests_bb(rw_sig, "RW Signature", "Signature", true,
+ [](std::map<std::string, std::string> m) -> size_t
+ {
+ return rw_sig_kat(m["E"], m["P"], m["Q"], m["Msg"], m["Signature"]);
+ });
+
+ fails += run_tests_bb(rw_verify, "RW Verify", "Signature", true,
+ [](std::map<std::string, std::string> m) -> size_t
+ {
+ return rw_sig_verify(m["E"], m["N"], m["Msg"], m["Signature"]);
+ });
+
+ return fails;
+ }
+
diff --git a/src/tests/test_stream.cpp b/src/tests/test_stream.cpp
index 9846fb521..6492ffee5 100644
--- a/src/tests/test_stream.cpp
+++ b/src/tests/test_stream.cpp
@@ -10,11 +10,11 @@ using namespace Botan;
namespace {
-bool stream_test(const std::string& algo,
- const std::string& key_hex,
- const std::string& in_hex,
- const std::string& out_hex,
- const std::string& nonce_hex)
+size_t stream_test(const std::string& algo,
+ const std::string& key_hex,
+ const std::string& in_hex,
+ const std::string& out_hex,
+ const std::string& nonce_hex)
{
const secure_vector<byte> key = hex_decode_locked(key_hex);
const secure_vector<byte> pt = hex_decode_locked(in_hex);
@@ -54,17 +54,17 @@ bool stream_test(const std::string& algo,
}
}
- return (fails == 0);
+ return fails;
}
}
size_t test_stream()
{
- std::ifstream vec(CHECKS_DIR "/stream.vec");
+ std::ifstream vec(TEST_DATA_DIR "/stream.vec");
return run_tests_bb(vec, "StreamCipher", "Out", true,
- [](std::map<std::string, std::string> m) -> bool
+ [](std::map<std::string, std::string> m) -> size_t
{
return stream_test(m["StreamCipher"], m["Key"], m["In"], m["Out"], m["Nonce"]);
});
diff --git a/src/tests/test_transform.cpp b/src/tests/test_transform.cpp
index dc54d1761..e53b5b800 100644
--- a/src/tests/test_transform.cpp
+++ b/src/tests/test_transform.cpp
@@ -37,7 +37,7 @@ secure_vector<byte> transform_test(const std::string& algo,
size_t test_transform()
{
- std::ifstream vec(CHECKS_DIR "/transform.vec");
+ std::ifstream vec(TEST_DATA_DIR "/transform.vec");
return run_tests(vec, "Transform", "Output", true,
[](std::map<std::string, std::string> m)
diff --git a/src/tests/tests.cpp b/src/tests/tests.cpp
index fdcfae06a..e9b07ea75 100644
--- a/src/tests/tests.cpp
+++ b/src/tests/tests.cpp
@@ -45,7 +45,7 @@ size_t run_tests_bb(std::istream& src,
const std::string& name_key,
const std::string& output_key,
bool clear_between_cb,
- std::function<bool (std::map<std::string, std::string>)> cb)
+ std::function<size_t (std::map<std::string, std::string>)> cb)
{
if(!src.good())
{
@@ -94,14 +94,16 @@ size_t run_tests_bb(std::istream& src,
if(key == output_key)
{
- //std::cout << vars[name_key] << " " << test_cnt << "\n";
+ //std::cout << vars[name_key] << " " << algo_count << "\n";
++algo_count;
try
{
- if(!cb(vars))
+ const size_t fails = cb(vars);
+
+ if(fails)
{
- std::cout << vars[name_key] << " test " << algo_count << " failed\n";
- ++algo_fail;
+ std::cout << vars[name_key] << " test " << algo_count << ": " << fails << " failure\n";
+ algo_fail += fails;
}
}
catch(std::exception& e)
@@ -143,9 +145,9 @@ size_t run_tests(std::istream& src,
{
std::cout << name_key << ' ' << vars[name_key] << " got " << got
<< " expected " << vars[output_key] << std::endl;
- return false;
+ return 1;
}
- return true;
+ return 0;
});
}
@@ -181,10 +183,20 @@ int test_main(int argc, char* argv[])
DEF_TEST(cryptobox);
DEF_TEST(tss);
DEF_TEST(bigint);
- DEF_TEST(pubkey);
- DEF_TEST(ecc);
+
+ DEF_TEST(rsa);
+ DEF_TEST(rw);
+ DEF_TEST(dsa);
+ DEF_TEST(nr);
+ DEF_TEST(dh);
+ DEF_TEST(dlies);
+ DEF_TEST(elgamal);
DEF_TEST(ecdsa);
- DEF_TEST(ecdh);
+ DEF_TEST(gost_3410);
+
+ DEF_TEST(ecc_unit);
+ DEF_TEST(ecdsa_unit);
+ DEF_TEST(ecdh_unit);
DEF_TEST(pk_keygen);
DEF_TEST(cvc);
DEF_TEST(x509);
diff --git a/src/tests/tests.h b/src/tests/tests.h
index 87587144e..1dec5ff28 100644
--- a/src/tests/tests.h
+++ b/src/tests/tests.h
@@ -14,7 +14,7 @@ size_t run_tests_bb(std::istream& src,
const std::string& name_key,
const std::string& output_key,
bool clear_between_cb,
- std::function<bool (std::map<std::string, std::string>)> cb);
+ std::function<size_t (std::map<std::string, std::string>)> cb);
size_t run_tests(std::istream& src,
const std::string& name_key,
@@ -30,7 +30,7 @@ void test_report(const std::string& name, size_t ran, size_t failed);
#define TEST(expr, msg) do { if(!(expr)) { ++fails; std::cout << msg; } while(0)
-#define CHECKS_DIR "src/test-data/"
+#define TEST_DATA_DIR "src/tests/data/"
int test_main(int argc, char* argv[]);
@@ -47,6 +47,16 @@ size_t test_kdf();
size_t test_aead();
size_t test_transform();
+size_t test_rsa();
+size_t test_rw();
+size_t test_dsa();
+size_t test_nr();
+size_t test_dh();
+size_t test_dlies();
+size_t test_elgamal();
+size_t test_ecdsa();
+size_t test_gost_3410();
+
// One off tests
size_t test_ocb();
size_t test_eax();
@@ -56,14 +66,13 @@ size_t test_passhash9();
size_t test_cryptobox();
size_t test_tss();
-// File driven tests
-size_t test_bigint();
-size_t test_pubkey();
size_t test_pk_keygen();
-size_t test_ecc();
-size_t test_ecdsa();
-size_t test_ecdh();
+size_t test_bigint();
+
+size_t test_ecc_unit();
+size_t test_ecdsa_unit();
+size_t test_ecdh_unit();
size_t test_x509();
size_t test_cvc();
diff --git a/src/tests/test_ecc.cpp b/src/tests/unit_ecc.cpp
index 929e44528..6f97c558c 100644
--- a/src/tests/test_ecc.cpp
+++ b/src/tests/unit_ecc.cpp
@@ -805,7 +805,7 @@ size_t test_curve_cp_ctor()
}
-size_t test_ecc()
+size_t test_ecc_unit()
{
AutoSeeded_RNG rng;
diff --git a/src/tests/test_ecdh.cpp b/src/tests/unit_ecdh.cpp
index 5eb5da586..2c6857d3b 100644
--- a/src/tests/test_ecdh.cpp
+++ b/src/tests/unit_ecdh.cpp
@@ -116,7 +116,7 @@ size_t test_ecdh_der_derivation(RandomNumberGenerator& rng)
}
-size_t test_ecdh()
+size_t test_ecdh_unit()
{
size_t fails = 0;
diff --git a/src/tests/unit_ecdsa.cpp b/src/tests/unit_ecdsa.cpp
new file mode 100644
index 000000000..436d9dca6
--- /dev/null
+++ b/src/tests/unit_ecdsa.cpp
@@ -0,0 +1,490 @@
+/******************************************************
+* ECDSA tests *
+* *
+* (C) 2007 Falko Strenzke *
+* Manuel Hartl *
+* 2008 Jack Lloyd *
+******************************************************/
+
+#include "tests.h"
+
+#include <botan/hex.h>
+#include <botan/auto_rng.h>
+#include <botan/pubkey.h>
+#include <botan/ecdsa.h>
+#include <botan/rsa.h>
+#include <botan/x509cert.h>
+#include <botan/oids.h>
+
+#include <iostream>
+#include <fstream>
+#include <memory>
+
+using namespace Botan;
+
+#define ECC_TEST_DATA_DIR TEST_DATA_DIR "/ecc"
+
+#define CHECK_MESSAGE(expr, print) try { if(!(expr)) { ++fails; std::cout << print << "\n"; } } catch(std::exception& e) { std::cout << __FUNCTION__ << ": " << e.what() << "\n"; }
+#define CHECK(expr) try { if(!(expr)) { ++fails; std::cout << #expr << "\n"; } } catch(std::exception& e) { std::cout << __FUNCTION__ << ": " << e.what() << "\n"; }
+
+namespace {
+
+std::string to_hex(const std::vector<byte>& bin)
+ {
+ return hex_encode(&bin[0], bin.size());
+ }
+
+/**
+
+* Tests whether the the signing routine will work correctly in case
+* the integer e that is constructed from the message (thus the hash
+* value) is larger than n, the order of the base point. Tests the
+* signing function of the pk signer object */
+
+size_t test_hash_larger_than_n(RandomNumberGenerator& rng)
+ {
+ EC_Group dom_pars(OID("1.3.132.0.8")); // secp160r1
+ // n = 0x0100000000000000000001f4c8f927aed3ca752257 (21 bytes)
+ // -> shouldn't work with SHA224 which outputs 28 bytes
+
+ size_t fails = 0;
+ ECDSA_PrivateKey priv_key(rng, dom_pars);
+
+ std::vector<byte> message(20);
+ for(size_t i = 0; i != message.size(); ++i)
+ message[i] = i;
+
+ PK_Signer pk_signer_160(priv_key, "EMSA1_BSI(SHA-1)");
+ PK_Verifier pk_verifier_160(priv_key, "EMSA1_BSI(SHA-1)");
+
+ PK_Signer pk_signer_224(priv_key, "EMSA1_BSI(SHA-224)");
+
+ // Verify we can sign and verify with SHA-160
+ std::vector<byte> signature_160 = pk_signer_160.sign_message(message, rng);
+
+ CHECK(pk_verifier_160.verify_message(message, signature_160));
+
+ bool signature_failed = false;
+ try
+ {
+ std::vector<byte> signature_224 = pk_signer_224.sign_message(message, rng);
+ }
+ catch(Encoding_Error)
+ {
+ signature_failed = true;
+ }
+
+ CHECK(signature_failed);
+
+ // now check that verification alone fails
+
+ // sign it with the normal EMSA1
+ PK_Signer pk_signer(priv_key, "EMSA1(SHA-224)");
+ std::vector<byte> signature = pk_signer.sign_message(message, rng);
+
+ PK_Verifier pk_verifier(priv_key, "EMSA1_BSI(SHA-224)");
+
+ // verify against EMSA1_BSI
+ if(pk_verifier.verify_message(message, signature))
+ {
+ std::cout << "Corrupt ECDSA signature verified, should not have\n";
+ ++fails;
+ }
+
+ return fails;
+ }
+
+size_t test_decode_ecdsa_X509()
+ {
+ X509_Certificate cert(ECC_TEST_DATA_DIR "/CSCA.CSCA.csca-germany.1.crt");
+ size_t fails = 0;
+
+ CHECK_MESSAGE(OIDS::lookup(cert.signature_algorithm().oid) == "ECDSA/EMSA1(SHA-224)", "error reading signature algorithm from x509 ecdsa certificate");
+
+ CHECK_MESSAGE(to_hex(cert.serial_number()) == "01", "error reading serial from x509 ecdsa certificate");
+ CHECK_MESSAGE(to_hex(cert.authority_key_id()) == "0096452DE588F966C4CCDF161DD1F3F5341B71E7", "error reading authority key id from x509 ecdsa certificate");
+ CHECK_MESSAGE(to_hex(cert.subject_key_id()) == "0096452DE588F966C4CCDF161DD1F3F5341B71E7", "error reading Subject key id from x509 ecdsa certificate");
+
+ std::unique_ptr<X509_PublicKey> pubkey(cert.subject_public_key());
+ bool ver_ec = cert.check_signature(*pubkey);
+ CHECK_MESSAGE(ver_ec, "could not positively verify correct selfsigned x509-ecdsa certificate");
+
+ return fails;
+ }
+
+size_t test_decode_ver_link_SHA256()
+ {
+ X509_Certificate root_cert(ECC_TEST_DATA_DIR "/root2_SHA256.cer");
+ X509_Certificate link_cert(ECC_TEST_DATA_DIR "/link_SHA256.cer");
+
+ size_t fails = 0;
+ std::unique_ptr<X509_PublicKey> pubkey(root_cert.subject_public_key());
+ bool ver_ec = link_cert.check_signature(*pubkey);
+ CHECK_MESSAGE(ver_ec, "could not positively verify correct SHA256 link x509-ecdsa certificate");
+ return fails;
+ }
+
+size_t test_decode_ver_link_SHA1()
+ {
+ X509_Certificate root_cert(ECC_TEST_DATA_DIR "/root_SHA1.163.crt");
+ X509_Certificate link_cert(ECC_TEST_DATA_DIR "/link_SHA1.166.crt");
+
+ size_t fails = 0;
+ std::unique_ptr<X509_PublicKey> pubkey(root_cert.subject_public_key());
+ bool ver_ec = link_cert.check_signature(*pubkey);
+ CHECK_MESSAGE(ver_ec, "could not positively verify correct SHA1 link x509-ecdsa certificate");
+ return fails;
+ }
+
+size_t test_sign_then_ver(RandomNumberGenerator& rng)
+ {
+ EC_Group dom_pars(OID("1.3.132.0.8"));
+ ECDSA_PrivateKey ecdsa(rng, dom_pars);
+
+ size_t fails = 0;
+ PK_Signer signer(ecdsa, "EMSA1(SHA-1)");
+
+ auto msg = hex_decode("12345678901234567890abcdef12");
+ std::vector<byte> sig = signer.sign_message(msg, rng);
+
+ PK_Verifier verifier(ecdsa, "EMSA1(SHA-1)");
+
+ bool ok = verifier.verify_message(msg, sig);
+
+ if(!ok)
+ {
+ std::cout << "ERROR: Could not verify ECDSA signature\n";
+ fails++;
+ }
+
+ sig[0]++;
+ ok = verifier.verify_message(msg, sig);
+
+ if(ok)
+ {
+ std::cout << "ERROR: Bogus ECDSA signature verified anyway\n";
+ fails++;
+ }
+
+ return fails;
+ }
+
+size_t test_ec_sign(RandomNumberGenerator& rng)
+ {
+ size_t fails = 0;
+
+ try
+ {
+ EC_Group dom_pars(OID("1.3.132.0.8"));
+ ECDSA_PrivateKey priv_key(rng, dom_pars);
+ std::string pem_encoded_key = PKCS8::PEM_encode(priv_key);
+
+ PK_Signer signer(priv_key, "EMSA1(SHA-224)");
+ PK_Verifier verifier(priv_key, "EMSA1(SHA-224)");
+
+ for(size_t i = 0; i != 256; ++i)
+ signer.update(static_cast<byte>(i));
+ std::vector<byte> sig = signer.signature(rng);
+
+ for(u32bit i = 0; i != 256; ++i)
+ verifier.update(static_cast<byte>(i));
+ if(!verifier.check_signature(sig))
+ {
+ std::cout << "ECDSA self-test failed!";
+ ++fails;
+ }
+
+ // now check valid signature, different input
+ for(u32bit i = 1; i != 256; ++i) //starting from 1
+ verifier.update(static_cast<byte>(i));
+
+ if(verifier.check_signature(sig))
+ {
+ std::cout << "ECDSA with bad input passed validation";
+ ++fails;
+ }
+
+ // now check with original input, modified signature
+
+ sig[sig.size()/2]++;
+ for(u32bit i = 0; i != 256; ++i)
+ verifier.update(static_cast<byte>(i));
+
+ if(verifier.check_signature(sig))
+ {
+ std::cout << "ECDSA with bad signature passed validation";
+ ++fails;
+ }
+ }
+ catch (std::exception& e)
+ {
+ std::cout << "Exception in test_ec_sign - " << e.what() << "\n";
+ ++fails;
+ }
+
+ return fails;
+ }
+
+
+size_t test_create_pkcs8(RandomNumberGenerator& rng)
+ {
+ size_t fails = 0;
+
+ try
+ {
+ RSA_PrivateKey rsa_key(rng, 1024);
+ //RSA_PrivateKey rsa_key2(1024);
+ //cout << "\nequal: " << (rsa_key == rsa_key2) << "\n";
+ //DSA_PrivateKey key(DL_Group("dsa/jce/1024"));
+
+ std::ofstream rsa_priv_key(ECC_TEST_DATA_DIR "/rsa_private.pkcs8.pem");
+ rsa_priv_key << PKCS8::PEM_encode(rsa_key);
+
+ EC_Group dom_pars(OID("1.3.132.0.8"));
+ ECDSA_PrivateKey key(rng, dom_pars);
+
+ // later used by other tests :(
+ std::ofstream priv_key(ECC_TEST_DATA_DIR "/wo_dompar_private.pkcs8.pem");
+ priv_key << PKCS8::PEM_encode(key);
+ }
+ catch (std::exception& e)
+ {
+ std::cout << "Exception: " << e.what() << std::endl;
+ ++fails;
+ }
+
+ return fails;
+ }
+
+size_t test_create_and_verify(RandomNumberGenerator& rng)
+ {
+ size_t fails = 0;
+
+ EC_Group dom_pars(OID("1.3.132.0.8"));
+ ECDSA_PrivateKey key(rng, dom_pars);
+ std::ofstream priv_key(ECC_TEST_DATA_DIR "/dompar_private.pkcs8.pem");
+ priv_key << PKCS8::PEM_encode(key);
+
+ std::unique_ptr<PKCS8_PrivateKey> loaded_key(PKCS8::load_key(ECC_TEST_DATA_DIR "/wo_dompar_private.pkcs8.pem", rng));
+ ECDSA_PrivateKey* loaded_ec_key = dynamic_cast<ECDSA_PrivateKey*>(loaded_key.get());
+ CHECK_MESSAGE(loaded_ec_key, "the loaded key could not be converted into an ECDSA_PrivateKey");
+
+ std::unique_ptr<PKCS8_PrivateKey> loaded_key_1(PKCS8::load_key(ECC_TEST_DATA_DIR "/rsa_private.pkcs8.pem", rng));
+ ECDSA_PrivateKey* loaded_rsa_key = dynamic_cast<ECDSA_PrivateKey*>(loaded_key_1.get());
+ CHECK_MESSAGE(!loaded_rsa_key, "the loaded key is ECDSA_PrivateKey -> shouldn't be, is a RSA-Key");
+
+ //calc a curve which is not in the registry
+
+ // string p_secp = "2117607112719756483104013348936480976596328609518055062007450442679169492999007105354629105748524349829824407773719892437896937279095106809";
+ std::string a_secp = "0a377dede6b523333d36c78e9b0eaa3bf48ce93041f6d4fc34014d08f6833807498deedd4290101c5866e8dfb589485d13357b9e78c2d7fbe9fe";
+ std::string b_secp = "0a9acf8c8ba617777e248509bcb4717d4db346202bf9e352cd5633731dd92a51b72a4dc3b3d17c823fcc8fbda4da08f25dea89046087342595a7";
+ std::string G_secp_comp = "04081523d03d4f12cd02879dea4bf6a4f3a7df26ed888f10c5b2235a1274c386a2f218300dee6ed217841164533bcdc903f07a096f9fbf4ee95bac098a111f296f5830fe5c35b3e344d5df3a2256985f64fbe6d0edcc4c61d18bef681dd399df3d0194c5a4315e012e0245ecea56365baa9e8be1f7";
+ std::string order_g = "0e1a16196e6000000000bc7f1618d867b15bb86474418f";
+
+ // ::std::vector<byte> sv_p_secp = hex_decode ( p_secp );
+ auto sv_a_secp = hex_decode ( a_secp );
+ auto sv_b_secp = hex_decode ( b_secp );
+ auto sv_G_secp_comp = hex_decode ( G_secp_comp );
+ auto sv_order_g = hex_decode ( order_g );
+
+ // BigInt bi_p_secp = BigInt::decode ( &sv_p_secp[0], sv_p_secp.size() );
+ BigInt bi_p_secp("2117607112719756483104013348936480976596328609518055062007450442679169492999007105354629105748524349829824407773719892437896937279095106809");
+ BigInt bi_a_secp = BigInt::decode ( &sv_a_secp[0], sv_a_secp.size() );
+ BigInt bi_b_secp = BigInt::decode ( &sv_b_secp[0], sv_b_secp.size() );
+ BigInt bi_order_g = BigInt::decode ( &sv_order_g[0], sv_order_g.size() );
+ CurveGFp curve(bi_p_secp, bi_a_secp, bi_b_secp);
+ PointGFp p_G = OS2ECP ( sv_G_secp_comp, curve );
+
+ EC_Group dom_params(curve, p_G, bi_order_g, BigInt(1));
+ if(!p_G.on_the_curve())
+ throw Internal_Error("Point not on the curve");
+
+ ECDSA_PrivateKey key_odd_oid(rng, dom_params);
+ std::string key_odd_oid_str = PKCS8::PEM_encode(key_odd_oid);
+
+ DataSource_Memory key_data_src(key_odd_oid_str);
+ std::unique_ptr<PKCS8_PrivateKey> loaded_key2(PKCS8::load_key(key_data_src, rng));
+
+ if(!dynamic_cast<ECDSA_PrivateKey*>(loaded_key.get()))
+ {
+ std::cout << "Failed to reload an ECDSA key with unusual parameter set\n";
+ ++fails;
+ }
+
+ return fails;
+ }
+
+size_t test_curve_registry(RandomNumberGenerator& rng)
+ {
+ std::vector<std::string> oids;
+ oids.push_back("1.3.132.0.8");
+ oids.push_back("1.2.840.10045.3.1.1");
+ oids.push_back("1.2.840.10045.3.1.2");
+ oids.push_back("1.2.840.10045.3.1.3");
+ oids.push_back("1.2.840.10045.3.1.4");
+ oids.push_back("1.2.840.10045.3.1.5");
+ oids.push_back("1.2.840.10045.3.1.6");
+ oids.push_back("1.2.840.10045.3.1.7");
+ oids.push_back("1.3.132.0.6");
+ oids.push_back("1.3.132.0.7");
+ oids.push_back("1.3.132.0.28");
+ oids.push_back("1.3.132.0.29");
+ oids.push_back("1.3.132.0.9");
+ oids.push_back("1.3.132.0.30");
+ oids.push_back("1.3.132.0.31");
+ oids.push_back("1.3.132.0.32");
+ oids.push_back("1.3.132.0.33");
+ oids.push_back("1.3.132.0.10");
+ oids.push_back("1.3.132.0.34");
+ oids.push_back("1.3.132.0.35");
+ //oids.push_back("1.3.6.1.4.1.8301.3.1.2.9.0.38");
+ oids.push_back("1.3.36.3.3.2.8.1.1.1");
+ oids.push_back("1.3.36.3.3.2.8.1.1.3");
+ oids.push_back("1.3.36.3.3.2.8.1.1.5");
+ oids.push_back("1.3.36.3.3.2.8.1.1.7");
+ oids.push_back("1.3.36.3.3.2.8.1.1.9");
+ oids.push_back("1.3.36.3.3.2.8.1.1.11");
+ oids.push_back("1.3.36.3.3.2.8.1.1.13");
+
+ size_t fails = 0;
+
+ unsigned int i;
+ for (i = 0; i < oids.size(); i++)
+ {
+ try
+ {
+ OID oid(oids[i]);
+ EC_Group dom_pars(oid);
+ ECDSA_PrivateKey ecdsa(rng, dom_pars);
+
+ PK_Signer signer(ecdsa, "EMSA1(SHA-1)");
+ PK_Verifier verifier(ecdsa, "EMSA1(SHA-1)");
+
+ auto msg = hex_decode("12345678901234567890abcdef12");
+ std::vector<byte> sig = signer.sign_message(msg, rng);
+
+ if(!verifier.verify_message(msg, sig))
+ {
+ std::cout << "Failed testing ECDSA sig for curve " << oids[i] << "\n";
+ ++fails;
+ }
+ }
+ catch(Invalid_Argument& e)
+ {
+ std::cout << "Error testing curve " << oids[i] << " - " << e.what() << "\n";
+ ++fails;
+ }
+ }
+ return fails;
+ }
+
+size_t test_read_pkcs8(RandomNumberGenerator& rng)
+ {
+ auto msg = hex_decode("12345678901234567890abcdef12");
+ size_t fails = 0;
+
+ try
+ {
+ std::unique_ptr<PKCS8_PrivateKey> loaded_key(PKCS8::load_key(ECC_TEST_DATA_DIR "/wo_dompar_private.pkcs8.pem", rng));
+ ECDSA_PrivateKey* ecdsa = dynamic_cast<ECDSA_PrivateKey*>(loaded_key.get());
+ CHECK_MESSAGE(ecdsa, "the loaded key could not be converted into an ECDSA_PrivateKey");
+
+ PK_Signer signer(*ecdsa, "EMSA1(SHA-1)");
+
+ std::vector<byte> sig = signer.sign_message(msg, rng);
+
+ PK_Verifier verifier(*ecdsa, "EMSA1(SHA-1)");
+
+ CHECK_MESSAGE(verifier.verify_message(msg, sig),
+ "generated sig could not be verified positively");
+ }
+ catch (std::exception& e)
+ {
+ ++fails;
+ std::cout << "Exception in test_read_pkcs8 - " << e.what() << "\n";
+ }
+
+ try
+ {
+ std::unique_ptr<PKCS8_PrivateKey> loaded_key_nodp(PKCS8::load_key(ECC_TEST_DATA_DIR "/nodompar_private.pkcs8.pem", rng));
+ // anew in each test with unregistered domain-parameters
+ ECDSA_PrivateKey* ecdsa_nodp = dynamic_cast<ECDSA_PrivateKey*>(loaded_key_nodp.get());
+ CHECK_MESSAGE(ecdsa_nodp, "the loaded key could not be converted into an ECDSA_PrivateKey");
+
+ PK_Signer signer(*ecdsa_nodp, "EMSA1(SHA-1)");
+ PK_Verifier verifier(*ecdsa_nodp, "EMSA1(SHA-1)");
+
+ std::vector<byte> signature_nodp = signer.sign_message(msg, rng);
+
+ CHECK_MESSAGE(verifier.verify_message(msg, signature_nodp),
+ "generated signature could not be verified positively (no_dom)");
+
+ try
+ {
+ std::unique_ptr<PKCS8_PrivateKey> loaded_key_withdp(
+ PKCS8::load_key(ECC_TEST_DATA_DIR "/withdompar_private.pkcs8.pem", rng));
+
+ std::cout << "Unexpected success: loaded key with unknown OID\n";
+ ++fails;
+ }
+ catch (std::exception) { /* OK */ }
+ }
+ catch (std::exception& e)
+ {
+ std::cout << "Exception in test_read_pkcs8 - " << e.what() << "\n";
+ ++fails;
+ }
+
+ return fails;
+ }
+
+size_t test_ecc_key_with_rfc5915_extensions(RandomNumberGenerator& rng)
+ {
+ const std::string pw = "G3bz1L1gmB5ULietOZdoLPu63D7uwTLMEk";
+
+ size_t fails = 0;
+
+ try
+ {
+ std::unique_ptr<PKCS8_PrivateKey> pkcs8(
+ PKCS8::load_key(ECC_TEST_DATA_DIR "/ecc_private_with_rfc5915_ext.pem", rng, pw));
+
+ if(!dynamic_cast<ECDSA_PrivateKey*>(pkcs8.get()))
+ {
+ std::cout << "Loaded RFC 5915 key, but got something other than an ECDSA key\n";
+ ++fails;
+ }
+ }
+ catch(std::exception& e)
+ {
+ std::cout << "Exception in " << __func__ << " - " << e.what() << "\n";
+ ++fails;
+ }
+
+ return fails;
+ }
+
+}
+
+size_t test_ecdsa_unit()
+ {
+ size_t fails = 0;
+
+ AutoSeeded_RNG rng;
+
+ fails += test_hash_larger_than_n(rng);
+ fails += test_decode_ecdsa_X509();
+ fails += test_decode_ver_link_SHA256();
+ fails += test_decode_ver_link_SHA1();
+ fails += test_sign_then_ver(rng);
+ fails += test_ec_sign(rng);
+ fails += test_create_pkcs8(rng);
+ fails += test_create_and_verify(rng);
+ fails += test_curve_registry(rng);
+ fails += test_read_pkcs8(rng);
+ fails += test_ecc_key_with_rfc5915_extensions(rng);
+
+ test_report("ECDSA", 11, fails);
+
+ return fails;
+ }