Index: LayoutTests/crypto/clone-ecKey-private-expected.txt |
diff --git a/LayoutTests/crypto/clone-ecKey-private-expected.txt b/LayoutTests/crypto/clone-ecKey-private-expected.txt |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f710fd3ee5ef1bae59578a1910ac631ebcd9bec7 |
--- /dev/null |
+++ b/LayoutTests/crypto/clone-ecKey-private-expected.txt |
@@ -0,0 +1,219 @@ |
+Tests structured cloning of EC private keys |
+ |
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
+ |
+ |
+PASS importedKey.extraProperty is "hi" |
+PASS importedKey.type is "private" |
+PASS typeof importedKey.extractable is 'boolean' |
+PASS importedKey.extractable is true |
+PASS importedKey.algorithm.name is "ECDSA" |
+PASS importedKey.algorithm.namedCurve is "P-256" |
+PASS importedKey.usages.join(',') is "" |
+PASS importedKey is not clonedKey |
+PASS clonedKey.extraProperty is undefined. |
+PASS clonedKey.type is "private" |
+PASS typeof clonedKey.extractable is 'boolean' |
+PASS clonedKey.extractable is true |
+PASS clonedKey.algorithm.name is "ECDSA" |
+PASS clonedKey.algorithm.namedCurve is "P-256" |
+PASS clonedKey.usages.join(',') is "" |
+Serialized key bytes: 3f004b050e0201018a01308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104201fe33950c5f461124ae992c2bdfdf1c73b1615f571bd567e60d19aa1f48cdf42a144034200047c110c66dcfda807f6e69e45ddb3c74f69a1484d203e8dc5ada8e9a9dd7cb3c70df448986e51bde5d1576f99901f9c2c6a806a47fd907643a72b835597efc8c6 |
+PASS: Cloned key exported data should be [308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104201fe33950c5f461124ae992c2bdfdf1c73b1615f571bd567e60d19aa1f48cdf42a144034200047c110c66dcfda807f6e69e45ddb3c74f69a1484d203e8dc5ada8e9a9dd7cb3c70df448986e51bde5d1576f99901f9c2c6a806a47fd907643a72b835597efc8c6] and was |
+ |
+PASS importedKey.extraProperty is "hi" |
+PASS importedKey.type is "private" |
+PASS typeof importedKey.extractable is 'boolean' |
+PASS importedKey.extractable is true |
+PASS importedKey.algorithm.name is "ECDSA" |
+PASS importedKey.algorithm.namedCurve is "P-384" |
+PASS importedKey.usages.join(',') is "" |
+PASS importedKey is not clonedKey |
+PASS clonedKey.extraProperty is undefined. |
+PASS clonedKey.type is "private" |
+PASS typeof clonedKey.extractable is 'boolean' |
+PASS clonedKey.extractable is true |
+PASS clonedKey.algorithm.name is "ECDSA" |
+PASS clonedKey.algorithm.namedCurve is "P-384" |
+PASS clonedKey.usages.join(',') is "" |
+Serialized key bytes: 3f004b050e020201b9013081b6020100301006072a8648ce3d020106052b8104002204819e30819b0201010430a492ce8fa90084c227e1a32f7974d39e9ff67a7e8705ec3419b35fb607582bebd461e0b1520ac76ec2dd4e9b63ebae71a16403620004e55fee6c49d8d523f5ce7bf9c0425ce4ff650708b7de5cfb095901523979a7f042602db30854735369813b5c3f5ef86828f59cc5dc509892a988d38a8e2519de3d0c4fd0fbdb0993e38f18506c17606c5e24249246f1ce94983a5361c5be983e00 |
+PASS: Cloned key exported data should be [3081b6020100301006072a8648ce3d020106052b8104002204819e30819b0201010430a492ce8fa90084c227e1a32f7974d39e9ff67a7e8705ec3419b35fb607582bebd461e0b1520ac76ec2dd4e9b63ebae71a16403620004e55fee6c49d8d523f5ce7bf9c0425ce4ff650708b7de5cfb095901523979a7f042602db30854735369813b5c3f5ef86828f59cc5dc509892a988d38a8e2519de3d0c4fd0fbdb0993e38f18506c17606c5e24249246f1ce94983a5361c5be983e] and was |
+ |
+PASS importedKey.extraProperty is "hi" |
+PASS importedKey.type is "private" |
+PASS typeof importedKey.extractable is 'boolean' |
+PASS importedKey.extractable is true |
+PASS importedKey.algorithm.name is "ECDSA" |
+PASS importedKey.algorithm.namedCurve is "P-521" |
+PASS importedKey.usages.join(',') is "" |
+PASS importedKey is not clonedKey |
+PASS clonedKey.extraProperty is undefined. |
+PASS clonedKey.type is "private" |
+PASS typeof clonedKey.extractable is 'boolean' |
+PASS clonedKey.extractable is true |
+PASS clonedKey.algorithm.name is "ECDSA" |
+PASS clonedKey.algorithm.namedCurve is "P-521" |
+PASS clonedKey.usages.join(',') is "" |
+Serialized key bytes: 3f004b050e020301f1013081ee020100301006072a8648ce3d020106052b810400230481d63081d3020101044201bd56bd106118eda246155bd43b42b8e13f0a6e25dd3bb376026fab4dc92b6157bc6dfec2d15dd3d0cf2a39aa68494042af48ba9601118da82c6f2108a3a203ad74a181890381860004012fbcaeffa6a51f3ee4d3d2b51c5dec6d7c726ca353fc014ea2bf7cfbb9b910d32cbfa6a00fe39b6cdb8946f22775398b2e233c0cf144d78c8a7742b5c7a3bb5d23009cdef823dd7bf9a79e8cceacd2e4527c231d0ae5967af0958e931d7ddccf2805a3e618dc3039fec9febbd33052fe4c0fee98f033106064982d88f4e03549d4a64d00 |
+PASS: Cloned key exported data should be [3081ee020100301006072a8648ce3d020106052b810400230481d63081d3020101044201bd56bd106118eda246155bd43b42b8e13f0a6e25dd3bb376026fab4dc92b6157bc6dfec2d15dd3d0cf2a39aa68494042af48ba9601118da82c6f2108a3a203ad74a181890381860004012fbcaeffa6a51f3ee4d3d2b51c5dec6d7c726ca353fc014ea2bf7cfbb9b910d32cbfa6a00fe39b6cdb8946f22775398b2e233c0cf144d78c8a7742b5c7a3bb5d23009cdef823dd7bf9a79e8cceacd2e4527c231d0ae5967af0958e931d7ddccf2805a3e618dc3039fec9febbd33052fe4c0fee98f033106064982d88f4e03549d4a64d] and was |
+ |
+PASS importedKey.extraProperty is "hi" |
+PASS importedKey.type is "private" |
+PASS typeof importedKey.extractable is 'boolean' |
+PASS importedKey.extractable is true |
+PASS importedKey.algorithm.name is "ECDSA" |
+PASS importedKey.algorithm.namedCurve is "P-256" |
+PASS importedKey.usages.join(',') is "sign" |
+PASS importedKey is not clonedKey |
+PASS clonedKey.extraProperty is undefined. |
+PASS clonedKey.type is "private" |
+PASS typeof clonedKey.extractable is 'boolean' |
+PASS clonedKey.extractable is true |
+PASS clonedKey.algorithm.name is "ECDSA" |
+PASS clonedKey.algorithm.namedCurve is "P-256" |
+PASS clonedKey.usages.join(',') is "sign" |
+Serialized key bytes: 3f004b050e0201098a01308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104201fe33950c5f461124ae992c2bdfdf1c73b1615f571bd567e60d19aa1f48cdf42a144034200047c110c66dcfda807f6e69e45ddb3c74f69a1484d203e8dc5ada8e9a9dd7cb3c70df448986e51bde5d1576f99901f9c2c6a806a47fd907643a72b835597efc8c6 |
+PASS: Cloned key exported data should be [308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104201fe33950c5f461124ae992c2bdfdf1c73b1615f571bd567e60d19aa1f48cdf42a144034200047c110c66dcfda807f6e69e45ddb3c74f69a1484d203e8dc5ada8e9a9dd7cb3c70df448986e51bde5d1576f99901f9c2c6a806a47fd907643a72b835597efc8c6] and was |
+ |
+PASS importedKey.extraProperty is "hi" |
+PASS importedKey.type is "private" |
+PASS typeof importedKey.extractable is 'boolean' |
+PASS importedKey.extractable is true |
+PASS importedKey.algorithm.name is "ECDSA" |
+PASS importedKey.algorithm.namedCurve is "P-384" |
+PASS importedKey.usages.join(',') is "sign" |
+PASS importedKey is not clonedKey |
+PASS clonedKey.extraProperty is undefined. |
+PASS clonedKey.type is "private" |
+PASS typeof clonedKey.extractable is 'boolean' |
+PASS clonedKey.extractable is true |
+PASS clonedKey.algorithm.name is "ECDSA" |
+PASS clonedKey.algorithm.namedCurve is "P-384" |
+PASS clonedKey.usages.join(',') is "sign" |
+Serialized key bytes: 3f004b050e020209b9013081b6020100301006072a8648ce3d020106052b8104002204819e30819b0201010430a492ce8fa90084c227e1a32f7974d39e9ff67a7e8705ec3419b35fb607582bebd461e0b1520ac76ec2dd4e9b63ebae71a16403620004e55fee6c49d8d523f5ce7bf9c0425ce4ff650708b7de5cfb095901523979a7f042602db30854735369813b5c3f5ef86828f59cc5dc509892a988d38a8e2519de3d0c4fd0fbdb0993e38f18506c17606c5e24249246f1ce94983a5361c5be983e00 |
+PASS: Cloned key exported data should be [3081b6020100301006072a8648ce3d020106052b8104002204819e30819b0201010430a492ce8fa90084c227e1a32f7974d39e9ff67a7e8705ec3419b35fb607582bebd461e0b1520ac76ec2dd4e9b63ebae71a16403620004e55fee6c49d8d523f5ce7bf9c0425ce4ff650708b7de5cfb095901523979a7f042602db30854735369813b5c3f5ef86828f59cc5dc509892a988d38a8e2519de3d0c4fd0fbdb0993e38f18506c17606c5e24249246f1ce94983a5361c5be983e] and was |
+ |
+PASS importedKey.extraProperty is "hi" |
+PASS importedKey.type is "private" |
+PASS typeof importedKey.extractable is 'boolean' |
+PASS importedKey.extractable is true |
+PASS importedKey.algorithm.name is "ECDSA" |
+PASS importedKey.algorithm.namedCurve is "P-521" |
+PASS importedKey.usages.join(',') is "sign" |
+PASS importedKey is not clonedKey |
+PASS clonedKey.extraProperty is undefined. |
+PASS clonedKey.type is "private" |
+PASS typeof clonedKey.extractable is 'boolean' |
+PASS clonedKey.extractable is true |
+PASS clonedKey.algorithm.name is "ECDSA" |
+PASS clonedKey.algorithm.namedCurve is "P-521" |
+PASS clonedKey.usages.join(',') is "sign" |
+Serialized key bytes: 3f004b050e020309f1013081ee020100301006072a8648ce3d020106052b810400230481d63081d3020101044201bd56bd106118eda246155bd43b42b8e13f0a6e25dd3bb376026fab4dc92b6157bc6dfec2d15dd3d0cf2a39aa68494042af48ba9601118da82c6f2108a3a203ad74a181890381860004012fbcaeffa6a51f3ee4d3d2b51c5dec6d7c726ca353fc014ea2bf7cfbb9b910d32cbfa6a00fe39b6cdb8946f22775398b2e233c0cf144d78c8a7742b5c7a3bb5d23009cdef823dd7bf9a79e8cceacd2e4527c231d0ae5967af0958e931d7ddccf2805a3e618dc3039fec9febbd33052fe4c0fee98f033106064982d88f4e03549d4a64d00 |
+PASS: Cloned key exported data should be [3081ee020100301006072a8648ce3d020106052b810400230481d63081d3020101044201bd56bd106118eda246155bd43b42b8e13f0a6e25dd3bb376026fab4dc92b6157bc6dfec2d15dd3d0cf2a39aa68494042af48ba9601118da82c6f2108a3a203ad74a181890381860004012fbcaeffa6a51f3ee4d3d2b51c5dec6d7c726ca353fc014ea2bf7cfbb9b910d32cbfa6a00fe39b6cdb8946f22775398b2e233c0cf144d78c8a7742b5c7a3bb5d23009cdef823dd7bf9a79e8cceacd2e4527c231d0ae5967af0958e931d7ddccf2805a3e618dc3039fec9febbd33052fe4c0fee98f033106064982d88f4e03549d4a64d] and was |
+ |
+PASS importedKey.extraProperty is "hi" |
+PASS importedKey.type is "private" |
+PASS typeof importedKey.extractable is 'boolean' |
+PASS importedKey.extractable is false |
+PASS importedKey.algorithm.name is "ECDSA" |
+PASS importedKey.algorithm.namedCurve is "P-256" |
+PASS importedKey.usages.join(',') is "" |
+PASS importedKey is not clonedKey |
+PASS clonedKey.extraProperty is undefined. |
+PASS clonedKey.type is "private" |
+PASS typeof clonedKey.extractable is 'boolean' |
+PASS clonedKey.extractable is false |
+PASS clonedKey.algorithm.name is "ECDSA" |
+PASS clonedKey.algorithm.namedCurve is "P-256" |
+PASS clonedKey.usages.join(',') is "" |
+Serialized key bytes: 3f004b050e0201008a01308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104201fe33950c5f461124ae992c2bdfdf1c73b1615f571bd567e60d19aa1f48cdf42a144034200047c110c66dcfda807f6e69e45ddb3c74f69a1484d203e8dc5ada8e9a9dd7cb3c70df448986e51bde5d1576f99901f9c2c6a806a47fd907643a72b835597efc8c6 |
+ |
+PASS importedKey.extraProperty is "hi" |
+PASS importedKey.type is "private" |
+PASS typeof importedKey.extractable is 'boolean' |
+PASS importedKey.extractable is false |
+PASS importedKey.algorithm.name is "ECDSA" |
+PASS importedKey.algorithm.namedCurve is "P-384" |
+PASS importedKey.usages.join(',') is "" |
+PASS importedKey is not clonedKey |
+PASS clonedKey.extraProperty is undefined. |
+PASS clonedKey.type is "private" |
+PASS typeof clonedKey.extractable is 'boolean' |
+PASS clonedKey.extractable is false |
+PASS clonedKey.algorithm.name is "ECDSA" |
+PASS clonedKey.algorithm.namedCurve is "P-384" |
+PASS clonedKey.usages.join(',') is "" |
+Serialized key bytes: 3f004b050e020200b9013081b6020100301006072a8648ce3d020106052b8104002204819e30819b0201010430a492ce8fa90084c227e1a32f7974d39e9ff67a7e8705ec3419b35fb607582bebd461e0b1520ac76ec2dd4e9b63ebae71a16403620004e55fee6c49d8d523f5ce7bf9c0425ce4ff650708b7de5cfb095901523979a7f042602db30854735369813b5c3f5ef86828f59cc5dc509892a988d38a8e2519de3d0c4fd0fbdb0993e38f18506c17606c5e24249246f1ce94983a5361c5be983e00 |
+ |
+PASS importedKey.extraProperty is "hi" |
+PASS importedKey.type is "private" |
+PASS typeof importedKey.extractable is 'boolean' |
+PASS importedKey.extractable is false |
+PASS importedKey.algorithm.name is "ECDSA" |
+PASS importedKey.algorithm.namedCurve is "P-521" |
+PASS importedKey.usages.join(',') is "" |
+PASS importedKey is not clonedKey |
+PASS clonedKey.extraProperty is undefined. |
+PASS clonedKey.type is "private" |
+PASS typeof clonedKey.extractable is 'boolean' |
+PASS clonedKey.extractable is false |
+PASS clonedKey.algorithm.name is "ECDSA" |
+PASS clonedKey.algorithm.namedCurve is "P-521" |
+PASS clonedKey.usages.join(',') is "" |
+Serialized key bytes: 3f004b050e020300f1013081ee020100301006072a8648ce3d020106052b810400230481d63081d3020101044201bd56bd106118eda246155bd43b42b8e13f0a6e25dd3bb376026fab4dc92b6157bc6dfec2d15dd3d0cf2a39aa68494042af48ba9601118da82c6f2108a3a203ad74a181890381860004012fbcaeffa6a51f3ee4d3d2b51c5dec6d7c726ca353fc014ea2bf7cfbb9b910d32cbfa6a00fe39b6cdb8946f22775398b2e233c0cf144d78c8a7742b5c7a3bb5d23009cdef823dd7bf9a79e8cceacd2e4527c231d0ae5967af0958e931d7ddccf2805a3e618dc3039fec9febbd33052fe4c0fee98f033106064982d88f4e03549d4a64d00 |
+ |
+PASS importedKey.extraProperty is "hi" |
+PASS importedKey.type is "private" |
+PASS typeof importedKey.extractable is 'boolean' |
+PASS importedKey.extractable is false |
+PASS importedKey.algorithm.name is "ECDSA" |
+PASS importedKey.algorithm.namedCurve is "P-256" |
+PASS importedKey.usages.join(',') is "sign" |
+PASS importedKey is not clonedKey |
+PASS clonedKey.extraProperty is undefined. |
+PASS clonedKey.type is "private" |
+PASS typeof clonedKey.extractable is 'boolean' |
+PASS clonedKey.extractable is false |
+PASS clonedKey.algorithm.name is "ECDSA" |
+PASS clonedKey.algorithm.namedCurve is "P-256" |
+PASS clonedKey.usages.join(',') is "sign" |
+Serialized key bytes: 3f004b050e0201088a01308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104201fe33950c5f461124ae992c2bdfdf1c73b1615f571bd567e60d19aa1f48cdf42a144034200047c110c66dcfda807f6e69e45ddb3c74f69a1484d203e8dc5ada8e9a9dd7cb3c70df448986e51bde5d1576f99901f9c2c6a806a47fd907643a72b835597efc8c6 |
+ |
+PASS importedKey.extraProperty is "hi" |
+PASS importedKey.type is "private" |
+PASS typeof importedKey.extractable is 'boolean' |
+PASS importedKey.extractable is false |
+PASS importedKey.algorithm.name is "ECDSA" |
+PASS importedKey.algorithm.namedCurve is "P-384" |
+PASS importedKey.usages.join(',') is "sign" |
+PASS importedKey is not clonedKey |
+PASS clonedKey.extraProperty is undefined. |
+PASS clonedKey.type is "private" |
+PASS typeof clonedKey.extractable is 'boolean' |
+PASS clonedKey.extractable is false |
+PASS clonedKey.algorithm.name is "ECDSA" |
+PASS clonedKey.algorithm.namedCurve is "P-384" |
+PASS clonedKey.usages.join(',') is "sign" |
+Serialized key bytes: 3f004b050e020208b9013081b6020100301006072a8648ce3d020106052b8104002204819e30819b0201010430a492ce8fa90084c227e1a32f7974d39e9ff67a7e8705ec3419b35fb607582bebd461e0b1520ac76ec2dd4e9b63ebae71a16403620004e55fee6c49d8d523f5ce7bf9c0425ce4ff650708b7de5cfb095901523979a7f042602db30854735369813b5c3f5ef86828f59cc5dc509892a988d38a8e2519de3d0c4fd0fbdb0993e38f18506c17606c5e24249246f1ce94983a5361c5be983e00 |
+ |
+PASS importedKey.extraProperty is "hi" |
+PASS importedKey.type is "private" |
+PASS typeof importedKey.extractable is 'boolean' |
+PASS importedKey.extractable is false |
+PASS importedKey.algorithm.name is "ECDSA" |
+PASS importedKey.algorithm.namedCurve is "P-521" |
+PASS importedKey.usages.join(',') is "sign" |
+PASS importedKey is not clonedKey |
+PASS clonedKey.extraProperty is undefined. |
+PASS clonedKey.type is "private" |
+PASS typeof clonedKey.extractable is 'boolean' |
+PASS clonedKey.extractable is false |
+PASS clonedKey.algorithm.name is "ECDSA" |
+PASS clonedKey.algorithm.namedCurve is "P-521" |
+PASS clonedKey.usages.join(',') is "sign" |
+Serialized key bytes: 3f004b050e020308f1013081ee020100301006072a8648ce3d020106052b810400230481d63081d3020101044201bd56bd106118eda246155bd43b42b8e13f0a6e25dd3bb376026fab4dc92b6157bc6dfec2d15dd3d0cf2a39aa68494042af48ba9601118da82c6f2108a3a203ad74a181890381860004012fbcaeffa6a51f3ee4d3d2b51c5dec6d7c726ca353fc014ea2bf7cfbb9b910d32cbfa6a00fe39b6cdb8946f22775398b2e233c0cf144d78c8a7742b5c7a3bb5d23009cdef823dd7bf9a79e8cceacd2e4527c231d0ae5967af0958e931d7ddccf2805a3e618dc3039fec9febbd33052fe4c0fee98f033106064982d88f4e03549d4a64d00 |
+ |
+PASS successfullyParsed is true |
+ |
+TEST COMPLETE |
+ |