| Index: content/test/data/webcrypto/bad_rsa_keys.json
|
| diff --git a/content/test/data/webcrypto/bad_rsa_keys.json b/content/test/data/webcrypto/bad_rsa_keys.json
|
| index 08b1fbe427352bf4db9d0f82961fd48326e81ec7..31567bfa47afab0d1bce3e9d2e9aa5ce4dc40727 100644
|
| --- a/content/test/data/webcrypto/bad_rsa_keys.json
|
| +++ b/content/test/data/webcrypto/bad_rsa_keys.json
|
| @@ -111,5 +111,109 @@
|
| "format": "pkcs8",
|
| "data": "618333c4cb",
|
| "error": "DataError"
|
| + },
|
| +
|
| + // RSA private key with some optional parameters missing (q, dp, dq, qi).
|
| + //
|
| + // The only optional parameter included is "p".
|
| + //
|
| + // This fails because JWA says that producers must include either ALL optional
|
| + // parameters or NONE.
|
| + {
|
| + "format": "jwk",
|
| + "data": {
|
| + "kty": "RSA",
|
| + "n": "pW5KDnAQF1iaUYfcfqhB0Vby7A42rVKkTf6x5h962ZHYxRBW_-2xYrTA8oOhKoijlN_1JqtykcuzB86r_OCx39XNlQgJbVsri2311nHvY3fAkhyyPCcKcOJZjm_4nRnxBazC0_DLNfKSgOE4a29kxO8i4eHyDQzoz_siSb2aITc",
|
| + "e": "AQAB",
|
| + "d": "M6UEKpCyfU9UUcqbu9C0R3GhAa-IQ0Cu-YhfKku-kuiUpySsPFaMj5eFOtB8AmbIxqPKCSnx6PESMYhEKfxNmuVf7olqEM5wfD7X5zTkRyejlXRQGlMmgxCcKrrKuig8MbS9L1PD7jfjUs7jT55QO9gMBiKtecbc7og1R8ajsyU",
|
| + "p": "5-iUJyCod1Fyc6NWBT6iobwMlKpy1VxuhilrLfyWeUjApyy8zKfqyzVwbgmh31WhU1vZs8w0Fgs7bc0-2o5kQw"
|
| + },
|
| + "error": "DataError: The required JWK property \"q\" was missing"
|
| + },
|
| +
|
| + // RSA private key without any of the optional parameters.
|
| + //
|
| + // According to JWA, such keys are valid, but applications SHOULD
|
| + // include all the parameters when sending, and recipients MAY
|
| + // accept them, but are not required to. Chromium's WebCrypto does
|
| + // not allow such degenerate keys.
|
| + {
|
| + "format": "jwk",
|
| + "data": {
|
| + "kty": "RSA",
|
| + "n": "pW5KDnAQF1iaUYfcfqhB0Vby7A42rVKkTf6x5h962ZHYxRBW_-2xYrTA8oOhKoijlN_1JqtykcuzB86r_OCx39XNlQgJbVsri2311nHvY3fAkhyyPCcKcOJZjm_4nRnxBazC0_DLNfKSgOE4a29kxO8i4eHyDQzoz_siSb2aITc",
|
| + "e": "AQAB",
|
| + "d": "M6UEKpCyfU9UUcqbu9C0R3GhAa-IQ0Cu-YhfKku-kuiUpySsPFaMj5eFOtB8AmbIxqPKCSnx6PESMYhEKfxNmuVf7olqEM5wfD7X5zTkRyejlXRQGlMmgxCcKrrKuig8MbS9L1PD7jfjUs7jT55QO9gMBiKtecbc7og1R8ajsyU"
|
| + },
|
| + "error": "DataError: The required JWK property \"p\" was missing"
|
| + },
|
| +
|
| + // Public RSA key whose exponent contains leading zeros.
|
| + {
|
| + "format": "jwk",
|
| + "data": {
|
| + "kty": "RSA",
|
| + // 00 01 00 01
|
| + "e": "AAEAAQ",
|
| + "n": "qLOyhK-OtQs4cDSoYPFGxJGfMYdjzWxVmMiuSBGh4KvEx-CwgtaTpef87Wdc9GaFEncsDLxkp0LGxjD1M8jMcvYq6DPEC_JYQumEu3i9v5fAEH1VvbZi9cTg-rmEXLUUjvc5LdOq_5OuHmtme7PUJHYW1PW6ENTP0ibeiNOfFvs"
|
| + },
|
| + "error": "DataError: The JWK \"e\" property contained a leading zero."
|
| + },
|
| +
|
| +
|
| + // Corrupted PKCS8 (byte index 50 was inverted, which is inside of "n")
|
| + {
|
| + "format": "pkcs8",
|
| + "data": "30820275020100300D06092A864886F70D01010105000482025F3082025B02010002818100A56E4A0E701017589A5187DC7E5741D156F2EC0E36AD52A44DFEB1E61F7AD991D8C51056FFEDB162B4C0F283A12A88A394DFF526AB7291CBB307CEABFCE0B1DFD5CD9508096D5B2B8B6DF5D671EF6377C0921CB23C270A70E2598E6FF89D19F105ACC2D3F0CB35F29280E1386B6F64C4EF22E1E1F20D0CE8CFFB2249BD9A2137020301000102818033A5042A90B27D4F5451CA9BBBD0B44771A101AF884340AEF9885F2A4BBE92E894A724AC3C568C8F97853AD07C0266C8C6A3CA0929F1E8F11231884429FC4D9AE55FEE896A10CE707C3ED7E734E44727A39574501A532683109C2ABACABA283C31B4BD2F53C3EE37E352CEE34F9E503BD80C0622AD79C6DCEE883547C6A3B325024100E7E8942720A877517273A356053EA2A1BC0C94AA72D55C6E86296B2DFC967948C0A72CBCCCA7EACB35706E09A1DF55A1535BD9B3CC34160B3B6DCD3EDA8E6443024100B69DCA1CF7D4D7EC81E75B90FCCA874ABCDE123FD2700180AA90479B6E48DE8D67ED24F9F19D85BA275874F542CD20DC723E6963364A1F9425452B269A6799FD024028FA13938655BE1F8A159CBACA5A72EA190C30089E19CD274A556F36C4F6E19F554B34C077790427BBDD8DD3EDE2448328F385D81B30E8E43B2FFFA02786197902401A8B38F398FA712049898D7FB79EE0A77668791299CDFA09EFC0E507ACB21ED74301EF5BFD48BE455EAEB6E1678255827580A8E4E8E14151D1510A82A3F2E729024027156ABA4126D24A81F3A528CBFB27F56886F840A9F6E86E17A44B94FE9319584B8E22FDDE1E5A2E3BD8AA5BA8D8584194EB2190ACF832B847F13A3D24A79F4D",
|
| + "error": "DataError"
|
| + },
|
| +
|
| + // Corrupted PKCS8 (byte index 168 was inverted, which is inside of "e")
|
| + {
|
| + "format": "pkcs8",
|
| + "data": "30820275020100300D06092A864886F70D01010105000482025F3082025B02010002818100A56E4A0E701017589A5187DC7EA841D156F2EC0E36AD52A44DFEB1E61F7AD991D8C51056FFEDB162B4C0F283A12A88A394DFF526AB7291CBB307CEABFCE0B1DFD5CD9508096D5B2B8B6DF5D671EF6377C0921CB23C270A70E2598E6FF89D19F105ACC2D3F0CB35F29280E1386B6F64C4EF22E1E1F20D0CE8CFFB2249BD9A2137020301FF0102818033A5042A90B27D4F5451CA9BBBD0B44771A101AF884340AEF9885F2A4BBE92E894A724AC3C568C8F97853AD07C0266C8C6A3CA0929F1E8F11231884429FC4D9AE55FEE896A10CE707C3ED7E734E44727A39574501A532683109C2ABACABA283C31B4BD2F53C3EE37E352CEE34F9E503BD80C0622AD79C6DCEE883547C6A3B325024100E7E8942720A877517273A356053EA2A1BC0C94AA72D55C6E86296B2DFC967948C0A72CBCCCA7EACB35706E09A1DF55A1535BD9B3CC34160B3B6DCD3EDA8E6443024100B69DCA1CF7D4D7EC81E75B90FCCA874ABCDE123FD2700180AA90479B6E48DE8D67ED24F9F19D85BA275874F542CD20DC723E6963364A1F9425452B269A6799FD024028FA13938655BE1F8A159CBACA5A72EA190C30089E19CD274A556F36C4F6E19F554B34C077790427BBDD8DD3EDE2448328F385D81B30E8E43B2FFFA02786197902401A8B38F398FA712049898D7FB79EE0A77668791299CDFA09EFC0E507ACB21ED74301EF5BFD48BE455EAEB6E1678255827580A8E4E8E14151D1510A82A3F2E729024027156ABA4126D24A81F3A528CBFB27F56886F840A9F6E86E17A44B94FE9319584B8E22FDDE1E5A2E3BD8AA5BA8D8584194EB2190ACF832B847F13A3D24A79F4D",
|
| + "error": "DataError"
|
| + },
|
| +
|
| + // Corrupted PKCS8 (byte index 175 was inverted, which is inside of "d")
|
| + {
|
| + "format": "pkcs8",
|
| + "data": "30820275020100300D06092A864886F70D01010105000482025F3082025B02010002818100A56E4A0E701017589A5187DC7EA841D156F2EC0E36AD52A44DFEB1E61F7AD991D8C51056FFEDB162B4C0F283A12A88A394DFF526AB7291CBB307CEABFCE0B1DFD5CD9508096D5B2B8B6DF5D671EF6377C0921CB23C270A70E2598E6FF89D19F105ACC2D3F0CB35F29280E1386B6F64C4EF22E1E1F20D0CE8CFFB2249BD9A2137020301000102818033A5FB2A90B27D4F5451CA9BBBD0B44771A101AF884340AEF9885F2A4BBE92E894A724AC3C568C8F97853AD07C0266C8C6A3CA0929F1E8F11231884429FC4D9AE55FEE896A10CE707C3ED7E734E44727A39574501A532683109C2ABACABA283C31B4BD2F53C3EE37E352CEE34F9E503BD80C0622AD79C6DCEE883547C6A3B325024100E7E8942720A877517273A356053EA2A1BC0C94AA72D55C6E86296B2DFC967948C0A72CBCCCA7EACB35706E09A1DF55A1535BD9B3CC34160B3B6DCD3EDA8E6443024100B69DCA1CF7D4D7EC81E75B90FCCA874ABCDE123FD2700180AA90479B6E48DE8D67ED24F9F19D85BA275874F542CD20DC723E6963364A1F9425452B269A6799FD024028FA13938655BE1F8A159CBACA5A72EA190C30089E19CD274A556F36C4F6E19F554B34C077790427BBDD8DD3EDE2448328F385D81B30E8E43B2FFFA02786197902401A8B38F398FA712049898D7FB79EE0A77668791299CDFA09EFC0E507ACB21ED74301EF5BFD48BE455EAEB6E1678255827580A8E4E8E14151D1510A82A3F2E729024027156ABA4126D24A81F3A528CBFB27F56886F840A9F6E86E17A44B94FE9319584B8E22FDDE1E5A2E3BD8AA5BA8D8584194EB2190ACF832B847F13A3D24A79F4D",
|
| + "error": "DataError"
|
| + },
|
| +
|
| + // Corrupted PKCS8 (byte index 333 was inverted, which is inside of "p")
|
| + {
|
| + "format": "pkcs8",
|
| + "data": "30820275020100300D06092A864886F70D01010105000482025F3082025B02010002818100A56E4A0E701017589A5187DC7EA841D156F2EC0E36AD52A44DFEB1E61F7AD991D8C51056FFEDB162B4C0F283A12A88A394DFF526AB7291CBB307CEABFCE0B1DFD5CD9508096D5B2B8B6DF5D671EF6377C0921CB23C270A70E2598E6FF89D19F105ACC2D3F0CB35F29280E1386B6F64C4EF22E1E1F20D0CE8CFFB2249BD9A2137020301000102818033A5042A90B27D4F5451CA9BBBD0B44771A101AF884340AEF9885F2A4BBE92E894A724AC3C568C8F97853AD07C0266C8C6A3CA0929F1E8F11231884429FC4D9AE55FEE896A10CE707C3ED7E734E44727A39574501A532683109C2ABACABA283C31B4BD2F53C3EE37E352CEE34F9E503BD80C0622AD79C6DCEE883547C6A3B325024100E7E8942720A877517273A356053EA2A1BC0C94AA72D55C6E86296B2DFC697948C0A72CBCCCA7EACB35706E09A1DF55A1535BD9B3CC34160B3B6DCD3EDA8E6443024100B69DCA1CF7D4D7EC81E75B90FCCA874ABCDE123FD2700180AA90479B6E48DE8D67ED24F9F19D85BA275874F542CD20DC723E6963364A1F9425452B269A6799FD024028FA13938655BE1F8A159CBACA5A72EA190C30089E19CD274A556F36C4F6E19F554B34C077790427BBDD8DD3EDE2448328F385D81B30E8E43B2FFFA02786197902401A8B38F398FA712049898D7FB79EE0A77668791299CDFA09EFC0E507ACB21ED74301EF5BFD48BE455EAEB6E1678255827580A8E4E8E14151D1510A82A3F2E729024027156ABA4126D24A81F3A528CBFB27F56886F840A9F6E86E17A44B94FE9319584B8E22FDDE1E5A2E3BD8AA5BA8D8584194EB2190ACF832B847F13A3D24A79F4D",
|
| + "error": "DataError"
|
| + },
|
| +
|
| + // Corrupted PKCS8 (byte index 373 was inverted, which is inside of "q")
|
| + {
|
| + "format": "pkcs8",
|
| + "data": "30820275020100300D06092A864886F70D01010105000482025F3082025B02010002818100A56E4A0E701017589A5187DC7EA841D156F2EC0E36AD52A44DFEB1E61F7AD991D8C51056FFEDB162B4C0F283A12A88A394DFF526AB7291CBB307CEABFCE0B1DFD5CD9508096D5B2B8B6DF5D671EF6377C0921CB23C270A70E2598E6FF89D19F105ACC2D3F0CB35F29280E1386B6F64C4EF22E1E1F20D0CE8CFFB2249BD9A2137020301000102818033A5042A90B27D4F5451CA9BBBD0B44771A101AF884340AEF9885F2A4BBE92E894A724AC3C568C8F97853AD07C0266C8C6A3CA0929F1E8F11231884429FC4D9AE55FEE896A10CE707C3ED7E734E44727A39574501A532683109C2ABACABA283C31B4BD2F53C3EE37E352CEE34F9E503BD80C0622AD79C6DCEE883547C6A3B325024100E7E8942720A877517273A356053EA2A1BC0C94AA72D55C6E86296B2DFC967948C0A72CBCCCA7EACB35706E09A1DF55A1535BD9B3CC34160B3B6DCD3EDA8E6443024100B69D351CF7D4D7EC81E75B90FCCA874ABCDE123FD2700180AA90479B6E48DE8D67ED24F9F19D85BA275874F542CD20DC723E6963364A1F9425452B269A6799FD024028FA13938655BE1F8A159CBACA5A72EA190C30089E19CD274A556F36C4F6E19F554B34C077790427BBDD8DD3EDE2448328F385D81B30E8E43B2FFFA02786197902401A8B38F398FA712049898D7FB79EE0A77668791299CDFA09EFC0E507ACB21ED74301EF5BFD48BE455EAEB6E1678255827580A8E4E8E14151D1510A82A3F2E729024027156ABA4126D24A81F3A528CBFB27F56886F840A9F6E86E17A44B94FE9319584B8E22FDDE1E5A2E3BD8AA5BA8D8584194EB2190ACF832B847F13A3D24A79F4D",
|
| + "error": "DataError"
|
| + },
|
| +
|
| + // Corrupted PKCS8 (byte index 450 was inverted, which is inside of "dp")
|
| + {
|
| + "format": "pkcs8",
|
| + "data": "30820275020100300D06092A864886F70D01010105000482025F3082025B02010002818100A56E4A0E701017589A5187DC7EA841D156F2EC0E36AD52A44DFEB1E61F7AD991D8C51056FFEDB162B4C0F283A12A88A394DFF526AB7291CBB307CEABFCE0B1DFD5CD9508096D5B2B8B6DF5D671EF6377C0921CB23C270A70E2598E6FF89D19F105ACC2D3F0CB35F29280E1386B6F64C4EF22E1E1F20D0CE8CFFB2249BD9A2137020301000102818033A5042A90B27D4F5451CA9BBBD0B44771A101AF884340AEF9885F2A4BBE92E894A724AC3C568C8F97853AD07C0266C8C6A3CA0929F1E8F11231884429FC4D9AE55FEE896A10CE707C3ED7E734E44727A39574501A532683109C2ABACABA283C31B4BD2F53C3EE37E352CEE34F9E503BD80C0622AD79C6DCEE883547C6A3B325024100E7E8942720A877517273A356053EA2A1BC0C94AA72D55C6E86296B2DFC967948C0A72CBCCCA7EACB35706E09A1DF55A1535BD9B3CC34160B3B6DCD3EDA8E6443024100B69DCA1CF7D4D7EC81E75B90FCCA874ABCDE123FD2700180AA90479B6E48DE8D67ED24F9F19D85BA275874F542CD20DC723E6963364A1F9425452B269A6799FD024028FA13938655BE1F8A159CBACAA572EA190C30089E19CD274A556F36C4F6E19F554B34C077790427BBDD8DD3EDE2448328F385D81B30E8E43B2FFFA02786197902401A8B38F398FA712049898D7FB79EE0A77668791299CDFA09EFC0E507ACB21ED74301EF5BFD48BE455EAEB6E1678255827580A8E4E8E14151D1510A82A3F2E729024027156ABA4126D24A81F3A528CBFB27F56886F840A9F6E86E17A44B94FE9319584B8E22FDDE1E5A2E3BD8AA5BA8D8584194EB2190ACF832B847F13A3D24A79F4D",
|
| + "error": "DataError"
|
| + },
|
| +
|
| + // Corrupted PKCS8 (byte index 550 was inverted, which is inside of "dq")
|
| + {
|
| + "format": "pkcs8",
|
| + "data": "30820275020100300D06092A864886F70D01010105000482025F3082025B02010002818100A56E4A0E701017589A5187DC7EA841D156F2EC0E36AD52A44DFEB1E61F7AD991D8C51056FFEDB162B4C0F283A12A88A394DFF526AB7291CBB307CEABFCE0B1DFD5CD9508096D5B2B8B6DF5D671EF6377C0921CB23C270A70E2598E6FF89D19F105ACC2D3F0CB35F29280E1386B6F64C4EF22E1E1F20D0CE8CFFB2249BD9A2137020301000102818033A5042A90B27D4F5451CA9BBBD0B44771A101AF884340AEF9885F2A4BBE92E894A724AC3C568C8F97853AD07C0266C8C6A3CA0929F1E8F11231884429FC4D9AE55FEE896A10CE707C3ED7E734E44727A39574501A532683109C2ABACABA283C31B4BD2F53C3EE37E352CEE34F9E503BD80C0622AD79C6DCEE883547C6A3B325024100E7E8942720A877517273A356053EA2A1BC0C94AA72D55C6E86296B2DFC967948C0A72CBCCCA7EACB35706E09A1DF55A1535BD9B3CC34160B3B6DCD3EDA8E6443024100B69DCA1CF7D4D7EC81E75B90FCCA874ABCDE123FD2700180AA90479B6E48DE8D67ED24F9F19D85BA275874F542CD20DC723E6963364A1F9425452B269A6799FD024028FA13938655BE1F8A159CBACA5A72EA190C30089E19CD274A556F36C4F6E19F554B34C077790427BBDD8DD3EDE2448328F385D81B30E8E43B2FFFA02786197902401A8B38F398FA712049898D7FB79EE0A77668791299CDFA09EFC0E507ACB21ED74301EF5BFD48BE455EAEB6E16782557D7580A8E4E8E14151D1510A82A3F2E729024027156ABA4126D24A81F3A528CBFB27F56886F840A9F6E86E17A44B94FE9319584B8E22FDDE1E5A2E3BD8AA5BA8D8584194EB2190ACF832B847F13A3D24A79F4D",
|
| + "error": "DataError"
|
| + },
|
| +
|
| + // Corrupted PKCS8 (byte index 600 was inverted, which is inside of "qi")
|
| + {
|
| + "format": "pkcs8",
|
| + "data": "30820275020100300D06092A864886F70D01010105000482025F3082025B02010002818100A56E4A0E701017589A5187DC7EA841D156F2EC0E36AD52A44DFEB1E61F7AD991D8C51056FFEDB162B4C0F283A12A88A394DFF526AB7291CBB307CEABFCE0B1DFD5CD9508096D5B2B8B6DF5D671EF6377C0921CB23C270A70E2598E6FF89D19F105ACC2D3F0CB35F29280E1386B6F64C4EF22E1E1F20D0CE8CFFB2249BD9A2137020301000102818033A5042A90B27D4F5451CA9BBBD0B44771A101AF884340AEF9885F2A4BBE92E894A724AC3C568C8F97853AD07C0266C8C6A3CA0929F1E8F11231884429FC4D9AE55FEE896A10CE707C3ED7E734E44727A39574501A532683109C2ABACABA283C31B4BD2F53C3EE37E352CEE34F9E503BD80C0622AD79C6DCEE883547C6A3B325024100E7E8942720A877517273A356053EA2A1BC0C94AA72D55C6E86296B2DFC967948C0A72CBCCCA7EACB35706E09A1DF55A1535BD9B3CC34160B3B6DCD3EDA8E6443024100B69DCA1CF7D4D7EC81E75B90FCCA874ABCDE123FD2700180AA90479B6E48DE8D67ED24F9F19D85BA275874F542CD20DC723E6963364A1F9425452B269A6799FD024028FA13938655BE1F8A159CBACA5A72EA190C30089E19CD274A556F36C4F6E19F554B34C077790427BBDD8DD3EDE2448328F385D81B30E8E43B2FFFA02786197902401A8B38F398FA712049898D7FB79EE0A77668791299CDFA09EFC0E507ACB21ED74301EF5BFD48BE455EAEB6E1678255827580A8E4E8E14151D1510A82A3F2E729024027156ABA4126D24A81F3A528CBFB27F56886F840A9F6E86E17A44B94FE9319A74B8E22FDDE1E5A2E3BD8AA5BA8D8584194EB2190ACF832B847F13A3D24A79F4D",
|
| + "error": "DataError"
|
| }
|
| ]
|
|
|