Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/logging.h" | 5 #include "base/logging.h" |
| 6 #include "base/stl_util.h" | 6 #include "base/stl_util.h" |
| 7 #include "content/child/webcrypto/algorithm_dispatch.h" | 7 #include "content/child/webcrypto/algorithm_dispatch.h" |
| 8 #include "content/child/webcrypto/crypto_data.h" | 8 #include "content/child/webcrypto/crypto_data.h" |
| 9 #include "content/child/webcrypto/status.h" | 9 #include "content/child/webcrypto/status.h" |
| 10 #include "content/child/webcrypto/test/test_helpers.h" | 10 #include "content/child/webcrypto/test/test_helpers.h" |
| (...skipping 805 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 816 blink::WebCryptoKey private_key; | 816 blink::WebCryptoKey private_key; |
| 817 | 817 |
| 818 ASSERT_EQ(Status::ErrorCreateKeyEmptyUsages(), | 818 ASSERT_EQ(Status::ErrorCreateKeyEmptyUsages(), |
| 819 GenerateKeyPair(CreateRsaHashedKeyGenAlgorithm( | 819 GenerateKeyPair(CreateRsaHashedKeyGenAlgorithm( |
| 820 blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5, | 820 blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5, |
| 821 blink::WebCryptoAlgorithmIdSha256, | 821 blink::WebCryptoAlgorithmIdSha256, |
| 822 modulus_length, public_exponent), | 822 modulus_length, public_exponent), |
| 823 true, 0, &public_key, &private_key)); | 823 true, 0, &public_key, &private_key)); |
| 824 } | 824 } |
| 825 | 825 |
| 826 TEST(WebCryptoRsaSsaTest, ImportKeyEmptyUsages) { | |
|
eroman
2014/12/09 21:04:46
Could you also add the same sort of test to ecdh_u
Habib Virji
2014/12/15 18:48:55
Added test.
| |
| 827 blink::WebCryptoKey key; | |
| 828 // Public without usage does not throw error. | |
| 829 ASSERT_EQ(Status::Success(), | |
| 830 ImportKey(blink::WebCryptoKeyFormatSpki, | |
| 831 CryptoData(HexStringToBytes(kPublicKeySpkiDerHex)), | |
| 832 CreateRsaHashedImportAlgorithm( | |
| 833 blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5, | |
| 834 blink::WebCryptoAlgorithmIdSha256), | |
| 835 true, 0, &key)); | |
| 836 // Private key usage will generate error. | |
|
eroman
2014/12/09 21:04:46
Could you add two more tests for JWK:
(1) Import
Habib Virji
2014/12/15 18:48:55
Done. Have done export key and import key as jwk.
| |
| 837 ASSERT_EQ(Status::ErrorImportKeyEmptyUsages(), | |
| 838 ImportKey(blink::WebCryptoKeyFormatPkcs8, | |
| 839 CryptoData(HexStringToBytes(kPrivateKeyPkcs8DerHex)), | |
| 840 CreateRsaHashedImportAlgorithm( | |
| 841 blink::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5, | |
| 842 blink::WebCryptoAlgorithmIdSha1), | |
| 843 true, 0, &key)); | |
| 844 | |
| 845 } | |
| 846 | |
| 826 TEST(WebCryptoRsaSsaTest, ImportExportJwkRsaPublicKey) { | 847 TEST(WebCryptoRsaSsaTest, ImportExportJwkRsaPublicKey) { |
| 827 struct TestCase { | 848 struct TestCase { |
| 828 const blink::WebCryptoAlgorithmId hash; | 849 const blink::WebCryptoAlgorithmId hash; |
| 829 const blink::WebCryptoKeyUsageMask usage; | 850 const blink::WebCryptoKeyUsageMask usage; |
| 830 const char* const jwk_alg; | 851 const char* const jwk_alg; |
| 831 }; | 852 }; |
| 832 const TestCase kTests[] = { | 853 const TestCase kTests[] = { |
| 833 {blink::WebCryptoAlgorithmIdSha1, blink::WebCryptoKeyUsageVerify, "RS1"}, | 854 {blink::WebCryptoAlgorithmIdSha1, blink::WebCryptoKeyUsageVerify, "RS1"}, |
| 834 {blink::WebCryptoAlgorithmIdSha256, | 855 {blink::WebCryptoAlgorithmIdSha256, |
| 835 blink::WebCryptoKeyUsageVerify, | 856 blink::WebCryptoKeyUsageVerify, |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 984 true, usages, &key); | 1005 true, usages, &key); |
| 985 EXPECT_EQ(test_error, StatusToString(status)); | 1006 EXPECT_EQ(test_error, StatusToString(status)); |
| 986 } | 1007 } |
| 987 } | 1008 } |
| 988 | 1009 |
| 989 } // namespace | 1010 } // namespace |
| 990 | 1011 |
| 991 } // namespace webcrypto | 1012 } // namespace webcrypto |
| 992 | 1013 |
| 993 } // namespace content | 1014 } // namespace content |
| OLD | NEW |