blob: 4d652cb5099034637c8a815fb868e2e407f82a20 [file] [log] [blame]
# RSA 2048-bit key with e == 65537.
Input = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100b9d7af84fa4184a5f22037ec8aff2db5f78bd8c21e714e579ae57c6398c4950f3a694b17bfccf488766159aec5bb7c2c43d59c798cbd45a09c9c86933f126879ee7eadcd404f61ecfc425197cab03946ba381a49ef3b4d0f60b17f8a747cde56a834a7f6008f35ffb2f60a54ceda1974ff2a9963aba7f80d4e2916a93d8c74bb1ba5f3b189a4e8f0377bd3e94b5cc3f9c53cb8c8c7c0af394818755e968b7a76d9cada8da7af5fbe25da2a09737d5e4e4d7092aa16a0718d7322ce8aca767015128d6d35775ea9cb8bb1ac6512e1b787d34015221be780a37b1d69bc3708bfd8832591be6095a768f0fd3b3457927e6ae3641d55799a29a0a269cb4a693bc14b0203010001028201001c5fb7e69fa6dd2fd0f5e653f12ce0b7c5a1ce6864e97bc2985dad4e2f86e4133d21d25b3fe774f658cca83aace9e11d8905d62c20b6cd28a680a77357cfe1afac201f3d1532898afb40cce0560bedd2c49fc833bd98da3d1cd03cded0c637d4173e62de865b572d410f9ba83324cd7a3573359428232f1628f6d104e9e6c5f380898b5570201cf11eb5f7e0c4933139c7e7fba67582287ffb81b84fa81e9a2d9739815a25790c06ead7abcf286bd43c6e3d009d01f15fca3d720bbea48b0c8ccf8764f3c822e61159d8efcbff38c794f8afe040b45df14c976a91b1b6d886a55b8e68969bcb30c7197920d97d7721d78d954d89ffecbcc93c6ee82a86fe754102818100eba1cbe453f5cb2fb7eabc12d697267d25785a8f7b43cc2cb14555d3618c63929b19839dcd4212397ecda8ad872f97ede6ac95ebda7322bbc9409bac2b24ae56ad62202800c670365ae28671195fe934978a5987bee2fcea06561b782630b066b0a35c3f559a281f0f729fc282ef8ebdbb065d60000223da6edb732fa32d82bb02818100c9e81e353315fd88eff53763ed7b3859f419a0a158f5155851ce0fe6e43188e44fb43dd25bcdb7f3839fe84a5db88c6525e5bcbae513bae5ff54398106bd8ae4d241c082f8a64a9089531f7b57b09af52042efa097140702dda55a2141c174dd7a324761267728a6cc4ce386c034393d855ebe985c4e5f2aec2bd3f2e2123ab1028180566889dd9c50798771397a68aa1ad9b970e136cc811676ac3901c51c741c48737dbf187de8c47eec68acc05b8a4490c164230c0366a36c2c52fc075a56a3e7eecf3c39b091c0336c2b5e00913f0de5f62c5046ceb9d88188cc740d34bd44839bd4d0c346527cea93a15596727d139e53c35eed25043bc4ac18950f237c02777b0281800f9dd98049e44088efee6a8b5b19f5c0d765880c12c25a154bb6817a5d5a0b798544aea76f9c58c707fe3d4c4b3573fe7ad0eb291580d22ae9f5ccc0d311a40590d1af1f3236427c2d72f57367d3ec185b9771cb5d041a8ab93409e59a9d68f99c72f91c658a3fe5aed59f9f938c368530a4a45f4a7c7155f3906c4354030ef102818100c89e0ba805c970abd84a70770d8fc57bfaa34748a58b77fcddaf0ca285db91953ef5728c1be7470da5540df6af56bb04c0f5ec500f83b08057664cb1551e1e29c58d8b1e9d70e23ed57fdf9936c591a83c1dc954f6654d4a245b6d8676d045c2089ffce537d234fc88e98d92afa92926c75b286e8fee70e273d762bbe63cd63b
# The same key as above, with the last byte removed.
Input = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100b9d7af84fa4184a5f22037ec8aff2db5f78bd8c21e714e579ae57c6398c4950f3a694b17bfccf488766159aec5bb7c2c43d59c798cbd45a09c9c86933f126879ee7eadcd404f61ecfc425197cab03946ba381a49ef3b4d0f60b17f8a747cde56a834a7f6008f35ffb2f60a54ceda1974ff2a9963aba7f80d4e2916a93d8c74bb1ba5f3b189a4e8f0377bd3e94b5cc3f9c53cb8c8c7c0af394818755e968b7a76d9cada8da7af5fbe25da2a09737d5e4e4d7092aa16a0718d7322ce8aca767015128d6d35775ea9cb8bb1ac6512e1b787d34015221be780a37b1d69bc3708bfd8832591be6095a768f0fd3b3457927e6ae3641d55799a29a0a269cb4a693bc14b0203010001028201001c5fb7e69fa6dd2fd0f5e653f12ce0b7c5a1ce6864e97bc2985dad4e2f86e4133d21d25b3fe774f658cca83aace9e11d8905d62c20b6cd28a680a77357cfe1afac201f3d1532898afb40cce0560bedd2c49fc833bd98da3d1cd03cded0c637d4173e62de865b572d410f9ba83324cd7a3573359428232f1628f6d104e9e6c5f380898b5570201cf11eb5f7e0c4933139c7e7fba67582287ffb81b84fa81e9a2d9739815a25790c06ead7abcf286bd43c6e3d009d01f15fca3d720bbea48b0c8ccf8764f3c822e61159d8efcbff38c794f8afe040b45df14c976a91b1b6d886a55b8e68969bcb30c7197920d97d7721d78d954d89ffecbcc93c6ee82a86fe754102818100eba1cbe453f5cb2fb7eabc12d697267d25785a8f7b43cc2cb14555d3618c63929b19839dcd4212397ecda8ad872f97ede6ac95ebda7322bbc9409bac2b24ae56ad62202800c670365ae28671195fe934978a5987bee2fcea06561b782630b066b0a35c3f559a281f0f729fc282ef8ebdbb065d60000223da6edb732fa32d82bb02818100c9e81e353315fd88eff53763ed7b3859f419a0a158f5155851ce0fe6e43188e44fb43dd25bcdb7f3839fe84a5db88c6525e5bcbae513bae5ff54398106bd8ae4d241c082f8a64a9089531f7b57b09af52042efa097140702dda55a2141c174dd7a324761267728a6cc4ce386c034393d855ebe985c4e5f2aec2bd3f2e2123ab1028180566889dd9c50798771397a68aa1ad9b970e136cc811676ac3901c51c741c48737dbf187de8c47eec68acc05b8a4490c164230c0366a36c2c52fc075a56a3e7eecf3c39b091c0336c2b5e00913f0de5f62c5046ceb9d88188cc740d34bd44839bd4d0c346527cea93a15596727d139e53c35eed25043bc4ac18950f237c02777b0281800f9dd98049e44088efee6a8b5b19f5c0d765880c12c25a154bb6817a5d5a0b798544aea76f9c58c707fe3d4c4b3573fe7ad0eb291580d22ae9f5ccc0d311a40590d1af1f3236427c2d72f57367d3ec185b9771cb5d041a8ab93409e59a9d68f99c72f91c658a3fe5aed59f9f938c368530a4a45f4a7c7155f3906c4354030ef102818100c89e0ba805c970abd84a70770d8fc57bfaa34748a58b77fcddaf0ca285db91953ef5728c1be7470da5540df6af56bb04c0f5ec500f83b08057664cb1551e1e29c58d8b1e9d70e23ed57fdf9936c591a83c1dc954f6654d4a245b6d8676d045c2089ffce537d234fc88e98d92afa92926c75b286e8fee70e273d762bbe63cd6
Error = InvalidEncoding
# RSA 3072-bit key with e == 65537.
Input = 308206fd020100300d06092a864886f70d0101010500048206e7308206e30201000282018100ac2d26e81b524ff75bb23d79c5eef2258546a1cbc9ce00cdb453449ad3af0d38d748bab51533ff39aabe9d21a0b1113f57764a6c27d10c97212296e3033814b8b1ec1d4b8cb00a4d8174dce02a7a73149d195ef83c3ee0334a8bf94d86dc0e8ba2a5ac80343e8124ead35dda110f106436813fae364113f8136a79f7791b035549dc7f7a1492ff0cbbbae937eb7e05ed997a3023bc3622def643a13aa4b20f15b4c293ccfd64a26db61623ae4fc69bac32162953cb37c93216c009ca217bc9b4cfa463e22b9d083d1c42f321cb8c248c29090194c0e5e94957ca2a34d62bcab2a12acfbb4565bf2576583a57fd78b810a7f7c70aec118e7e9bb7fba9c80c10acb8154af0e0e21ee4e488393c9dfd977aa7c245925fb5f880bf1074d916710630362c246f0270d70cbb546bd5ef07e423c37f1f446707c4d6c3874f9c7abfe80f873884911a6a98514b34ef147b1e7ff93c9497b57c73653f391d74bce6db9699cfb3fdca698427db519f08e33b16a7105b27f1387aa9958a674d777c1403e03302030100010282018043901045627b415fea7e9dfb0bfdc0cd9267ee139ee41492a3e14cf9887997b1a76125caeb40153616d767a78b7c102d8fef9e32a4c936ac935714688e99d21fcbc9c09125eaea90116dbf42c3c87b222aa78b09d3f2445e3c318329b5f2e24e4f0bbe0e2cf21e1153888fba83992ab07866ed8b3a44fd460ab06c9dfccae9daecf9f697fc3cd692b3941bf25299884ffd3ae26b136f16edf12b06b8916a41db1dac80fd1eadffc31781c68c9f476b4cfdf68e4f105e9ab7ea0f7f87eeedb96f723e2a17e5103af96c3a508d38262577ffe3b2fb7bb4f7150cdc9dfb8d4f3d5cdf349192d1d302182df169403a066ddb28647831041d587884282392f83716b74f201d33fa5a967d5f506a93e4e9506ecf6802869ead17beff0b8903114f154fa3973067d56003409cdefa962578096d664c79d2c5df6e8dbbf67a9bf6e2c7c938608c17ae1ef6e56fce9058fb4823c5cee63e2a1c9f495dca8021fcb50cd92a35a9de5df29755b8f0d6d677d8fb8144dd106f07782e63032e6f40f3c29c0de90281c100def986933a3b7fdcb21c7096a4ef361c6631a23aacc8831f34270efd4850eac191d9284070cc910cf12864efd6d8c676491ba8f810b005dc4143e7e774d2d4fa255007ec75a98f5fc105100ed49327e90d31f01771bfe92b1f47cb36eb8c2d30067d1523980b9329e73ff7ae84a8ae11276a085a201bef0b398f934e4bdd7eba261e676a4a933a4254934f6ad8c17277a977a7782da24000eec12cf8def48d86a73ac84e9dcf5b5e8dad32ceb4d565085c2063f88df9a4b1f200375d2a58c86f0281c100c5ad84dcac6f51bfefa20c2b52611bcec8822739ff907491912b7c0d80ddcdfe1836c264969048133e76d3c4987a563a2d7d3c3b213cf47e1cd9329df1878bc4834e9742e5d0a31c663d4fa8edd8e0abad1c5fe2e6fef1f01c35b93eff619c7ae80873842daa277096dd1f3da4b4182525d06c1041a9c8627be145c3435a79dba4dfe52f63fa51486762d1b55d449fb55f07d304fcc726b9cc1e42484bc6d72704e0192f4bb7e6c6438dbd9aecf8d10626bc2ce1904f96d7594b9fc0e8231e7d0281c050a322f519a92ceb8e8a5479567aa032130f3e21441d5bb62c3137ed877aa3fb8f185ec33747f3e91f49c17f2f4ec42f40ef3ce3417db710d9958a479d6b25d4b52bc541d1a7998f4289e72dc5d8d625253d7b1baf6a7d13b843498dba0fbec3d084e9e12e7a79253d5957e4885b4c602dc5ddf1620d581cd21b4765987029057f059dd6c5d38acd3432f614a90104b99bd30700a2583c175a41085794a21290b0e7c44b122d4c58dc99d77703d4ecade24b607c22343748974156c45dad30070281c100a8d548d2c91bd2b0a1d4bf9c08a214040ad0cefc0440b6aed55454819bfcd5411e2136ea7e8600691f4292202932e38e90e79397d50da0ac4dab5c45f5d21517e4262d9edf75d0ba22c05ed7233dc6b61a06500715cfcd878c307e6545ed729eaeaaf92e7d6a04816ef8b1040f361a213028d10319720f49be106b6b188d9fe26ef12367d476291233eafcbd70497a368851c073540a2c132838f7d79390e295dade23e477413c833d9343cb9c75eee0d8188424ab02af0c82a1ca7212525c690281c012315e04ad315f39c8c0657c93ed32ec2501c9cf2b3c3f6c07fc78ad95d9c5827201ef95d7f549ddba41a75ed1b2a5261037490d235c4f097a123dd454da7f2954a1ea4e612662e5086d6e532adef15506b2adf1aeb5237257df7193d85e2a4d61bbef24122deee62b41b73cf277486da9dee39311904e49fcf7e5cf7c1ba5da0b8e25853da1389b79753a894643ff8299d1c599130c9d0f25db07eafde4a1ee1e66f839c3b775000a5d8576f3b158d2cfe8cbec94376cb81d54c6066a4fc97f
# RSA 2048-bit key with e == 65537 and p < q.
Input = 308204bd020100300d06092a864886f70d0101010500048204a7308204a30201000282010100a0afb85b74105f49f6836183d67b92602b53ad0d7a65f32a21d8959b8722aae1ec000cb9f22de09b794d7446e04be02a782615a659ceddb5f3344b6e566970718124dc8b8bf23c5aaa7447b7f11905f828e91f1a844d535624b987704ecca430d04cfee0deef46e7e2da65a3f2a1b3aae6cdf96795d24073a07312867aeb414e0bd6c23d80bd9ce6266fd90dac7666b019c141e3516ed51ced0d62a0b1db189860406ec5b7bbbeb49031979dba118ef6ad131365d6bd6994e695ab084592a5d2470341e4a9da14167a1387ec3d513687b7d849d64da896d4038f72f8a8a516c6402225a53eb813c1eb0e675af8880433545a90404946d7d8db2716fdd63898650203010001028201007df2de1548f720499020d0c98ecf931f3036c938fc4c76f9fa479294b2aa98b8b6cc1f2d8cc72afb926c048d1d783bbfee2723e71d13c9b2b96baf0850511b22ccb040f25c82458e6776f7541575a0b9300ff2224dbb726bde235226d48d10d1762433cfbcce5e8c99c2c7d266f71a2605fd42d54f98da8e0720cb4f7f7f70d2668b89cb57fde159ac7922756fd161379a5693168c388b7e1468552f67f896f69740e80e13b9badee87b7116e559c1e428276cc9d4788b0ee25f10ed560daa8339aeb52d8bb2b05a2e1e16e3fb348ae5feb5dbaf53a7d8a318865e1a746374df077d85120b02e3f0ceba47cc734c96ed6dac65f11bde2db2f1ffaec0da5924c102818100c045a3996d1465c73ca839c442b1026c82e418c68a5f96b34ff36557144a86af092b8c2873c42ac08d66e2f471c4094098be48058ed2bb0ebf0beb896f0eb18eea16d475914c901e35dffbcc257f19260819213c46eac7e508aae0114b98770471949f006d42a6c2e07d590e1f5f14747239154f65155daa4bea84f5ee8d2c7102818100d5f20732ea986dd3d1245dce180595a7f48b36c58f1576f6782062a4f1790871bfb2e31b96f1b596c59b6624cc2b56c441e4970fffe70e59c0fca099b598170106a60e32725c35401271ba2216039c627b18a2e319331c1444238724ba7c80e2f35d13fc0662638b414f7c12fe66db22328fa892a4b7632ea2c24f6b06fb3535028180448f5073e0127aec5d73bb0d819e6eb7d4c0931910b45f1f576df9ffe00b67153916df26798944995e92867115b40a7c8f3aa2a1e0b8c1dcd340e3df20cbc382ab7432942d9878775d4c9e13c0771eb79201abf93b6c7294f7cf3e90cc3cf48b9018a7cdd6280320d03dc228a805165d2371b9689329d83966529cd0b91c7bf1028181009f1bbed4d3f9067ca7a63709057e69bd1db5c6c707d13bc6b2b1cb0ac5f6701c4027a694a71e1d2102d6be1111b20d762956fa2d50f0221107e01904173403afa4a52c1bc246e6e73e904b8ffbf535815bf0877b030baa8f3bd97c31096b7c62cc0065d361601c8dbcc5830d911b274ef8713439d2bbfbcbfc092c0cf9852b1d02818058e7d95fe1a95fe10f60b59eba5c8c28c8eeaa82956a3035f37e7570f5ff91a104a5df77ba13a09bedb22018e2ac7461471b5e719ab202032cb3905391b7d15c74b36aff25c83987726e0ef1362c1b8f4f8282f2c4fd6a38a9a15e63400b92bfff31cbfc375313dc40f9cf19e031ededd32c47de6b3a99696a903638c4d6969a
# RSA 3072-bit key with e == 65537 and p < q.
Input = 308206ff020100300d06092a864886f70d0101010500048206e9308206e50201000282018100a893194cf895bbbfa58f2863ab9bd00671cf5c48604efcb175d6f03a55d32a991c3021d52265369d45b94c4e80210a5d8d3d0738fb98669f1256d406eabafb67ad028de2e25909cd87b723a6f29eaaa46d77c74e998d3ca635ddb71335c2d77143c61d1875b0c6abe15474dd61e69fb0a5bfc381f8ffc251be4a03ff9cdebc6d890cc5d1e1b4da6115afd7d4bd9ec8b12361158eb5526cb9ccd5c1763862f65ac0cf10d7718efdbdc6f4e23325b129625d0e87a1136dc34af0f9e0e2abc7d617abbcfdb8f33d04a2cff977336df6c3956b5b667c399047d720da828370e601ca3e032a81dab5eeb9a5c37ffb4ae255fc0a3093756e9fd039faa87f2ccd396d8c44b51dec14d7a0c00e2a0735102d30ae30edf41e67af3bec5103f7ea969dc1222a0b7fdbd622788aef9fa410a9640312c33f14c322ae3b7ff2dce7c7440e9ea5f2521bfe75e206b16ea5176a7e4b9a7ba326fdc2541bc56fb6b16451a11f23f50217b61a277e3116cb65c6aa40615041e20118bd10fad88602bea3a232ca12f102030100010282018033cb3e72cfcdf1a9a88c9bb443fdd3a4a74336ef65e7deec0770cacea1a007ee932296c28d96db78e6fb4fdeaeaf7827d64571faa812e334ecc590cfaf3f540f3eb112372ba47fc68e744e97f4e39b3a7a07db4ce310ea1987635fe49f180669de90f84f939984f13a826085c496bf69df03546692c2c249ab55c274bf16107ef724dd82e6fe523a92173d113851990813feb848e89d329ac3bcc97c3146f6ba5b9343716e8aa89bae8d7f1287fa2ee4f2028cd988c6a8c255d7f0a8b46ee9f04c36250f4a66b148415c83fe991360231e8f267a9400a31111fedd19aadc93eb0b6833e556c2c91e2a69ee6ae0462eb6a146e1d30680f02bac5e2ec95879e9a42b05c790baf87e6481f0a703a4897a221f2f4604facb45948bef592d61891fe55e5c52b7a44f01a0148641dee97eeb2efd96968fd82310ea551184b4c63c48039e13bcd15abc15029d3c5bd41665895bef92e12513e06706cb03221ff5aa7f6aa64ebfcdcd6882ad2ec765731ee6452d6470a7053a276f51b7c20b7b54d8c0010281c100c9bc1dc851bcfeb8e8d33063be3d8be4d09f816c0567a06935c7b8082dd06c1f2ce9eba3fdadef1a77e087e05f76bb05d625bfc835dbc1cbf5397cdb9e5f67b23fce81bfc7b27f2cebd7db80b8a696bd57b3eae3f498a1b4782f8721c12c685b85ef648575ce81010fbd12e6bbefddc3e073ac309dec8d9671fbed47344b8ca8fb90a974fd4d306c92f2a2f8f6db36c57780faf07baf850454be836c6cca4c9e35327d84babcac06c14ea3295fbc772319d9582ea185e4a685ffdd1316bb2e810281c100d5eb7ff5b91f4068cd2739c0c5c4e609839e07b950307f55a5b5892d8ead0b3f77c8657204cc320e9b52d67af2eeec787dea098ece882abf6e93957ec1fb753f28e17de205a0e4967c7880ad9580b81a3a2315e3466f639a62162e4f0de8f009142bc19488510b2e0e2ef86f0be45f4efa51ea794fbabff294c3c40199c450221c99707026bd1de3649c10c37a4c493fab1aa9511ed64bec38a1724c8af4a9813de028dcdc0bde1639a1b6a4b9ac0480cee494a533fff8214de959a9a6bc8c710281c100c87a9b3a5d08ae3742a1c60009aa0e6159767a5ec84c405cee26495c4f734650010982b4d940c6528e79636ef64ffef280ebc8d885b59bb53e416034bd01e10282688e06f1c5109faacd3c85827b83682d454e94359a8d70d4d39ebe4bc3fefd9d6fd77cce23678e8f7e7dcf314be21e6beb685e7443063e518e643293e4d4a7864130366418169c7fb8837f598b66b5fcda0007875359a481374752341722e742c4a77a853d44d3fdbd5166a78e9af31618298b45d7d2f02e50a4f9f86812810281c100b05497bc6fa4f00db315a348607cc5f58fb542bea0f7e8ee2b52b1498932e073a783db031a2b4b13b93a962af076bb1b3307286bbb98884c1594b784add75db4fb38abf0141da46edb18e550b04c52f4e3792a40963d990797d49ac5753cce275da617c21c7f594cd44a296437943e6fb66cb16edfa69b3415262d39f88ad656d7e62ec573592dfad362c57aac2397b9508c00872a79104a1e000e5c43aa1ad2bab33c5b99527af52cfa3cb819884e89f2807e7a929b6ae7e0f5f97f9b3e0e310281c100b1e8aeff349d9d187e73d86f166a9703a14bc93ec599b203232027a180f3179ed10a51d9b482ef12f218285d2e06c45ae984995405cdbe71e72170f4a602ddd968c3673f1d5262e69eabc3106553ccc07b8bcd8306338346d2fd2bf595d96c48df5f959dd9384561014c79e7305728587bf01821eaf1f85e74f4365fa1492a30cf3ab54cd1080da479fd834bd07c1ec5e72e9ab68d855845cae166c8f885fdc20e946d40ec478628f4498ebc18e37204253765cf41bdfcf0cccd2ca1ef06b6ca
# RSA 2048-bit key with invalid e == 3.
Input = 308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100bbb126534d64a3a60711730846af3c2f4cf4fee28f48e7c9ca2b0b5a6c8ad51e2509d38b87ea6b039ad3a33ac57e78c444d86438b1938eed73219cba33b06454e429330ce0fcd356624630c58f32a7ab3bef8c7cb3f9843b09c3e61dc92329df330f002451b5910cac3e7b513d3ca1cd58e39a5cc277e64da395058805f69f19bb62571f28525c5a7f781055ea82bddcc8d10c7163060e2040aeb390e6cd8cbba216726875d3b2975fae77d9d092a9e65f545f8a1e282c7096b3e8293d47d15e656717b0ea2d9a170d489c2f3b596cb745fd3f587e10cf3ff043a1f42ed9d030d900c02676761e70e2b5a8fd9387dc658cc95b1ac3ca83ce3b352d6e71514025020103028201007d20c43788edc26eaf60f75ad9ca281f88a354970a309a8686c75ce6f30738bec35be25d0546f2026737c2272e545082d89042d076625f48f76bbdd177caed8ded70ccb340a88ce441842083b4cc6fc77d4a5da877fbad7cb12d4413db6cc694ccb4aac2e123b60872d4523628d31688e5ed11932c4feede6d0e03b003f9bf6556ac08bfb5829df7f6baf74772fd3e22ca571851c5a0efe8330ffb45863a804f870f4535da65761c81c22decb3bd8fe55fb250b09fce0f12f1c1a073ab5349a8b9d8e3fb826a04f441479cf3b4ecb7d61aca60f44a3f1ffbe2bd615cb65c29b11beeff13074c06356ece01581b45fcfc2cab27a8777a631b3361763d59b7f26b02818100f6434d514907d7c9f522c84633148b5e2fccf3bc0fc4e6a5c5f7b88b15a062433dae12c53d5e54e2a47427da06b6ff4e2c4635b90aa8887b365b96e6485584f64138c39ef0d9108dc8f569f5cdac877c5d4bfad3a89dbda8f5e88d05277462b2636618c6f21f845ebbca664f1c7d5534c15ff90f5faffd712ecd2f130b8f808d02818100c31cfcae4f06979c983cd5248af2554a6981743aaacfbf9e2e1f021d87d56a0119d177d270dd2c89f8970b1cbc3f52c02382b0c823ca8d58f5b5e09573f55deb0d68fe18b5b5821ae267c6cbde49d179c081b3166614619d263f02e3f5db2ef4cbb428c2f96490c200b640aa4e218bb68868a68eb0e2f1b43f55ccff5f2dd3f902818100a42cde3630afe5314e17302eccb85ce975334d280a83446e83fa7b0763c04182291eb72e28e98dec6da2c53c0479ff8972d97926071b05a779926499858e58a42b7b2d14a090b5b3db4e46a3de7304fd9387fc8d1b13d3c5f945b358c4f841cc42441084a16a583f27dc4434bda8e37880eaa60a3fcaa8f61f3374b75d0a55b3028181008213531edf59ba68657de36db1f6e386f100f8271c8a7fbec96a01690538f15611364fe1a0937306a5ba07687d7f8c8017ac75dac28708e5f923eb0e4d4e3e9cb39b54107923ac11ec452f32943136512b01220eeeb841136ed4ac97f93cc9f887cd7081fb98608155ced5c6dec107cf059b19b475eca122d4e3ddff94c937fb0281805d84a6c335b77a5d2468b81cab4ab69198906454bb499b00c8094456b855987dd20a95a5be48f21067554b86df117cc9abab45dca04265fb589606b2cbc074808f39862cbf39e3efd1df44e04fcd9f778574528fcb52f5b7e16066267cf08d29ce7a29deb3d9c3671634af765916a865646accbdec557d970de3b242e3450167
Error = TooSmall
# RSA 2040-bit key that is valid, but we reject it because it is too small and
# or because the private modulus length isn't a multiple of 512 bits.
Input = 308204b9020100300d06092a864886f70d0101010500048204a33082049f0201000282010000e978633c731dc49958124170096c8dfd536977a5ad78051520be93de8b3040faeebe61b436d02e6015d78dfa2280a7a1c33b87b16b82b367e352545a6de6ce46f83dc0fc421c2997c7149f9c616cd538a311cdd8c7f5b0959c3a9343090f0ba87b02dd44e7dd0c8a2eeb0d7ad2e49527d5d420b72b52301e7ea2f6f18c86a05c8ee5a20ebac5a78f76d4a1443db1c399375293e008ef34835f873f0ccfbb3005d1efd17ac405db1e86a5b64ecfcf3f02819818802f122d1a889ebfbb6658d3d63355894a4141d1aeb4dfcbfc5bf6d2229532326f73810364a42b7cd1b71f05720698b74c58e5e1fdc364f8403f6ec825dab667f6b26653e76f6f7eb8d98b2702030100010282010000bbb8bfda0019845563fa31c17ae25cfcbe8fc3d3643a67a3c8535424113878570b95ea8b73b34a4699e95ad02fe3d06581cc20dbe83d0c31d117069a3b59e4ac2db7c1af531cbfd8b90afd174942afe2bd43788700a8ad166eaaae73ad19fadeba21e07622149b9b94040d2f9fd88991a11dd23c5549dd44f7bfe2dcef87e3da55d5b0c92e321a992600b6aa2205b90f03cbde204ccbf5e4ae729c6a4d1d38f415f559b865b91996973a05103410842a84c8e19e8b4fdad94d498392dbd521691154381ac6cb5bc6d180daf72cdbc06a7d42a2f503cf44ff804b1b6004b2f4f058c2f20712fccca5866cd107a812390c9b2784d5e199b270bcbc0b2ca3f2410281800f5fd9faeb3fc7a0d6f4011b731482e8ab1d5fac10ed36241d95a28fc298e3bf41e75aa9d0d967d79b857d7156496f073003c45ac8d97136862c103a8e2e3d1548e308b4e50f436b86a236b0c15cbe50d812819294db7cffe6f655bcf50113ef79245fa94886be820ee043d1e4ed9984ad8d8157610c433513a96f86398a7aa10281800f2f85807ba2ee028bdf1902a9940629b8844797d41b922f91b81dad222089079979db61890295bd20e02fdc7d8ccf34c569e328abc83b0127ab6a3ffead18f1e3172206fcf0a1b032dc899d142e64c7e5ef1316992f537bef6963f4304a5064d67e8bffb7a16ae165746cdddef21e531ab19fe2c03940ecc9462da340c138c70281800a3ebd6b4fc8b8a69d970c05d6b21c6a1f5cfb9c15cb7d00a4164ab5b1df6024db2de864b11faeeb265fd62fe86816ec9b3a676677e12e683f10addfd74f48b51e54ec405f43c491aaadfdf3db668a0c25706f97d64a4d09da46dceb85f8a9e832b9e2655447363c44dd7d5429518bb3b6534d9584be3f2ae767494210a60f0102818008bf7d8ee8aa91a651e171cd00d7cf3d1598ce8d7e996b7b8fdc9aebf42efe01acbe704d1ddaa95c4ca619ac517f5e96adeb33fb680a6f435910fca2651a5eb669f6179a22f8948ca6a0397e8df3b4071c44bfa0531ada631926837856a158f2de46046c89e2a969b34280bcc8047ec7ad270a4e5c221f6ec8fc6eaa0f51c05d028180083e0d97571b3ca817e899b3699cb4193d331b4ea9d53e2be2a5c81985f1b609d58c15ee596e736e5647c2a89d05c784836182f2874d83c8648dad4550ab51232e88017c82ec6ce8612e77f5842a5615bea94d116bf4ad1d0a478034a3da7a467522ce292fd30b1c5c0c51e0888dd4397d0708a216456935cb2de88398690320
Error = TooSmall
# RSA 2046-bit key that is valid, but we reject it because it is too small and
# because the private modulus length isn't a multiple of 512 bits.
Input = 308204b9020100300d06092a864886f70d0101010500048204a33082049f020100028201002d7374f1cd461fb28614fc8f5db38154717c8ec36f61528768ba78910d78042e4655566aa56d81de67247a85a153d14eaa651ff3e4082c6f67b587d7f94d4d2991c59aba31dcac192061811ca39e6cef73169df49283494eeb51d1f28f4438999f7222cf3fcf17955a155ad901c7e058737dda655a17d0a78ba9fb69783e33c208d63c9f9984a2c612994f515d5fd9d71b18439fba6b092d6f8c8562a0e2eea605a218b32e8f84c4dbb8667bd0a5ce88213966429211fe2fbad80f5ece4b70a4ebca26981e5a27d1468d7cfc9c67e6d6eb2c09b62cdceb8e75a4192fe68c15b579d7138ac710e76a63fa0866274c85f94ff5127930c1316def7e7532582bb6fd0203010001028201001e7efa7787b946695d87d5524897b9ee33db545b136fa4955092d574d629b1fc6e9ab1ca0ac7683d16cda61be57c3cd360874ba2345dbb9ae06630089cb0de564705e4648c323992fe640de26e724d3b78e83301b810b8ee67fc55374023912a9a8e5586e3948b895d91388ca4a23d087c2d748d4e9eee148d24779973e1a08e3ee60a3283d203ad4d1d8b92070f180dae0fdd0131735872b1e5a3bd6c25b02cf44c396b4b046ceca986e871d22c60b63f0ff6681b89554309dbc8a03ca1020e64d07e42a4831e326ba17ce44d0ec727c01b6832f07188e6b3c83a999e5d3922987350dfbd994883d3c841412c53eda5b9a131cd981f87a0991e2055749bf06d0281806d352d2ecf4b613356b19186c1d4a110910235213717edd29e1131516e2fce9b59f4ae2a9e2915bbe1a2f5f10c59ddb898ce7ebd1f2a38d7ec52baa3cca0162266a555ac4c8bf4c44a2e5f29449dad674067c37d3e1b84c978947f5ef96761c33d4845a04c2a7106f66868e71982b4c95585ad727e5feb8cbfd479b2c0b5b3630281806a8b553d7d109b1332b2f397bebdcfea592ca801f8abac7da8d3951cffd89615ed588369a16b33bbf256661f68f8397963c33ab3bcea2d2a7ecc7b4cabd0840145a704ea1a7c52eeef57cea22ab7ab4ffd470a6fd0ff6b285f9fa6f0720e10a5a75ebcf1f84cfa20d34db34e245460023ab3b2e1b7aa57dfb9f61c61d1cc6a1f0281805b3a4fdb49a9c3b21a5acda1cfebeafca6d63c41d9ff305980580665eaf11edbe1e2a757ccb5af853af162189263c3f780170802beb50bb53ca2c36d2ff40f697f6be04cc5c928988d0b7dcd4097a3929c57d2139ebd6848d164e39e182447a3cc5ec2632d1d4b3c30bd79dc8c10072c25383d7366a48466189dcb680ad9fed70281805ca34f774a41e1043d45d9856c64afde2cb12657a876e460d2253df6dc01dee5abdc154f07fa251e5ae482a0f6ed3553f5c92f464e9132ba4b4bd23d64fac57c31aaba1c2ef1404ede2e73cd0ee569ffffd200221f0fa685913748b8b202c6b8b2212e9a19721cdde3bc2096660233045d3417ea287ee52ef30b29bc67e59bb302818058ab3d6815ac06d311d3364f8da1ce2ec7616864f90cfd4051668669ceb4ec8e3eed35c83c48ff18595908e6d40f0017d14eb455bdd5c282b21fadb76be331e6bf66d50020775cead697cc62d07cfd14ad1d383afe3b3f7d0dbf181213ccd3df42e7e4481e653333debf7f5523a46722e1231327ba57374c4dc605b04822a7af
Error = PrivateModulusLenNotMultipleOf512Bits
# RSA 2047-bit key that is valid, but we reject it because the lengths of the
# private primes aren't equal, because it is too small, because the private
# modulus length isn't a multiple of 512 bits.
Input = 308204bc020100300d06092a864886f70d0101010500048204a6308204a2020100028201004edbbf2909ee78cc4ef9914eed0bb1ce5267ac3f141c69b288eda901f73e8e68d4184e8e62b23e10e8fe3da44a2ad6826825581b01741d5cee01964e2561d1ede3cf813eeec832b6aa43e31bfbfc9aa3181cf4d729860fa5bf6477d468374640cac16dbe2c82f8d61c1e3cec8e42a18cc1e3cbbaefe21b2c8490bf3f9dad6f90b9297d44a32899fd88fb9914f8843cc1600ce310d69ea52c9bf26bb9ff030b7a5b01e1809227f59e58a3531559f520028e50bf2e21af4fe53ac19685661d03c0ac75774cb518ffd85f778b16b254b83065bcb09dd4ff2e7e908aa1f90e1f99aa94336844ba04ac228b6edba3f1d2e602868ef042a8ad1f6bbc259ed86e5a06ad0203010001028201000c43318ba126bb141227cec7b626be6475fdf713ebfdab15ff22edc807796bcdb3458059b5d13fc383679d9041943dbd1392d30b88035559910d202150c0d0532cbca4bd73862014b58f4eee9815a4ba3dd2aae41669e95efdcf12af2df182742ad33f4c76417b8e57daffe04d12e16a30f04a4aec687d8f43a1fa8b5aea905182928441401bb9dc7946806b7f21aeda027974e32b08c8d31a60283f36b4fdfaac2763625e792b9dddceebb995a379989e39f79a5f07a26d4cb87504df0e4dc283cf44f0bdd7d313d33d0b1813b53e702e34c0788792ad72479563fbe0f7bfffb7033842ef62456d1d087399fb7e425bf92f78b438027f9a8c81305bbfde8fa102818100ced2d7908326a8085b5b05a46c7933c278bd6dc32e941b1fa5cf78db252ffda3bebe5e8a824f667af2c89d40cd299d23bc898926cf40365ce4c4d90c173dc372cf392d1ba6b9f92ec77d69e59aa37462e80afc75ed491a9ec07ae9464a478f4b3593f1e518271925d13cabcec9eb491257323b6500b2f15c3283dc43ca3e45b9028180619bc84ccbe7df0317658039047d6ed73b063946863498120e4bad94654fcf12447e00c4ee2bdb0017e2f62013ca193cd2de66ba69c54024db2e4233658d1cdd35fd98976d291ebc86bf77334871548c16403801380a5afd9ac3be64d177e80583ad4589371308e44c883b93f7711980e389c661e5673c875bb7feb1e010029502818100b1aec3911c8b664a9fa9882465288f462092a52ccce4629502cf46460721bea72164cd35f393a13839420e8f3072f2d453d258e8e59e85d5b29846dbb34fd58cd9e8860f3e62816825ec61c0e6e44c45f8920fa8846d8c981c46bc082e226241bbcad942f74807bbcc91720cdabdef6df949676b7379480fec3a0a4e96fe7ec90281802f38671147fff7b28e2a0b7b0a020892553ab090beb248f34b392f534023f900546444c90093f4d1b9bc91e778cb67a4363b63a541302cd4e7b81c4cb30f2e6c92070a400f8e3a11687ace16e02ffb7ffdefb968558d24f1d56267046d15be0894e8496095653f02fb4758d33f7cd6a2b4f15d28d50b398c1e420814535a4b7502818100cc6fb56fd8b7b3db0a4171c662a0d76efeada4ce0dbf5891b3b51d60efa31bb8f7e176417579bc35a751de444a9e3479307af73ac1ccf0458d81e021d1e4e33a5203c5d01e5e397ca26e62174ded0d310ca0c78685c17738783c9f06acd286f009a623cb4e651776ff9adad81a08299144c9ef4d07fd3ac1408d9c92c98d9379
Error = InconsistentComponents
# RSA 2049-bit key that is valid, but we reject it because the lengths of the
# private primes aren't equal and because the private modulus length isn't a
# multiple of 512 bits.
Input = 308204be020100300d06092a864886f70d0101010500048204a8308204a402010002820101019129387ed5eafe167c7c575ad391104cdb7ac95d25c2b0e3699a98f477de9729755574b112f552b28204480a061cf6a6360e0959000cb1b175301ee7d7accc82735c2388fb7bbf2673a309e25e2e4b26f046c9dfd858e78de52bd36991e0fc1a28f04b9ebdd6b0ab8da95b6467a7869b4e5a19dc1bc189b666729f7edb24a64965f53382ca45e20bb0a315439f7bead07a0bea88cf25a179e2aba7ee8584c1fa58e731246fcb4778e6f9ef455d0e50fc60c044f7745a4380b9f4c82dd4a64dae636461fd351f2e871477d801833bf44e7e4a7e08691776d263433c19d477290f1b844f0555c2995b22525b57681962332271a3cb522464c27989ab7c943f48e1020301000102820101011c7c6b00279bfa8cdfc31dffdf416499dc9bfae8ffba4dcf3838d677a7fa46a0b400e23c2101b09fbeec625a1973b8c6ae56cdf23bc2c4d0e0163c14963288e58a01b18197366e9c4a2d38f93b69010aa022d34ed71255439f5db11390cc487c14c4341c62ec3965af9486a7718ab03ebb15d278f18612af337fddf40c5cb53e46b99d7da4b7d8d9d586be8add8b0da6756a301155f2472b484c0ed8a23c052dcfe7ce40e99b6cae94edd41cc6a24fb5fda50b5ba3958cd3ccaa6aa2674cb9f492e208c8eb966f1d4d9b1c2a39efc324a41b562ebce4cbea0af06a6bdf19f4c45aed56efd9fd892ceeaa9abd3458c151a83a2b80075e1bab92b388a747baa64102818101aa9f633cbbe8135713302e9b0d22bfb7589c710a6516d25521550d98ee4b827183fe8351285387686d15abb3226813f5ec6367fd9138e2f5e5f248bacb3247219490092620f3660c4d7e091c5e61cbcd4992fc10441261aef9e80d4baa74f1fe9e7eb358c5098693954701a62c0309aecb7a32f0a763988d6b5fb26b5be8a07d02818100f0b8b228a6ef97211d25f0962132ec78ef48f99877d49d3b02e969a34b72eef8e289d0c99b8576d0e704ab27cb908b8c791ae9cba56340ceb9ab13436f6d19b07f1f485d8577b72f6bbc42b6edef6f9fe6dff28bbf790f26dae0c85f76689a440663372cf21f660cd860967b69d6ba491b58b7ad817eecb7f088df4053027b35028180265fd5e655a4a770b2aa27d70c946e984861320dd44ffc356a1d236ef92853a07056096bd86bc30752a09b642e991c0a87ebdd23c2d7521afa4713e1b17b614894fb6bc74139839961b30f90bcb0a14b62edd4bc85d2fd7466c847c1e1a0495034e382b05e70dfe91089658d93f1e602120d78dd8ac0fbace4d6a3cee2628765028181008155fb03348e4e59105c2e23bbbaacab5d858bf58b8cc4ddcbf6b5377376514790101409fe717b214abe8b675a4c536e2a3377a25f3e30b7e1b2352b6a56e812987aaa5af5371949754d355b2c0415a9885692eedaf5a45a70078e211c719f51254d717bc8ab6e1d40b4c4a5927c38a2c6faa7d5a55a18bdcb92fec084d934710281803e411557b7c0e6e6e296a1d0473b7bcf5f7a71d03c70bd6cadc3a9fb3a11cd0294dd02893ad1c28f62c20294d3893d6ac77baabf7772dd47be587893c79c8d66701c3037ceaec38088b500e2197994e048b1b357f8fffbbdbbdc94c0c82a7cac7ef0136cd6f7795355aeb3e4179eb2b363315f6ccb0a26434682adbbe7b6ce6b
Error = InconsistentComponents
# RSA 2050-bit key that is valid, but we reject it because the private modulus
# length isn't a multiple of 512 bits.
Input = 308204c0020100300d06092a864886f70d0101010500048204aa308204a60201000282010102c539e76a413401bebc36a0e09b5acfd299393605da7d25289d085a872fd761b2cf11787287b9c45d285b146e11d8a043c07049947e49f0e89791c99aafa2224d65dd8118067adeb1417e8fd3be306aa6001bdda425c89f691aa1b77ad2c6cdaa890fa764c541e74bf5e1571e7efbee69d1331d5d7544e15d2a7f21de27f268135fb7a4334d45e348d15de362ba649e5bc50cbff86a6775d5d9bdd75441eaaf3a4f4acd1a28cf3d81dd3749a460f87721a73e45adda47134634276c6acbc341fd9c96c4b7b3f6f74b22f93512a39fd4e77f330726d07728f7ae8246a7f2c50cd29625c1365825c8ad257213444ec6dfeef03350bca7091415a3505d5798dd37b7020301000102820101017d721734debcc9f37be725bfa7cebfd7d4f1204d25a609463eaf2f816609c1521a6c9b0b7e543b789f2bdd6115d81cda53b610dcfccf67f2b112880bda4aa98857313b2d60ced4d72112a0e8917218ea0f44ed804b920baacbd80e86d0b67c072c906ec794104e065cc845c2f1292ea15b12d2c8613a1abbb10f8f779ca493b38d5e704ce2644b3798e852d0371214a862b6636fe2d22d5f5c95b794b317438c14ebb28d9c90339f505c90c3fa6ad5430c163c067931df4523490906888f1ba4f55c07fdeb6fe77932b817eaee669f72988a09df346fbcd3abc3b0a6d60546ff52aa28405aa51d1dd83195be0ea21b7995a61a9bcd807d3b0683526b1f79eb8102818101b41a1d8a1fb22acb2f2a827655d9345de5c5c606761d99aa75116d1f50a432079ffce48dcfd9a1c2888b865c92f02a309520291b854759bcca9c4986b85f2c0817e9327bdb69d233f1dae5b52b5cd3f3797c672fcc7fcdf8feb57d2801dc3ca43e4cbac95b919270065a4c617e1e4f11d9a07c7eb87cf9ce7968a9819e79974502818101a05437ace086421b86c6dfc1e7f4ba18e4faeef9ed4d1cc4b6366fb5810ceb5610dc349852b340fea235b0af07adc76ff4ffb91fb73f75bcfd2328d20d6c6c099d4e6b1dd70e75c97e272e3984383657341a8b36978df2bbec2c557357a9bc46cad2703659631dee2df8a61e65841ec80c004adfa169fa0169d476b9253b74cb028181018c3759f53f3ce9a276f4e15950402a52d14af1d2b707c7b055f282393c5421dc49a043ab1057c39ef1de0a321b923652b37a67bec8457e2387d59cfbd891277926f84954bc9195587a798dd01f58947d16384fabded99332918024f8ef4fc08cdcc96bbf3c01b391324462370595d5f2facdd3ae7241a1d8d4f7a161d1b0d91d028181019e24c8b17f33ef0504e0466bd4bb1c787127b19c0ad41f9f0b0741be931e6fe850a34cea8db1e520a7e9b2d59a54e344dab99bc511fbddba5f319f84bc77b34d291f7decd4267d432febf7ce9d5971acf396c80f49599a321830cddc0c433b984c6063e19cafbd715667b7901b39ff88ce6f680be7bccd46a4a906650cc5855b028181009a8f419948a190615b84cd10ea337bfe5fa33b94d2ae506e153a20e6c006c831d025c2fee5a10f67e708631f98532417c2ce89146b279349f9defa5ace677dbf11a9dbffec36a42c0082a912422aa8f641fdc559393276ace5ce985937c3da09220210f381f60eac5cccd0858a8273045c42b96623aeb042d2419be434519dba
Error = PrivateModulusLenNotMultipleOf512Bits
# RSA 2056-bit key that is valid, but we reject it because the private modulus
# length isn't a multiple of 512 bits.
Input = 308204c1020100300d06092a864886f70d0101010500048204ab308204a70201000282010200ba546c668d1f047853f6d70ea45f0e51926bfff13167985f6bf6056b1d6254255458e4d2145dfb8fbcce9ccc1433da1d34804953487cd1b45b6c16c51f9c0d50cd0118684a96c8a2f6bf98b14ff417b1d591a4f125cfe04c6e6ee7472d45fbf791729824f2adac8edb9b7bd1c2540da03337369106a2b40de64d1f8ac5f106a3aeaf5eb05c25bda6f5d0e2aabcb5901b552559cc7f95fe46af048307f6b8ed954d205cb583d526b63914d1b9425ecc90d598d41c97297016130b1e5cd2c384a04132df6919dba22216b6f962cfbe03859ae0923145e1f60a92dc958f0b1bc12af3215659950a0d4cd28450b943244f37c6f5cc38e52aad4acd64ac4c933e737f4f0203010001028201012e4367e6ce833508eb500e75843a55c3cb2725952d3f1b8615b83000387b818903384f181a167baf64a1a82cc3975c408418961c2793563e01b504b24cf6e2177dcf17d04d34c2fc3367bef1c77843a9d3ed2596fa5c72c48766e1e5ba47f617b1f551f15a8fe49853ce771fcdb030f1e5c57fb6e27ee355d028b5fc2ec9796c83da05f851bcd5798b1b5b71c27a888f8203f5c642c59642f96ed30a62e028cd806a974e4ef3be34845feb67bd879e9eb6a8adbf0b8fd1d87df6e091c45e411c82f764a5e6469120345e39dc896b90b3b677d7d82139908437cd7695b29629cdcce2f23d75f6406039196963868d62a4de9c7b3f299393aa88d4221cef342205810281810e3f428717de170fd9a2a11fdd057211dd95ed2d39998986e064833a186f653018f8e5230ba9ee0f1ec40a5f7aaef80ff900ba71f8af297806780f0bf0a2584c95fc1b9e326cdcfd58dde68b9535d87128aff2920f01210ad57de059c673f0b34903276a02df0fe05b3521027e45907838ab4a7cb09a185fe4d80d5e5733aa9f3b0281810d1413d14b7fabc6ad1840d52a00ff6bb9346e3931289de591ee9772668dd12dee8d4ae0a7f6a808fb48ba2405df36d39842f3081cdbfbfa2e9111b2792964cb6c7959dc5a45dff89aa1b90f0f1bc4e4819d64b83e673937fe8a077895c6544e875e62c8ad4b9d2a1d4b1ea526458de103d2c8c9f95e077af2a39b63c4753e46fd02818107c50e2618a921109ed32765f6268b201d252f94d36ddd67b6267abe8b26ed1b3ef3361b57b813c121392ea30588387695888525b4c6ea29aff577d73e237b5e41099d9237d3d0ed45b2b691770d477de6ff959d7c1b5486d10975f9dfd5c8f62da24fb36bdf748c1991aeefea274bf3948c2df23469c5533ebd6905032f8524930281810a440f46436025031fce20ddf249b434e7bcdb24738cf15c498fa23b7f7aa48ecc69063490439224f2b264c2700585b0d41d014e05f13bba6721226618ab405e59786bec06c44089913f8ed6de422aec3f3dbfd8cbcb14e3fa1e78bcd3bc496316e924db67042a8aeb5192ed89bc21215671f7806b08bf106833ba7eb6b05d413502818105d0bd604f192d745e6f88e5194b2ef390dc4fa61c230a4862d3a12edb3db48178aee3ec577b156a3b0b1474d14e6a9c59276c21202c46410945c7ce6bcb72ab9c61e2c4bf97e3dd4ab47574aad5ca7e0f94698970c07b60ca268f11551dca945ffbbda1acba78d42e9616a6c7da464959c94b44918e6d41423a0ac9deb368efd3
Error = PrivateModulusLenNotMultipleOf512Bits
# RSA 2302-bit key that is valid, but we reject it because the private modulus
# length isn't a multiple of 512 bits.
Input = 30820549020100300d06092a864886f70d0101010500048205333082052f020100028201202e8314b5b60f188172bd5b0eacb60b94c15375e3df7fe733d523c37a8470acc8108ac1130301167dcdb2fd3c87f48cf8d1a597a3401cde1c64cd115be2f4f03d5cb8948137ea895b1558b8c836ca2bbe8c4376103a6c490e76fed580338a5da6230680855e6659354525fd3e91e7b238abdebb0a12bd8c52adb49b2eba187d87b577abfaeded16a26b8f2705313975f5214cdb0033e08f800c8d5baccdbee86c435882bdd599667ead13b59c9703f8d82c9bf122f70e80639d98f1559ef57e61cc63593ff0111fb7fde3cbd80531e351b41f258585e4e74afb4ec7793982de1d253ed1e479f6942c48f0d0d2674d3e65a547c11014ca924bb3b01401a7e507455a9de56bf9f74b0a752dca972b463b9113b6acdb0a1ebb9b297e496fca0a1597020301000102820120047c9c98d2d12df9fec9896926fc00adfee0403515304f6b4e9a3e9729037d8767211b72ec0d44d029f1a4401c9558abfffd4b5d7227d6bd42740dc2a168236ca7ef1e5440c29d316e23badf85798732c0711988833a42e9e44cbce7bb1113eb9ce159b083e4b7a24de356449cea8ee4ac9fb5c748fb83f7cdcde8525f9d512eb030b52465a34355b3ae81831cb6804c6a17f756956d9c674d3882b65996b27301f4f467478617432c2d4ddcdb14c77789f29a6c866a975c8c8128043a07535a05e40bc625ddcce0eb295cc3b3bfed4f5d5f6fa2bb84b5580b5ff54de7d601533909807c6497da7dd8c292d9bd247430a6000d00b7b02c3cf82d8faf9653b16dbc344b3e2a7e72461b26600720acd3baee6a11c381281e322e79a2088f543a01028190795c84579a2a729defe281fe5339696f8750942e49b4fc6809a66b628b17948242aa2afe65cf5044a8fca45c5794696085a6c20365df2d7d1b3458b47504a1baf869c61b16c7ea2433094905cbfe311d330d4da8fa81c8f86f6d756f5324931941095e832e0da7862fabefa9b48e8c58aa815654be07ab8c7ec4b739cb990efdbf5b9575fbcb3baec42df70060688917028190621cd2ca19189990fa6adf8f0b1f35385312c501415425094c58b7b6f8a9cc641c3b4b9053bb831622231f7be8b93895acdbc8caedf924e61727504579d6e1911e1346deaf471134aed767b2f4d9e879bc63813d7a9647496c29e1d0166b2fbfa0dfe9d93e7de982af3de427c342baaf3bd0212c386dc50c32f821ccf2059875c36df4437d74a64c94c7986672e9a78102819056eb7635afcadb1056f0e99d9749b54415ac1695186131ade9cb7179c09900da5298c1f63640c70285ed7c624eaf92d178a7b8a8ea5b6f9efcceff01301643274027b1a55129997e97b6fcbfd41c985c8b65e9cb2eafa99a9563d60a0788587a6be423f6dc13177ab9c5f0fea0bcbfb3f95a6cd480cdc985f47d3ba57f367e502aaf935a4f1e7dfe6baf680ab301ebbd028190104ba34307da0b1f86481beb813864b97f2abde7d076ee53d607623414a6f718a58bbfa8301013dca83cd72cd861732180fd5c2340554228a92dd16a48ab44f9ba5a0f4a4b286d962778057436b0bea9017e316809a54e1fc6c44a0a2abf10c62e2d2284ff992020a18491117d9fe6abd62e62641ad73884272f094625e88203053b8cf76cade43511fcf8b6035e0581028190575f40ae0aa97cf56c9f08f6b9e418caa562f9378a17ab36b8e6d503f3f4f975aeeccc162e8870a5942dd2ca8157a208faad72532a11e8f0d9bdf0ba38f91585f49f8b51927bab2fdd22bd99544897a08181e32fe7993173030a2c9fce6c219f44299c96137f9e060da72637546e6837c81cadeed9137f8f18ea5c24025f85a118404b8bdc86626ba24b05e081197390
Error = PrivateModulusLenNotMultipleOf512Bits
# RSA 2303-bit key that is valid, but we reject it because the private modulus
# length isn't a multiple of 512 bits and because the private primes aren't
# the same length.
Input = 3082054b020100300d06092a864886f70d010101050004820535308205310201000282012061ca8d93087a5eb0f9a4e5dd47f62651673943ba5f3cfd6aaecbe355e6f37b422d7cbb13fd0675bdb22cf0e5906a224a83701f3256a78f61ba294160cb212dd5a6b42bda1a8bbfb7b21863dcc8a7aaf2a473dc71a9371e8f16e5dc77b2c4025a69fd27c60c7123e33d8c8bd03398566fe99e7601378e4acd97235bdcba08e388107cfab48c0ac6cc713aa09be6eaa4173bebac4141fc8857e09cb136d9e994efdc5a42a2dd2cf0a15a8f67ab8bf2ca5bfe728bbdd06b1d1eaddfa238d28a857e1b376613cd2260bfa7905300af58f8a14e7ecf41fc31cabd45f7f4445bb00d86f15912bcb730216dfdc656b57b94ee5f5c8b3000ca80628713332028b6d48249174fc8a0bd0ec2917b76218764070ae24355c31eaf389d3403d802bf3dc42b7d0203010001028201205268fd0804a4033a871744b3471a93ce13fc392c4d683b73751cd357280ad63bbdd398604ee1ebc551eaf793ae3112f6d26f618aed65c5ba28c4ed98a1763387123651a23aaebc8114afe3304354b1064c3a6b72c9946ec74d17a6c4a4bcf3f2b7d1247c8d2da77daff7ca3749d3be3c0f977f80a50ddfd203e5435beed6e0d0607cc255f6927a57fdafd77baa8ce07caa191b77c5b2b725636fd252f9246c4d26d4734e472e3884a0c205ef9e947b8882f9b27d8b3e305231757826b900aed455252552af86a1cc0f9f405126272d4e86a5b3a4539fa4ec46d1737921ad5a47046a9b2e1fbf9e745e802155b2e8205286b78317d5855494aae4ce94874c527d21027d11979bcef23917eef81bbd3e1fcf7cb04f8b0f61083acb08d94ed990cd02819100e6c1fc3765e9c9eb83316e06bd2e910f04cf23aa7aa5d303001db15f93bfba4fe28f19205499035be6d2c224396c9d669897dedd6a8c4f399dcffdb8181078baddc34d159a10741384db2a1850b4242a8f63b16c5478b72fbc17efef4866a5ae156e4b6222c86c2f4e370a55c9690f20122f6cffb37a1aa71d848bb9b7b84116a511ba76dedf8743751b842fb140ca4f0281906c7d0b982df2ac5d289aa1925f65be3c562373fc8f19171b53d85ffc4989cd30442175e423d4c106cd00e64f3108fe3f8cb3dd8eff6fd380334baa0e4372d98755a82c6d02e63443eb5020dcc2ce6e452bb6c7434a9758f1cb33b9ce6148a4bed5f042da4a14cbe83d161c26450b8c2f0fe4267d7ef0499b4c7b6407aa7e66f2d1ff5724a01ace5d30a3bc0bb2319673028191009c9e73122290b024b2119d8ce36034c24dd04d73caf4bba860aec69189556b1e07367aa64fe4debbc489ad8d2a9086b078c73353729ab2b6f75e90e51f2826d925e5056fb0f693e21f9d251005ce8e71788b0083f73d4b901188e9a7adab45ae470b6a0cbc70edc499c08fba340ea35e70195250a6bf2c51da9df8bbdf6f267639293436b40460e92f15b2fd2fc03acf028190157424f6d31f4a36a1f0f2429fdadee3cfa4f32adea177904fe45a16e9f3f63fb53968b6d4df1dccda7d730df6047142dff031c0358347aff274e40c2e0a6839fb1666b2a8001e15d052e82cbfd952b51b0fea17c488696e6760b33dbcbf40d4fc39a6fec3e798eb34294b27c63fa2592c2b51f13f49054550ba95ed6e29d0f1f3d52ac67362d9ac54120cfdc31f4b410281901ee70df154d97ae00935532cfdb43c4464bfdd0d6f76712fec6ae76f2a08f37f48eb2d54a341c023a1f79b143414f79479f5ace419ebca650a133fd6fa599dc3754851e04a5128bc007cccb1116339844861beacb1ab660ab629fcf0ed70ec41368324848f9fedc296c7104811b85141dfda4e7a51af43483e133d557c906b75590dea5480c2a3b7ad881ae6de3047f3
Error = InconsistentComponents
# RSA 2304-bit key that is valid, but we reject it because the private modulus
# length isn't a multiple of 512 bits.
Input = 3082054f020100300d06092a864886f70d010101050004820539308205350201000282012100cd1d23382a2db0444fdac845b1645182df1ae59d14830e6e4fa41ffff1c1dbcb63e8cebcbd8e643702ef0ab6953d65d9e3138509d5be4fdd15aaff1ccd7d34619ce713bdac14838d4a25fb561c6521992ed523158b538eb9dccc902a7955c5f568e6652fa6296370d589b5acc0ec1cbd110b2506ab73d2c9180c77be49cc8c27c4b06e4a102c60414129ed8644e613735a1f8f5ef874a50ca7dd6c42cf5f90ae745d59cfd4b47bb3c8d86a0c5aad1d7f306343f8b12fbc3ebfda03a59a638dfaa519e241c0fe728322df643cf20eb85134ea7625b8414029ff89fa44b4d8955c43382dc574bffefe4a5f3de5908a4d220d525e85b5774380b244ecf667014786c14cf53517c5f15179435c81e97e46e83c20c21e5ac8922544f1c39bb20571b302030100010282012100878559f0d10570f221a4d7301cfdc0516ce193964ea82ccfbbb52023767374aa94af8c70edf977c3551fe57f2f69eab2a4b30ff2a893dea69f9b64857e4bdc61264f131efde46beadd73ecf53f3b9e905c7e1c792e9e1dae35f1becb217207a29715ab036990ed0fef36d69f76b44a64ad2f24de9c47a19c96541e85ceb2e4639e34481a8d4714ade8c53017c7cc104ab6b0df5e2100f42af6ee1a8edadd726f3303321b9d697740b9ae11cad24f5a9edd3dfe5eedeb03eb5322c7725dde8162cc1b5c4bd56e07fdbba2b75b414efe84ac12885350928d2f859e2803261a6f449f92810eda199fcf279e780e2c47aa119a7b0d7b7729a0a0067f3d648db50673042a27f2f714d335c9aa022a2f51b9752dbddaffe039f5ba2a9736aed89cb3c902819100f0e35612fbec84c21e07de8f8a7f1c82bc1fe9d4e487929d88c925c352750dd4ef5bfeeae293f44437d3da88cd377a3926f621f1d92ec2f5b56775fc4a234ef1083ce3fc309bf6974758891e3b4d5d790d84d22b839adbe2d538668843d962a9ccb761a2f7d1329643796fdbbffb9d2a3b06f31a62f6ea24ba96e7f827cb66c4ceb763aa036906cfd126547d18b57e5f02819100d9fb446655a1eff75331b259824d3f1e1e845d3d6f385bba360424ae08ac55beef743b6aebc5f4028dc218d5eb5c31bbfc53a0035e7951ba9014c8e4e6ede6d21763272770058cb8ecb7d995f6ec9cb34c8cd63455eb832ca13783ec52bd789ce47010f141d3364fd6230aabb0045596680225fef8f0e7148c1d52ff630be6bca36ca3cf996507ee3e2b6d618a35a52d028190767d8d0067954f34612b43c9ddb96adfd003eeb47ef9452062817726ddefa02f26d25cd15344adf9c4705c65c0745295bc598416ffdae5a1916ae3f986ca59716cb8eef8453ce28e45550295b15bfbe7a8c3b5d21bb95801fb19f42d811a7452cbd5449cb243e01b53f36f176c172b96f35416cedaf153f95f230dd5de554a26f2fbf8754f9a20f4a68fb12d9bb2e307028191008319d431981f252c232528971cff488edcdbcf183be43186f525d8c9b2fdb3347adff53c81413558b3d9a10647dfd329b4c0b6e44fd5b789f54e0ae560de848ca6f443803ca799d33ecbf4597581295dcd14876042acbae004b656e9b379b128eb5b5b553eb9c15892f9d059222bf92dd4b03619fbaf27cbfbd94729c2704dfdf66c48b97b10808c91679d09a50e4ea102819100835e751035519d3a6c0a6cddfa73d928b5ea0c51eb7ba44c34ddf148edb1971e436c1438ba996c114f0a545bdf3cae1be3da1ecbc6859fac3ce04a7b1beac6c19e5f032ecc7cd9e96e8e6fc2241911f90ef0a26b1c8b9df24e324690f6be4d904a7070d9424120b65c8ebd733a97817f943d4c697dd931e66c8a5eb0bf54d813e0df978828897bfe304cdb799728cdc5
Error = PrivateModulusLenNotMultipleOf512Bits
# A valid ECC P-256 key.
Input = 308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b0201010420090460075f15d2a256248000fb02d83ad77593dde4ae59fc5e96142dffb2bd07a14403420004cf0d13a3a7577231ea1b66cf4021cd54f21f4ac4f5f2fdd28e05bc7d2bd099d1374cd08d2ef654d6f04498db462f73e0282058dd661a4c9b0437af3f7af6e724
Error = WrongAlgorithm
# An RSAPrivateKey, but with an AlgorithmIdentifier of ecPublicKey w/ P-256.
Input = 308189020100301306072A8648CE3D020106082A8648CE3D0301070500046d306b0201010420090460075f15d2a256248000fb02d83ad77593dde4ae59fc5e96142dffb2bd07a14403420004cf0d13a3a7577231ea1b66cf4021cd54f21f4ac4f5f2fdd28e05bc7d2bd099d1374cd08d2ef654d6f04498db462f73e0282058dd661a4c9b0437af3f7af6e724
Error = WrongAlgorithm
# The AlgorithmIdentifier is rsaEncryption, but it contains a P-256 ECPrivateKey.
# TODO: This should be "InvalidEncoding"; that would require delaying the version
# validation until more parsing is done.
Input = 308181020100300d06092a864886f70d0101010500046d306b0201010420090460075f15d2a256248000fb02d83ad77593dde4ae59fc5e96142dffb2bd07a14403420004cf0d13a3a7577231ea1b66cf4021cd54f21f4ac4f5f2fdd28e05bc7d2bd099d1374cd08d2ef654d6f04498db462f73e0282058dd661a4c9b0437af3f7af6e724
Error = VersionNotSupported