| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 struct OperationParamsMapping { | 63 struct OperationParamsMapping { |
| 64 WebKit::WebCryptoAlgorithmId algorithmId; | 64 WebKit::WebCryptoAlgorithmId algorithmId; |
| 65 AlgorithmOperation operation; | 65 AlgorithmOperation operation; |
| 66 AlgorithmParamsForOperation params; | 66 AlgorithmParamsForOperation params; |
| 67 }; | 67 }; |
| 68 | 68 |
| 69 const AlgorithmNameMapping algorithmNameMappings[] = { | 69 const AlgorithmNameMapping algorithmNameMappings[] = { |
| 70 {"AES-CBC", WebKit::WebCryptoAlgorithmIdAesCbc}, | 70 {"AES-CBC", WebKit::WebCryptoAlgorithmIdAesCbc}, |
| 71 {"HMAC", WebKit::WebCryptoAlgorithmIdHmac}, | 71 {"HMAC", WebKit::WebCryptoAlgorithmIdHmac}, |
| 72 {"RSASSA-PKCS1-v1_5", WebKit::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5}, | 72 {"RSASSA-PKCS1-v1_5", WebKit::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5}, |
| 73 {"RSAES-PKCS1-v1_5", WebKit::WebCryptoAlgorithmIdRsaEsPkcs1v1_5}, |
| 73 {"SHA-1", WebKit::WebCryptoAlgorithmIdSha1}, | 74 {"SHA-1", WebKit::WebCryptoAlgorithmIdSha1}, |
| 74 {"SHA-224", WebKit::WebCryptoAlgorithmIdSha224}, | 75 {"SHA-224", WebKit::WebCryptoAlgorithmIdSha224}, |
| 75 {"SHA-256", WebKit::WebCryptoAlgorithmIdSha256}, | 76 {"SHA-256", WebKit::WebCryptoAlgorithmIdSha256}, |
| 76 {"SHA-384", WebKit::WebCryptoAlgorithmIdSha384}, | 77 {"SHA-384", WebKit::WebCryptoAlgorithmIdSha384}, |
| 77 {"SHA-512", WebKit::WebCryptoAlgorithmIdSha512}, | 78 {"SHA-512", WebKit::WebCryptoAlgorithmIdSha512}, |
| 78 }; | 79 }; |
| 79 | 80 |
| 80 // What operations each algorithm supports, and what parameters it expects. | 81 // What operations each algorithm supports, and what parameters it expects. |
| 81 const OperationParamsMapping operationParamsMappings[] = { | 82 const OperationParamsMapping operationParamsMappings[] = { |
| 82 // AES-CBC | 83 // AES-CBC |
| 83 {WebKit::WebCryptoAlgorithmIdAesCbc, Decrypt, WebKit::WebCryptoAlgorithmPara
msTypeAesCbcParams}, | 84 {WebKit::WebCryptoAlgorithmIdAesCbc, Decrypt, WebKit::WebCryptoAlgorithmPara
msTypeAesCbcParams}, |
| 84 {WebKit::WebCryptoAlgorithmIdAesCbc, Encrypt, WebKit::WebCryptoAlgorithmPara
msTypeAesCbcParams}, | 85 {WebKit::WebCryptoAlgorithmIdAesCbc, Encrypt, WebKit::WebCryptoAlgorithmPara
msTypeAesCbcParams}, |
| 85 {WebKit::WebCryptoAlgorithmIdAesCbc, GenerateKey, WebKit::WebCryptoAlgorithm
ParamsTypeAesKeyGenParams}, | 86 {WebKit::WebCryptoAlgorithmIdAesCbc, GenerateKey, WebKit::WebCryptoAlgorithm
ParamsTypeAesKeyGenParams}, |
| 86 {WebKit::WebCryptoAlgorithmIdAesCbc, ImportKey, WebKit::WebCryptoAlgorithmPa
ramsTypeNone}, | 87 {WebKit::WebCryptoAlgorithmIdAesCbc, ImportKey, WebKit::WebCryptoAlgorithmPa
ramsTypeNone}, |
| 87 | 88 |
| 88 // HMAC | 89 // HMAC |
| 89 {WebKit::WebCryptoAlgorithmIdHmac, Sign, WebKit::WebCryptoAlgorithmParamsTyp
eHmacParams}, | 90 {WebKit::WebCryptoAlgorithmIdHmac, Sign, WebKit::WebCryptoAlgorithmParamsTyp
eHmacParams}, |
| 90 {WebKit::WebCryptoAlgorithmIdHmac, Verify, WebKit::WebCryptoAlgorithmParamsT
ypeHmacParams}, | 91 {WebKit::WebCryptoAlgorithmIdHmac, Verify, WebKit::WebCryptoAlgorithmParamsT
ypeHmacParams}, |
| 91 {WebKit::WebCryptoAlgorithmIdHmac, GenerateKey, WebKit::WebCryptoAlgorithmPa
ramsTypeHmacKeyParams}, | 92 {WebKit::WebCryptoAlgorithmIdHmac, GenerateKey, WebKit::WebCryptoAlgorithmPa
ramsTypeHmacKeyParams}, |
| 92 {WebKit::WebCryptoAlgorithmIdHmac, ImportKey, WebKit::WebCryptoAlgorithmPara
msTypeHmacParams}, | 93 {WebKit::WebCryptoAlgorithmIdHmac, ImportKey, WebKit::WebCryptoAlgorithmPara
msTypeHmacParams}, |
| 93 | 94 |
| 94 // RSASSA-PKCS1-v1_5 | 95 // RSASSA-PKCS1-v1_5 |
| 95 {WebKit::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5, Sign, WebKit::WebCryptoAlgorit
hmParamsTypeRsaSsaParams}, | 96 {WebKit::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5, Sign, WebKit::WebCryptoAlgorit
hmParamsTypeRsaSsaParams}, |
| 96 {WebKit::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5, Verify, WebKit::WebCryptoAlgor
ithmParamsTypeRsaSsaParams}, | 97 {WebKit::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5, Verify, WebKit::WebCryptoAlgor
ithmParamsTypeRsaSsaParams}, |
| 97 {WebKit::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5, GenerateKey, WebKit::WebCrypto
AlgorithmParamsTypeRsaKeyGenParams}, | 98 {WebKit::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5, GenerateKey, WebKit::WebCrypto
AlgorithmParamsTypeRsaKeyGenParams}, |
| 98 {WebKit::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5, ImportKey, WebKit::WebCryptoAl
gorithmParamsTypeNone}, | 99 {WebKit::WebCryptoAlgorithmIdRsaSsaPkcs1v1_5, ImportKey, WebKit::WebCryptoAl
gorithmParamsTypeNone}, |
| 99 | 100 |
| 101 // RSAES-PKCS1-v1_5 |
| 102 {WebKit::WebCryptoAlgorithmIdRsaEsPkcs1v1_5, Encrypt, WebKit::WebCryptoAlgor
ithmParamsTypeNone}, |
| 103 {WebKit::WebCryptoAlgorithmIdRsaEsPkcs1v1_5, Decrypt, WebKit::WebCryptoAlgor
ithmParamsTypeNone}, |
| 104 {WebKit::WebCryptoAlgorithmIdRsaEsPkcs1v1_5, GenerateKey, WebKit::WebCryptoA
lgorithmParamsTypeRsaKeyGenParams}, |
| 105 {WebKit::WebCryptoAlgorithmIdRsaEsPkcs1v1_5, ImportKey, WebKit::WebCryptoAlg
orithmParamsTypeNone}, |
| 106 |
| 100 // SHA-* | 107 // SHA-* |
| 101 {WebKit::WebCryptoAlgorithmIdSha1, Digest, WebKit::WebCryptoAlgorithmParamsT
ypeNone}, | 108 {WebKit::WebCryptoAlgorithmIdSha1, Digest, WebKit::WebCryptoAlgorithmParamsT
ypeNone}, |
| 102 {WebKit::WebCryptoAlgorithmIdSha224, Digest, WebKit::WebCryptoAlgorithmParam
sTypeNone}, | 109 {WebKit::WebCryptoAlgorithmIdSha224, Digest, WebKit::WebCryptoAlgorithmParam
sTypeNone}, |
| 103 {WebKit::WebCryptoAlgorithmIdSha256, Digest, WebKit::WebCryptoAlgorithmParam
sTypeNone}, | 110 {WebKit::WebCryptoAlgorithmIdSha256, Digest, WebKit::WebCryptoAlgorithmParam
sTypeNone}, |
| 104 {WebKit::WebCryptoAlgorithmIdSha384, Digest, WebKit::WebCryptoAlgorithmParam
sTypeNone}, | 111 {WebKit::WebCryptoAlgorithmIdSha384, Digest, WebKit::WebCryptoAlgorithmParam
sTypeNone}, |
| 105 {WebKit::WebCryptoAlgorithmIdSha512, Digest, WebKit::WebCryptoAlgorithmParam
sTypeNone}, | 112 {WebKit::WebCryptoAlgorithmIdSha512, Digest, WebKit::WebCryptoAlgorithmParam
sTypeNone}, |
| 106 }; | 113 }; |
| 107 | 114 |
| 108 // This structure describes an algorithm and its supported operations. | 115 // This structure describes an algorithm and its supported operations. |
| 109 struct AlgorithmInfo { | 116 struct AlgorithmInfo { |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 } | 474 } |
| 468 | 475 |
| 469 } // namespace | 476 } // namespace |
| 470 | 477 |
| 471 bool normalizeAlgorithm(const Dictionary& raw, AlgorithmOperation op, WebKit::We
bCryptoAlgorithm& algorithm, ExceptionState& es) | 478 bool normalizeAlgorithm(const Dictionary& raw, AlgorithmOperation op, WebKit::We
bCryptoAlgorithm& algorithm, ExceptionState& es) |
| 472 { | 479 { |
| 473 return normalizeAlgorithm(raw, op, algorithm, ExceptionContext(), es); | 480 return normalizeAlgorithm(raw, op, algorithm, ExceptionContext(), es); |
| 474 } | 481 } |
| 475 | 482 |
| 476 } // namespace WebCore | 483 } // namespace WebCore |
| OLD | NEW |