Changeset 201685 in webkit


Ignore:
Timestamp:
Jun 4, 2016 1:59:57 PM (8 years ago)
Author:
beidson@apple.com
Message:

Modern IDB: Add -private.html variants of crypto/subtle IndexedDB tests.
https://bugs.webkit.org/show_bug.cgi?id=153323

Reviewed by Darin Adler.

  • crypto/subtle/resources/rsa-indexeddb-non-exportable.js: Copied from LayoutTests/crypto/subtle/rsa-indexeddb-non-exportable.html.
  • crypto/subtle/resources/rsa-indexeddb.js: Copied from LayoutTests/crypto/subtle/rsa-indexeddb.html.
  • crypto/subtle/rsa-indexeddb-non-exportable-private-expected.txt: Added.
  • crypto/subtle/rsa-indexeddb-non-exportable-private.html: Added.
  • crypto/subtle/rsa-indexeddb-non-exportable.html:
  • crypto/subtle/rsa-indexeddb-private-expected.txt: Added.
  • crypto/subtle/rsa-indexeddb-private.html: Added.
  • crypto/subtle/rsa-indexeddb.html:
Location:
trunk/LayoutTests
Files:
4 added
3 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r201682 r201685  
     12016-06-04  Brady Eidson  <beidson@apple.com>
     2
     3        Modern IDB: Add -private.html variants of crypto/subtle IndexedDB tests.
     4        https://bugs.webkit.org/show_bug.cgi?id=153323
     5
     6        Reviewed by Darin Adler.
     7
     8        * crypto/subtle/resources/rsa-indexeddb-non-exportable.js: Copied from LayoutTests/crypto/subtle/rsa-indexeddb-non-exportable.html.
     9        * crypto/subtle/resources/rsa-indexeddb.js: Copied from LayoutTests/crypto/subtle/rsa-indexeddb.html.
     10
     11        * crypto/subtle/rsa-indexeddb-non-exportable-private-expected.txt: Added.
     12        * crypto/subtle/rsa-indexeddb-non-exportable-private.html: Added.
     13        * crypto/subtle/rsa-indexeddb-non-exportable.html:
     14        * crypto/subtle/rsa-indexeddb-private-expected.txt: Added.
     15        * crypto/subtle/rsa-indexeddb-private.html: Added.
     16        * crypto/subtle/rsa-indexeddb.html:
     17
    1182016-06-04  Alexey Proskuryakov  <ap@apple.com>
    219
  • trunk/LayoutTests/crypto/subtle/resources/rsa-indexeddb-non-exportable.js

    r201684 r201685  
    1 <!DOCTYPE html>
    2 <html>
    3 <head>
    4 <script src="../../resources/js-test-pre.js"></script>
    5 <script src="resources/common.js"></script>
    6 </head>
    7 <body>
    8 <script>
    9 
    101description("Test storing a private RSA key in IndexedDB, and retrieving it.");
    112
     
    6960    }
    7061});
    71 </script>
    72 <script src="../../resources/js-test-post.js"></script>
    73 </body>
    74 </html>
  • trunk/LayoutTests/crypto/subtle/resources/rsa-indexeddb.js

    r201684 r201685  
    1 <!DOCTYPE html>
    2 <html>
    3 <head>
    4 <script src="../../resources/js-test-pre.js"></script>
    5 <script src="resources/common.js"></script>
    6 </head>
    7 <body>
    8 <script>
    9 
    101description("Test storing a private RSA key in IndexedDB, and retrieving it.");
    112
     
    6960    }
    7061});
    71 </script>
    72 <script src="../../resources/js-test-post.js"></script>
    73 </body>
    74 </html>
  • trunk/LayoutTests/crypto/subtle/rsa-indexeddb-non-exportable.html

    r172898 r201685  
    66</head>
    77<body>
    8 <script>
    9 
    10 description("Test storing a private RSA key in IndexedDB, and retrieving it.");
    11 
    12 jsTestIsAsync = true;
    13 
    14 var privateKeyJSON = {
    15     kty: "RSA",
    16     alg: "RS256",
    17     n: "rcCUCv7Oc1HVam1DIhCzqknThWawOp8QLk8Ziy2p10ByjQFCajoFiyuAWl-R1WXZaf4xitLRracT9agpzIzc-MbLSHIGgWQGO21lGiImy5ftZ-D8bHAqRz2y15pzD4c4CEou7XSSLDoRnR0QG5MsDhD6s2gV9mwHkrtkCxtMWdBi-77as8wGmlNRldcOSgZDLK8UnCSgA1OguZ989bFyc8tOOEIb0xUSfPSz3LPSCnyYz68aDjmKVeNH-ig857OScyWbGyEy3Biw64qun3juUlNWsJ3zngkOdteYWytx5Qr4XKNs6R-Myyq72KUp02mJDZiiyiglxML_i3-_CeecCw",
    18     e: "AQAB",
    19     d: "eNLS37aCz7RXSNPD_DtLBJ6j5T8cSxdzRBCjPaI6WcGqJp16lq3UTwuoDLAqlA9oGYm238dsIWpuucP_lQtbWe-7SpxoI6_vmYGf7YVUHv1-DF9qiOmSrMmdxMnVOzYXY8RaT6thPjn_J5cfLV2xI_LwsrMtmpdSyNlgX0zTUhwtuahgAKMEChYjH2EnjHdHw6sY2-wApdcQI7ULE0oo5RzbQZpmuhcN9hiBc0L3hhF0qo50mbl02_65_GQ7DpVkXBxNgRBLzlPabmzzG2oAhfefLgYmSC1opaCkXE6vRWQNWNL45RZNZFYM3uoJghOMqGeocM0BpjdChHrPOlFvSQ",
    20     p: "4miTuAjKMeH5uJ5KB397QUwhbkYEgSbcA2mifmSkvE2018gb55qkBHK1eVryf1_m43LNlc6O_ak6gfzdZIZvS5NCGjPl0q09plUpu8qFOSspBwA67qGH76lFlZLn_d4yglS7wfLru4_5Ys8qLLs-DqVLviwposOnyyWqwM5AXp0",
    21     q: "xHYrzkivtmnz_sGchnWGc0q-pDOkKicptRpv2pMFIIXxnFX5aMeEXIZjVujXtwUy1UlFIN2GZJSvy5KJ79mu_XyNnFHMzedH-A3ee3u8h1UUrZF-vUu1_e4U_x67NN1dedzUSKynN7pFl3OkuShMBWGV-cwzOPdcVAfVuZlxUMc",
    22     dp: "fBzDzYDUBmBQGop7Hn0dvf_T27V6RqpctWo074CQZcFbP2atFVtKSj3viWT3xid2VHzcgiDHdfpM3nEVlEO1wwIonGCSvdjGEOZiiFVOjrZAOVxA8guOjyyFvqbXke06VwPIIVvfKeSU2zuhbP__1tt6F_fxow4Kb2xonGT0GGk",
    23     dq: "jmE2DiIPdhwDgLXAQpIaBqQ81bO3XfVT_LRULAwwwwlPuQV148H04zlh9TJ6Y2GZHYokV1U0eOBpJxfkb7dLYtpJpuiBjRf4yIUEoGlkkI_QlJnFSFr-YjGRdfNHqWBkxlSMZL770R9mIATndGkH7z5x-r9KwBZFC4FCG2hg_zE",
    24     qi: "YCX_pLwbMBA1ThVH0WcwmnytqNcrMCEwTm7ByA2eU6nWbQrULvf7m9_kzfLUcjsnpAVlBQG5JMXMy0Sq4ptwbywsa5-G8KAOOOR2L3v4hC-Eys9ftgFM_3i0o40eeQH4b3haPbntrIeMg8IzlOuVYKf9-2QuKDoWeRdd7NsdxTk"
    25 };
    26 
    27 crypto.subtle.importKey("jwk", asciiToUint8Array(JSON.stringify(privateKeyJSON)), null, false, ["sign", "verify"]).then(function(key) {
    28     var openRequest = indexedDB.open("crypto_subtle");
    29     openRequest.onupgradeneeded = function(event) {
    30         var objectStore = event.target.result.createObjectStore("rsa-indexeddb");
    31     }
    32     openRequest.onerror = function(event) {
    33         testFailed("Could not open database: " + event.target.error.name);
    34         finishJSTest();
    35     }
    36     openRequest.onsuccess = function(event) {
    37         db = event.target.result;
    38         storeKey();
    39     }
    40 
    41     function storeKey() {
    42         var objectStore = db.transaction("rsa-indexeddb", "readwrite").objectStore("rsa-indexeddb");
    43         var req = objectStore.put(key, "mykey");
    44         req.onerror = function(event) {
    45             testFailed("Could not put a key into database: " + event.target.error.name);
    46             finishJSTest();
    47         }
    48         req.onsuccess = function(event) { readKey(); }
    49     }
    50 
    51     function readKey() {
    52         var objectStore = db.transaction("rsa-indexeddb").objectStore("rsa-indexeddb");
    53         var req = objectStore.get("mykey");
    54         req.onerror = function(event) {
    55             testFailed("Could not get a key from database: " + event.target.error.name);
    56             finishJSTest();
    57         }
    58         req.onsuccess = function(event) {
    59             window.retrievedKey = event.target.result;
    60             shouldBe("retrievedKey.type", "'private'");
    61             shouldBe("retrievedKey.extractable", "false");
    62             shouldBe("retrievedKey.algorithm.name", "'RSASSA-PKCS1-v1_5'");
    63             shouldBe("retrievedKey.algorithm.modulusLength", "2048");
    64             shouldBe("bytesToHexString(retrievedKey.algorithm.publicExponent)", "'010001'");
    65             shouldBe("retrievedKey.usages", '["sign", "verify"]');
    66 
    67             finishJSTest();
    68         }
    69     }
    70 });
    71 </script>
     8<script src="resources/rsa-indexeddb-non-exportable.js"></script>
    729<script src="../../resources/js-test-post.js"></script>
    7310</body>
  • trunk/LayoutTests/crypto/subtle/rsa-indexeddb.html

    r163976 r201685  
    66</head>
    77<body>
    8 <script>
    9 
    10 description("Test storing a private RSA key in IndexedDB, and retrieving it.");
    11 
    12 jsTestIsAsync = true;
    13 
    14 var privateKeyJSON = {
    15     kty: "RSA",
    16     alg: "RS256",
    17     n: "rcCUCv7Oc1HVam1DIhCzqknThWawOp8QLk8Ziy2p10ByjQFCajoFiyuAWl-R1WXZaf4xitLRracT9agpzIzc-MbLSHIGgWQGO21lGiImy5ftZ-D8bHAqRz2y15pzD4c4CEou7XSSLDoRnR0QG5MsDhD6s2gV9mwHkrtkCxtMWdBi-77as8wGmlNRldcOSgZDLK8UnCSgA1OguZ989bFyc8tOOEIb0xUSfPSz3LPSCnyYz68aDjmKVeNH-ig857OScyWbGyEy3Biw64qun3juUlNWsJ3zngkOdteYWytx5Qr4XKNs6R-Myyq72KUp02mJDZiiyiglxML_i3-_CeecCw",
    18     e: "AQAB",
    19     d: "eNLS37aCz7RXSNPD_DtLBJ6j5T8cSxdzRBCjPaI6WcGqJp16lq3UTwuoDLAqlA9oGYm238dsIWpuucP_lQtbWe-7SpxoI6_vmYGf7YVUHv1-DF9qiOmSrMmdxMnVOzYXY8RaT6thPjn_J5cfLV2xI_LwsrMtmpdSyNlgX0zTUhwtuahgAKMEChYjH2EnjHdHw6sY2-wApdcQI7ULE0oo5RzbQZpmuhcN9hiBc0L3hhF0qo50mbl02_65_GQ7DpVkXBxNgRBLzlPabmzzG2oAhfefLgYmSC1opaCkXE6vRWQNWNL45RZNZFYM3uoJghOMqGeocM0BpjdChHrPOlFvSQ",
    20     p: "4miTuAjKMeH5uJ5KB397QUwhbkYEgSbcA2mifmSkvE2018gb55qkBHK1eVryf1_m43LNlc6O_ak6gfzdZIZvS5NCGjPl0q09plUpu8qFOSspBwA67qGH76lFlZLn_d4yglS7wfLru4_5Ys8qLLs-DqVLviwposOnyyWqwM5AXp0",
    21     q: "xHYrzkivtmnz_sGchnWGc0q-pDOkKicptRpv2pMFIIXxnFX5aMeEXIZjVujXtwUy1UlFIN2GZJSvy5KJ79mu_XyNnFHMzedH-A3ee3u8h1UUrZF-vUu1_e4U_x67NN1dedzUSKynN7pFl3OkuShMBWGV-cwzOPdcVAfVuZlxUMc",
    22     dp: "fBzDzYDUBmBQGop7Hn0dvf_T27V6RqpctWo074CQZcFbP2atFVtKSj3viWT3xid2VHzcgiDHdfpM3nEVlEO1wwIonGCSvdjGEOZiiFVOjrZAOVxA8guOjyyFvqbXke06VwPIIVvfKeSU2zuhbP__1tt6F_fxow4Kb2xonGT0GGk",
    23     dq: "jmE2DiIPdhwDgLXAQpIaBqQ81bO3XfVT_LRULAwwwwlPuQV148H04zlh9TJ6Y2GZHYokV1U0eOBpJxfkb7dLYtpJpuiBjRf4yIUEoGlkkI_QlJnFSFr-YjGRdfNHqWBkxlSMZL770R9mIATndGkH7z5x-r9KwBZFC4FCG2hg_zE",
    24     qi: "YCX_pLwbMBA1ThVH0WcwmnytqNcrMCEwTm7ByA2eU6nWbQrULvf7m9_kzfLUcjsnpAVlBQG5JMXMy0Sq4ptwbywsa5-G8KAOOOR2L3v4hC-Eys9ftgFM_3i0o40eeQH4b3haPbntrIeMg8IzlOuVYKf9-2QuKDoWeRdd7NsdxTk"
    25 };
    26 
    27 crypto.subtle.importKey("jwk", asciiToUint8Array(JSON.stringify(privateKeyJSON)), null, true, ["sign", "verify"]).then(function(key) {
    28     var openRequest = indexedDB.open("crypto_subtle");
    29     openRequest.onupgradeneeded = function(event) {
    30         var objectStore = event.target.result.createObjectStore("rsa-indexeddb");
    31     }
    32     openRequest.onerror = function(event) {
    33         testFailed("Could not open database: " + event.target.error.name);
    34         finishJSTest();
    35     }
    36     openRequest.onsuccess = function(event) {
    37         db = event.target.result;
    38         storeKey();
    39     }
    40 
    41     function storeKey() {
    42         var objectStore = db.transaction("rsa-indexeddb", "readwrite").objectStore("rsa-indexeddb");
    43         var req = objectStore.put(key, "mykey");
    44         req.onerror = function(event) {
    45             testFailed("Could not put a key into database: " + event.target.error.name);
    46             finishJSTest();
    47         }
    48         req.onsuccess = function(event) { readKey(); }
    49     }
    50 
    51     function readKey() {
    52         var objectStore = db.transaction("rsa-indexeddb").objectStore("rsa-indexeddb");
    53         var req = objectStore.get("mykey");
    54         req.onerror = function(event) {
    55             testFailed("Could not get a key from database: " + event.target.error.name);
    56             finishJSTest();
    57         }
    58         req.onsuccess = function(event) {
    59             window.retrievedKey = event.target.result;
    60             shouldBe("retrievedKey.type", "'private'");
    61             shouldBe("retrievedKey.extractable", "true");
    62             shouldBe("retrievedKey.algorithm.name", "'RSASSA-PKCS1-v1_5'");
    63             shouldBe("retrievedKey.algorithm.modulusLength", "2048");
    64             shouldBe("bytesToHexString(retrievedKey.algorithm.publicExponent)", "'010001'");
    65             shouldBe("retrievedKey.usages", '["sign", "verify"]');
    66 
    67             finishJSTest();
    68         }
    69     }
    70 });
    71 </script>
     8<script src="resources/rsa-indexeddb.js"></script>
    729<script src="../../resources/js-test-post.js"></script>
    7310</body>
Note: See TracChangeset for help on using the changeset viewer.