Tests structured cloning of ECDH keys
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS importedKey.extraProperty is "hi"
PASS importedKey.type is "public"
PASS typeof importedKey.extractable is 'boolean'
PASS importedKey.extractable is true
PASS importedKey.algorithm.name is "ECDH"
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 "public"
PASS typeof clonedKey.extractable is 'boolean'
PASS clonedKey.extractable is true
PASS clonedKey.algorithm.name is "ECDH"
PASS clonedKey.algorithm.namedCurve is "P-256"
PASS clonedKey.usages.join(',') is ""
Serialized key bytes: 5c4b050f0101015b3059301306072a8648ce3d020106082a8648ce3d030107034200049cb0cf69303dafc761d4e4687b4ecf039e6d34ab964af80810d8d558a4a8d6f72d51233a1788920a86ee08a1962c79efa317fb7879e297dad2146db995fa1c78a0000000014b
PASS: Cloned key exported data should be [3059301306072a8648ce3d020106082a8648ce3d030107034200049cb0cf69303dafc761d4e4687b4ecf039e6d34ab964af80810d8d558a4a8d6f72d51233a1788920a86ee08a1962c79efa317fb7879e297dad2146db995fa1c78] and was
PASS importedKey.extraProperty is "hi"
PASS importedKey.type is "public"
PASS typeof importedKey.extractable is 'boolean'
PASS importedKey.extractable is false
PASS importedKey.algorithm.name is "ECDH"
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 "public"
PASS typeof clonedKey.extractable is 'boolean'
PASS clonedKey.extractable is false
PASS clonedKey.algorithm.name is "ECDH"
PASS clonedKey.algorithm.namedCurve is "P-256"
PASS clonedKey.usages.join(',') is ""
Serialized key bytes: 5c4b050f0101005b3059301306072a8648ce3d020106082a8648ce3d030107034200049cb0cf69303dafc761d4e4687b4ecf039e6d34ab964af80810d8d558a4a8d6f72d51233a1788920a86ee08a1962c79efa317fb7879e297dad2146db995fa1c78a0000000014b
PASS importedKey.extraProperty is "hi"
PASS importedKey.type is "public"
PASS typeof importedKey.extractable is 'boolean'
PASS importedKey.extractable is true
PASS importedKey.algorithm.name is "ECDH"
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 "public"
PASS typeof clonedKey.extractable is 'boolean'
PASS clonedKey.extractable is true
PASS clonedKey.algorithm.name is "ECDH"
PASS clonedKey.algorithm.namedCurve is "P-384"
PASS clonedKey.usages.join(',') is ""
Serialized key bytes: 5c4b050f010201783076301006072a8648ce3d020106052b81040022036200040874a2e0b8ff448f0e54321e27f4f1e64d064cdeb7d26f458c32e930120f4e57dc85c2693f977eed4a8ecc8db981b4d91f69446df4f4c6f5de19003f45f891d0ebcd2fffdb5c81c040e8d6994c43c7feedb98a4a31edfb35e89a30013c3b9267a0000000014b
PASS: Cloned key exported data should be [3076301006072a8648ce3d020106052b81040022036200040874a2e0b8ff448f0e54321e27f4f1e64d064cdeb7d26f458c32e930120f4e57dc85c2693f977eed4a8ecc8db981b4d91f69446df4f4c6f5de19003f45f891d0ebcd2fffdb5c81c040e8d6994c43c7feedb98a4a31edfb35e89a30013c3b9267] and was
PASS importedKey.extraProperty is "hi"
PASS importedKey.type is "public"
PASS typeof importedKey.extractable is 'boolean'
PASS importedKey.extractable is false
PASS importedKey.algorithm.name is "ECDH"
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 "public"
PASS typeof clonedKey.extractable is 'boolean'
PASS clonedKey.extractable is false
PASS clonedKey.algorithm.name is "ECDH"
PASS clonedKey.algorithm.namedCurve is "P-384"
PASS clonedKey.usages.join(',') is ""
Serialized key bytes: 5c4b050f010200783076301006072a8648ce3d020106052b81040022036200040874a2e0b8ff448f0e54321e27f4f1e64d064cdeb7d26f458c32e930120f4e57dc85c2693f977eed4a8ecc8db981b4d91f69446df4f4c6f5de19003f45f891d0ebcd2fffdb5c81c040e8d6994c43c7feedb98a4a31edfb35e89a30013c3b9267a0000000014b
PASS importedKey.extraProperty is "hi"
PASS importedKey.type is "public"
PASS typeof importedKey.extractable is 'boolean'
PASS importedKey.extractable is true
PASS importedKey.algorithm.name is "ECDH"
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 "public"
PASS typeof clonedKey.extractable is 'boolean'
PASS clonedKey.extractable is true
PASS clonedKey.algorithm.name is "ECDH"
PASS clonedKey.algorithm.namedCurve is "P-521"
PASS clonedKey.usages.join(',') is ""
Serialized key bytes: 5c4b050f0103019e0130819b301006072a8648ce3d020106052b81040023038186000400f50a08703250c15f043c8c46e99783435245cf98f4f2694b0e2f8d029a514dd6f0b086d4ed892000cd5590107aae69c4c0a7a95f7cf74e5770a07d5db55bce4ab400f2c770bab8b9be4cdb6ecd3dc26c698da0d2599cebf3d904f7f9ca3a55e64731810d73cd317264e50baba4bc2860857e16d6cbb79501bc9e3a32bd172ea8a71deea0000000014b
PASS: Cloned key exported data should be [30819b301006072a8648ce3d020106052b81040023038186000400f50a08703250c15f043c8c46e99783435245cf98f4f2694b0e2f8d029a514dd6f0b086d4ed892000cd5590107aae69c4c0a7a95f7cf74e5770a07d5db55bce4ab400f2c770bab8b9be4cdb6ecd3dc26c698da0d2599cebf3d904f7f9ca3a55e64731810d73cd317264e50baba4bc2860857e16d6cbb79501bc9e3a32bd172ea8a71dee] and was
PASS importedKey.extraProperty is "hi"
PASS importedKey.type is "public"
PASS typeof importedKey.extractable is 'boolean'
PASS importedKey.extractable is false
PASS importedKey.algorithm.name is "ECDH"
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 "public"
PASS typeof clonedKey.extractable is 'boolean'
PASS clonedKey.extractable is false
PASS clonedKey.algorithm.name is "ECDH"
PASS clonedKey.algorithm.namedCurve is "P-521"
PASS clonedKey.usages.join(',') is ""
Serialized key bytes: 5c4b050f0103009e0130819b301006072a8648ce3d020106052b81040023038186000400f50a08703250c15f043c8c46e99783435245cf98f4f2694b0e2f8d029a514dd6f0b086d4ed892000cd5590107aae69c4c0a7a95f7cf74e5770a07d5db55bce4ab400f2c770bab8b9be4cdb6ecd3dc26c698da0d2599cebf3d904f7f9ca3a55e64731810d73cd317264e50baba4bc2860857e16d6cbb79501bc9e3a32bd172ea8a71deea0000000014b
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 "ECDH"
PASS importedKey.algorithm.namedCurve is "P-256"
PASS importedKey.usages.join(',') is "deriveBits"
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 "ECDH"
PASS clonedKey.algorithm.namedCurve is "P-256"
PASS clonedKey.usages.join(',') is "deriveBits"
Serialized key bytes: 5c4b050f020181028a01308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104201fe33950c5f461124ae992c2bdfdf1c73b1615f571bd567e60d19aa1f48cdf42a144034200047c110c66dcfda807f6e69e45ddb3c74f69a1484d203e8dc5ada8e9a9dd7cb3c70df448986e51bde5d1576f99901f9c2c6a806a47fd907643a72b835597efc8c6a0000000014b
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 false
PASS importedKey.algorithm.name is "ECDH"
PASS importedKey.algorithm.namedCurve is "P-256"
PASS importedKey.usages.join(',') is "deriveBits"
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 "ECDH"
PASS clonedKey.algorithm.namedCurve is "P-256"
PASS clonedKey.usages.join(',') is "deriveBits"
Serialized key bytes: 5c4b050f020180028a01308187020100301306072a8648ce3d020106082a8648ce3d030107046d306b02010104201fe33950c5f461124ae992c2bdfdf1c73b1615f571bd567e60d19aa1f48cdf42a144034200047c110c66dcfda807f6e69e45ddb3c74f69a1484d203e8dc5ada8e9a9dd7cb3c70df448986e51bde5d1576f99901f9c2c6a806a47fd907643a72b835597efc8c6a0000000014b
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 "ECDH"
PASS importedKey.algorithm.namedCurve is "P-384"
PASS importedKey.usages.join(',') is "deriveBits"
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 "ECDH"
PASS clonedKey.algorithm.namedCurve is "P-384"
PASS clonedKey.usages.join(',') is "deriveBits"
Serialized key bytes: 5c4b050f02028102b9013081b6020100301006072a8648ce3d020106052b8104002204819e30819b0201010430a492ce8fa90084c227e1a32f7974d39e9ff67a7e8705ec3419b35fb607582bebd461e0b1520ac76ec2dd4e9b63ebae71a16403620004e55fee6c49d8d523f5ce7bf9c0425ce4ff650708b7de5cfb095901523979a7f042602db30854735369813b5c3f5ef86828f59cc5dc509892a988d38a8e2519de3d0c4fd0fbdb0993e38f18506c17606c5e24249246f1ce94983a5361c5be983ea0000000014b
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 false
PASS importedKey.algorithm.name is "ECDH"
PASS importedKey.algorithm.namedCurve is "P-384"
PASS importedKey.usages.join(',') is "deriveBits"
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 "ECDH"
PASS clonedKey.algorithm.namedCurve is "P-384"
PASS clonedKey.usages.join(',') is "deriveBits"
Serialized key bytes: 5c4b050f02028002b9013081b6020100301006072a8648ce3d020106052b8104002204819e30819b0201010430a492ce8fa90084c227e1a32f7974d39e9ff67a7e8705ec3419b35fb607582bebd461e0b1520ac76ec2dd4e9b63ebae71a16403620004e55fee6c49d8d523f5ce7bf9c0425ce4ff650708b7de5cfb095901523979a7f042602db30854735369813b5c3f5ef86828f59cc5dc509892a988d38a8e2519de3d0c4fd0fbdb0993e38f18506c17606c5e24249246f1ce94983a5361c5be983ea0000000014b
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 "ECDH"
PASS importedKey.algorithm.namedCurve is "P-521"
PASS importedKey.usages.join(',') is "deriveBits"
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 "ECDH"
PASS clonedKey.algorithm.namedCurve is "P-521"
PASS clonedKey.usages.join(',') is "deriveBits"
Serialized key bytes: 5c4b050f02038102f1013081ee020100301006072a8648ce3d020106052b810400230481d63081d3020101044201bd56bd106118eda246155bd43b42b8e13f0a6e25dd3bb376026fab4dc92b6157bc6dfec2d15dd3d0cf2a39aa68494042af48ba9601118da82c6f2108a3a203ad74a181890381860004012fbcaeffa6a51f3ee4d3d2b51c5dec6d7c726ca353fc014ea2bf7cfbb9b910d32cbfa6a00fe39b6cdb8946f22775398b2e233c0cf144d78c8a7742b5c7a3bb5d23009cdef823dd7bf9a79e8cceacd2e4527c231d0ae5967af0958e931d7ddccf2805a3e618dc3039fec9febbd33052fe4c0fee98f033106064982d88f4e03549d4a64da0000000014b
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 "ECDH"
PASS importedKey.algorithm.namedCurve is "P-521"
PASS importedKey.usages.join(',') is "deriveBits"
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 "ECDH"
PASS clonedKey.algorithm.namedCurve is "P-521"
PASS clonedKey.usages.join(',') is "deriveBits"
Serialized key bytes: 5c4b050f02038002f1013081ee020100301006072a8648ce3d020106052b810400230481d63081d3020101044201bd56bd106118eda246155bd43b42b8e13f0a6e25dd3bb376026fab4dc92b6157bc6dfec2d15dd3d0cf2a39aa68494042af48ba9601118da82c6f2108a3a203ad74a181890381860004012fbcaeffa6a51f3ee4d3d2b51c5dec6d7c726ca353fc014ea2bf7cfbb9b910d32cbfa6a00fe39b6cdb8946f22775398b2e233c0cf144d78c8a7742b5c7a3bb5d23009cdef823dd7bf9a79e8cceacd2e4527c231d0ae5967af0958e931d7ddccf2805a3e618dc3039fec9febbd33052fe4c0fee98f033106064982d88f4e03549d4a64da0000000014b
PASS successfullyParsed is true
TEST COMPLETE