Adam Langley | e9ada86 | 2015-05-11 17:20:37 -0700 | [diff] [blame] | 1 | # Public key algorithm tests |
| 2 | |
| 3 | # Private keys used for PKEY operations. |
| 4 | |
| 5 | # RSA 2048 bit key. |
| 6 | |
| 7 | PrivateKey = RSA-2048 |
| 8 | -----BEGIN PRIVATE KEY----- |
| 9 | MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDNAIHqeyrh6gbV |
| 10 | n3xz2f+5SglhXC5Lp8Y2zvCN01M+wxhVJbAVx2m5mnfWclv5w1Mqm25fZifV+4UW |
| 11 | B2jT3anL01l0URcX3D0wnS/EfuQfl+Mq23+d2GShxHZ6Zm7NcbwarPXnUX9LOFlP |
| 12 | 6psF5C1a2pkSAIAT5FMWpNm7jtCGuI0odYusr5ItRqhotIXSOcm66w4rZFknEPQr |
| 13 | LR6gpLSALAvsqzKPimiwBzvbVG/uqYCdKEmRKzkMFTK8finHZY+BdfrkbzQzL/h7 |
| 14 | yrPkBkm5hXeGnaDqcYNT8HInVIhpE2SHYNEivmduD8SD3SD/wxvalqMZZsmqLnWt |
| 15 | A95H4cRPAgMBAAECggEAYCl6x5kbFnoG1rJHWLjL4gi+ubLZ7Jc4vYD5Ci41AF3X |
| 16 | ziktnim6iFvTFv7x8gkTvArJDWsICLJBTYIQREHYYkozzgIzyPeApIs3Wv8C12cS |
| 17 | IopwJITbP56+zM+77hcJ26GCgA2Unp5CFuC/81WDiPi9kNo3Oh2CdD7D+90UJ/0W |
| 18 | glplejFpEuhpU2URfKL4RckJQF/KxV+JX8FdIDhsJu54yemQdQKaF4psHkzwwgDo |
| 19 | qc+yfp0Vb4bmwq3CKxqEoc1cpbJ5CHXXlAfISzUjlcuBzD/tW7BDtp7eDAcgRVAC |
| 20 | XO6MX0QBcLYSC7SOD3R7zY9SIRCFDfBDxCjf0YcFMQKBgQD2+WG0fLwDXTrt68fe |
| 21 | hQqVa2Xs25z2B2QGPxWqSFU8WNly/mZ1BW413f3De/O58vYi7icTNyVoScm+8hdv |
| 22 | 6PfD+LuRujdN1TuvPeyBTSvewQwf3IjN0Wh28mse36PwlBl+301C/x+ylxEDuJjK |
| 23 | hZxCcocIaoQqtBC7ac8tNa9r4wKBgQDUfnJKf/QQSLJwwlJKQQGHi3MVm7c9PbwY |
| 24 | eyIOY1s1NPluJDoYTZP4YLa/u2txwe2aHh9FhYMCPDAelqaSwaCLU9DsnKkQEA2A |
| 25 | RR47fcagG6xK7O+N95iEa8I1oIy7os9MBoBMwRIZ6VYIxxTj8UMNSR+tu6MqV1Gg |
| 26 | T5d0WDTJpQKBgCHyRSu5uV39AoyRS/eZ8cp36JqV1Q08FtOE+EVfi9evnrPfo9WR |
| 27 | 2YQt7yNfdjCo5IwIj/ZkLhAXlFNakz4el2+oUJ/HKLLaDEoaCNf883q6rh/zABrK |
| 28 | HcG7sF2d/7qhoJ9/se7zgjfZ68zHIrkzhDbd5xGREnmMJoCcGo3sQyBhAoGAH3UQ |
| 29 | qmLC2N5KPFMoJ4H0HgLQ6LQCrnhDLkScSBEBYaEUA/AtAYgKjcyTgVLXlyGkcRpg |
| 30 | esRHHr+WSBD5W+R6ReYEmeKfTJdzyDdzQE9gZjdyjC0DUbsDwybIu3OnIef6VEDq |
| 31 | IXK7oUZfzDDcsNn4mTDoFaoff5cpqFfgDgM43VkCgYBNHw11b+d+AQmaZS9QqIt7 |
| 32 | aF3FvwCYHV0jdv0Mb+Kc1bY4c0R5MFpzrTwVmdOerjuuA1+9b+0Hwo3nBZM4eaBu |
| 33 | SOamA2hu2OJWCl9q8fLCT69KqWDjghhvFe7c6aJJGucwaA3Uz3eLcPqoaCarMiNH |
| 34 | fMkTd7GabVourqIZdgvu1Q== |
| 35 | -----END PRIVATE KEY----- |
| 36 | |
| 37 | # EC P-256 key |
| 38 | |
| 39 | PrivateKey = P-256 |
| 40 | -----BEGIN PRIVATE KEY----- |
| 41 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgiocvtiiTxNH/xbnw |
| 42 | +RdYBp+DUuCPoFpJ+NuSbLVyhyWhRANCAAQsFQ9CnOcPIWwlLPXgYs4fY5zV0WXH |
| 43 | +JQkBywnGX14szuSDpXNtmTpkNzwz+oNlOKo5q+dDlgFbmUxBJJbn+bJ |
| 44 | -----END PRIVATE KEY----- |
| 45 | |
| 46 | # RSA tests |
| 47 | |
| 48 | Sign = RSA-2048 |
| 49 | Digest = SHA1 |
| 50 | Input = "0123456789ABCDEF1234" |
| 51 | Output = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad |
| 52 | |
| 53 | Verify = RSA-2048 |
| 54 | Digest = SHA1 |
| 55 | Input = "0123456789ABCDEF1234" |
| 56 | Output = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad |
| 57 | |
| 58 | # Digest too long |
| 59 | Sign = RSA-2048 |
| 60 | Digest = SHA1 |
| 61 | Input = "0123456789ABCDEF12345" |
| 62 | Output = |
| 63 | Error = INVALID_DIGEST_LENGTH |
| 64 | |
| 65 | # Digest too short |
| 66 | Sign = RSA-2048 |
| 67 | Digest = SHA1 |
| 68 | Input = "0123456789ABCDEF12345" |
| 69 | Output = |
| 70 | Error = INVALID_DIGEST_LENGTH |
| 71 | |
| 72 | # Mismatched digest |
| 73 | Verify = RSA-2048 |
| 74 | Digest = SHA1 |
| 75 | Input = "0123456789ABCDEF1233" |
| 76 | Output = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ad |
| 77 | Error = BAD_SIGNATURE |
| 78 | |
| 79 | # Corrupted signature |
| 80 | Verify = RSA-2048 |
| 81 | Digest = SHA1 |
| 82 | Input = "0123456789ABCDEF1233" |
| 83 | Output = c09d402423cbf233d26cae21f954547bc43fe80fd41360a0336cfdbe9aedad05bef6fd2eaee6cd60089a52482d4809a238149520df3bdde4cb9e23d9307b05c0a6f327052325a29adf2cc95b66523be7024e2a585c3d4db15dfbe146efe0ecdc0402e33fe5d40324ee96c5c3edd374a15cdc0f5d84aa243c0f07e188c6518fbfceae158a9943be398e31097da81b62074f626eff738be6160741d5a26957a482b3251fd85d8df78b98148459de10aa93305dbb4a5230aa1da291a9b0e481918f99b7638d72bb687f97661d304ae145d64a474437a4ef39d7b8059332ddeb07e92bf6e0e3acaf8afedc93795e4511737ec1e7aab6d5bc9466afc950c1c17b48ae |
| 84 | Error = BLOCK_TYPE_IS_NOT_01 |
| 85 | |
| 86 | # parameter missing (NOTE: this differs from upstream) |
| 87 | Verify = RSA-2048 |
| 88 | Digest = SHA1 |
| 89 | Input = "0123456789ABCDEF1234" |
| 90 | Output = 3ec3fc29eb6e122bd7aa361cd09fe1bcbe85311096a7b9e4799cedfb2351ce0ab7fe4e75b4f6b37f67edd9c60c800f9ab941c0c157d7d880ca9de40c951d60fd293ae220d4bc510b1572d6e85a1bbbd8605b52e05f1c64fafdae59a1c2fbed214b7844d0134619de62851d5a0522e32e556e5950f3f97b8150e3f0dffee612c924201c27cd9bc8b423a71533380c276d3d59fcba35a2e80a1a192ec266a6c2255012cd86a349fe90a542b355fa3355b04da6cdf1df77f0e7bd44a90e880e1760266d233e465226f5db1c68857847d82072861ee266ddfc2e596845b77e1803274a579835ab5e4975d81d20b7df9cec7795489e4a2bdb8c1cf6a6b359945ac92c |
| 91 | Error = BAD_SIGNATURE |
| 92 | |
| 93 | # embedded digest too long |
| 94 | Verify = RSA-2048 |
| 95 | Digest = SHA1 |
| 96 | Input = "0123456789ABCDEF1234" |
| 97 | Output = afec9a0d5330a08f54283bb4a9d4e7e7e70fc1342336c4c766fba713f66970151c6e27413c48c33864ea45a0238787004f338ed3e21b53b0fe9c1151c42c388cbc7cba5a06b706c407a5b48324fbe994dc7afc3a19fb3d2841e66222596c14cd72a0f0a7455a019d8eb554f59c0183f9552b75aa96fee8bf935945e079ca283d2bd3534a86f11351f6d6181fbf433e5b01a6d1422145c7a72214d3aacdd5d3af12b2d6bf6438f9f9a64010d8aeed801c87f0859412b236150b86a545f7239be022f4a7ad246b59df87514294cb4a4c7c5a997ee53c66054d9f38ca4e76c1f7af83c30f737ef70f83a45aebe18238ddb95e1998814ca4fc72388f1533147c169d |
| 98 | Error = BAD_SIGNATURE |
| 99 | |
| 100 | # embedded digest too short |
| 101 | Verify = RSA-2048 |
| 102 | Digest = SHA1 |
| 103 | Input = "0123456789ABCDEF1234" |
| 104 | Output = afec9a0d5330a08f54283bb4a9d4e7e7e70fc1342336c4c766fba713f66970151c6e27413c48c33864ea45a0238787004f338ed3e21b53b0fe9c1151c42c388cbc7cba5a06b706c407a5b48324fbe994dc7afc3a19fb3d2841e66222596c14cd72a0f0a7455a019d8eb554f59c0183f9552b75aa96fee8bf935945e079ca283d2bd3534a86f11351f6d6181fbf433e5b01a6d1422145c7a72214d3aacdd5d3af12b2d6bf6438f9f9a64010d8aeed801c87f0859412b236150b86a545f7239be022f4a7ad246b59df87514294cb4a4c7c5a997ee53c66054d9f38ca4e76c1f7af83c30f737ef70f83a45aebe18238ddb95e1998814ca4fc72388f1533147c169d |
| 105 | Error = BAD_SIGNATURE |
| 106 | |
| 107 | # Garbage after DigestInfo |
| 108 | Verify = RSA-2048 |
| 109 | Digest = SHA1 |
| 110 | Input = "0123456789ABCDEF1234" |
| 111 | Output = 9ee34872d4271a7d8808af0a4052a145a6d6a8437d00da3ed14428c7f087cd39f4d43334c41af63e7fa1ba363fee7bcef401d9d36a662abbab55ce89a696e1be0dfa19a5d09ca617dd488787b6048baaefeb29bc8688b2fe3882de2b77c905b5a8b56cf9616041e5ec934ba6de863efe93acc4eef783fe7f72a00fa65d6093ed32bf98ce527e62ccb1d56317f4be18b7e0f55d7c36617d2d0678a306e3350956b662ac15df45215dd8f6b314babb9788e6c272fa461e4c9b512a11a4b92bc77c3a4c95c903fccb238794eca5c750477bf56ea6ee6a167367d881b485ae3889e7c489af8fdf38e0c0f2aed780831182e34abedd43c39281b290774bf35cc25274 |
| 112 | Error = BAD_SIGNATURE |
| 113 | |
| 114 | # invalid tag for parameter |
| 115 | Verify = RSA-2048 |
| 116 | Digest = SHA1 |
| 117 | Input = "0123456789ABCDEF1234" |
| 118 | Output = 49525db4d44c755e560cba980b1d85ea604b0e077fcadd4ba44072a3487bbddb835016200a7d8739cce2dc3223d9c20cbdd25059ab02277f1f21318efd18e21038ec89aa9d40680987129e8b41ba33bceb86518bdf47268b921cce2037acabca6575d832499538d6f40cdba0d40bd7f4d8ea6ca6e2eec87f294efc971407857f5d7db09f6a7b31e301f571c6d82a5e3d08d2bb3a36e673d28b910f5bec57f0fcc4d968fd7c94d0b9226dec17f5192ad8b42bcab6f26e1bea1fdc3b958199acb00f14ebcb2a352f3afcedd4c09000128a603bbeb9696dea13040445253972d46237a25c7845e3b464e6984c2348ea1f1210a9ff0b00d2d72b50db00c009bb39f9 |
| 119 | Error = BAD_SIGNATURE |
| 120 | |
| 121 | # EC tests |
| 122 | |
| 123 | Verify = P-256 |
| 124 | Digest = SHA1 |
| 125 | Input = "0123456789ABCDEF1234" |
| 126 | Output = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8 |
| 127 | |
| 128 | # Digest too long |
| 129 | Verify = P-256 |
| 130 | Digest = SHA1 |
| 131 | Input = "0123456789ABCDEF12345" |
| 132 | Output = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8 |
| 133 | # This operation fails without an error code, so ERR_R_EVP_LIB is surfaced. |
| 134 | Error = public key routines |
| 135 | |
| 136 | # Digest too short |
| 137 | Verify = P-256 |
| 138 | Digest = SHA1 |
| 139 | Input = "0123456789ABCDEF123" |
| 140 | Output = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8 |
| 141 | # This operation fails without an error code, so ERR_R_EVP_LIB is surfaced. |
| 142 | Error = public key routines |
| 143 | |
| 144 | # Digest invalid |
| 145 | Verify = P-256 |
| 146 | Digest = SHA1 |
| 147 | Input = "0123456789ABCDEF1235" |
| 148 | Output = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec8 |
| 149 | # This operation fails without an error code, so ERR_R_EVP_LIB is surfaced. |
| 150 | Error = public key routines |
| 151 | |
| 152 | # Invalid signature |
| 153 | Verify = P-256 |
| 154 | Digest = SHA1 |
| 155 | Input = "0123456789ABCDEF1234" |
| 156 | Output = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec7 |
| 157 | # This operation fails without an error code, so ERR_R_EVP_LIB is surfaced. |
| 158 | Error = public key routines |
| 159 | |
| 160 | # Garbage after signature |
| 161 | Verify = P-256 |
| 162 | Digest = SHA1 |
| 163 | Input = "0123456789ABCDEF1234" |
| 164 | Output = 3045022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec800 |
| 165 | # This operation fails without an error code, so ERR_R_EVP_LIB is surfaced. |
Kenny Root | b849459 | 2015-09-25 02:29:14 +0000 | [diff] [blame^] | 166 | Error = BAD_SIGNATURE |
Adam Langley | e9ada86 | 2015-05-11 17:20:37 -0700 | [diff] [blame] | 167 | |
| 168 | # BER signature |
| 169 | Verify = P-256 |
| 170 | Digest = SHA1 |
| 171 | Input = "0123456789ABCDEF1234" |
| 172 | Output = 3080022100b1d1cb1a577035bccdd5a86c6148c2cc7c633cd42b7234139b593076d041e15202201898cdd52b41ca502098184b409cf83a21bc945006746e3b7cea52234e043ec80000 |
Kenny Root | b849459 | 2015-09-25 02:29:14 +0000 | [diff] [blame^] | 173 | Error = BAD_SIGNATURE |