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 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 | 143 |
144 bool hasLengthBits() const { return m_hasLengthBits; } | 144 bool hasLengthBits() const { return m_hasLengthBits; } |
145 | 145 |
146 unsigned optionalLengthBits() const { return m_optionalLengthBits; } | 146 unsigned optionalLengthBits() const { return m_optionalLengthBits; } |
147 | 147 |
148 private: | 148 private: |
149 const bool m_hasLengthBits; | 149 const bool m_hasLengthBits; |
150 const unsigned m_optionalLengthBits; | 150 const unsigned m_optionalLengthBits; |
151 }; | 151 }; |
152 | 152 |
153 class WebCryptoRsaKeyGenParams : public WebCryptoAlgorithmParams { | |
154 public: | |
155 WebCryptoRsaKeyGenParams(unsigned modulusLengthBits, const unsigned char* pu
blicExponent, unsigned publicExponentSize) | |
156 : m_modulusLengthBits(modulusLengthBits) | |
157 , m_publicExponent(publicExponent, publicExponentSize) | |
158 { | |
159 } | |
160 | |
161 virtual WebCryptoAlgorithmParamsType type() const { return WebCryptoAlgorith
mParamsTypeRsaKeyGenParams; } | |
162 | |
163 unsigned modulusLengthBits() const { return m_modulusLengthBits; } | |
164 const WebVector<unsigned char>& publicExponent() const { return m_publicExpo
nent; } | |
165 | |
166 private: | |
167 const unsigned m_modulusLengthBits; | |
168 const WebVector<unsigned char> m_publicExponent; | |
169 }; | |
170 | |
171 class WebCryptoAesGcmParams : public WebCryptoAlgorithmParams { | 153 class WebCryptoAesGcmParams : public WebCryptoAlgorithmParams { |
172 public: | 154 public: |
173 WebCryptoAesGcmParams(const unsigned char* iv, unsigned ivSize, bool hasAddi
tionalData, const unsigned char* additionalData, unsigned additionalDataSize, bo
ol hasTagLengthBits, unsigned char tagLengthBits) | 155 WebCryptoAesGcmParams(const unsigned char* iv, unsigned ivSize, bool hasAddi
tionalData, const unsigned char* additionalData, unsigned additionalDataSize, bo
ol hasTagLengthBits, unsigned char tagLengthBits) |
174 : m_iv(iv, ivSize) | 156 : m_iv(iv, ivSize) |
175 , m_hasAdditionalData(hasAdditionalData) | 157 , m_hasAdditionalData(hasAdditionalData) |
176 , m_optionalAdditionalData(additionalData, additionalDataSize) | 158 , m_optionalAdditionalData(additionalData, additionalDataSize) |
177 , m_hasTagLengthBits(hasTagLengthBits) | 159 , m_hasTagLengthBits(hasTagLengthBits) |
178 , m_optionalTagLengthBits(tagLengthBits) | 160 , m_optionalTagLengthBits(tagLengthBits) |
179 { | 161 { |
180 BLINK_ASSERT(hasAdditionalData || !additionalDataSize); | 162 BLINK_ASSERT(hasAdditionalData || !additionalDataSize); |
(...skipping 21 matching lines...) Expand all Loading... |
202 class WebCryptoRsaHashedImportParams : public WebCryptoAlgorithmParamsWithHash { | 184 class WebCryptoRsaHashedImportParams : public WebCryptoAlgorithmParamsWithHash { |
203 public: | 185 public: |
204 explicit WebCryptoRsaHashedImportParams(const WebCryptoAlgorithm& hash) | 186 explicit WebCryptoRsaHashedImportParams(const WebCryptoAlgorithm& hash) |
205 : WebCryptoAlgorithmParamsWithHash(hash) | 187 : WebCryptoAlgorithmParamsWithHash(hash) |
206 { | 188 { |
207 } | 189 } |
208 | 190 |
209 virtual WebCryptoAlgorithmParamsType type() const { return WebCryptoAlgorith
mParamsTypeRsaHashedImportParams; } | 191 virtual WebCryptoAlgorithmParamsType type() const { return WebCryptoAlgorith
mParamsTypeRsaHashedImportParams; } |
210 }; | 192 }; |
211 | 193 |
212 class WebCryptoRsaHashedKeyGenParams : public WebCryptoRsaKeyGenParams { | 194 class WebCryptoRsaHashedKeyGenParams : public WebCryptoAlgorithmParams { |
213 public: | 195 public: |
214 explicit WebCryptoRsaHashedKeyGenParams(const WebCryptoAlgorithm& hash, unsi
gned modulusLengthBits, const unsigned char* publicExponent, unsigned publicExpo
nentSize) | 196 explicit WebCryptoRsaHashedKeyGenParams(const WebCryptoAlgorithm& hash, unsi
gned modulusLengthBits, const unsigned char* publicExponent, unsigned publicExpo
nentSize) |
215 : WebCryptoRsaKeyGenParams(modulusLengthBits, publicExponent, publicExpo
nentSize) | 197 : m_modulusLengthBits(modulusLengthBits) |
| 198 , m_publicExponent(publicExponent, publicExponentSize) |
216 , m_hash(hash) | 199 , m_hash(hash) |
217 { | 200 { |
218 BLINK_ASSERT(!hash.isNull()); | 201 BLINK_ASSERT(!hash.isNull()); |
219 } | 202 } |
220 | 203 |
221 virtual WebCryptoAlgorithmParamsType type() const { return WebCryptoAlgorith
mParamsTypeRsaHashedKeyGenParams; } | 204 virtual WebCryptoAlgorithmParamsType type() const { return WebCryptoAlgorith
mParamsTypeRsaHashedKeyGenParams; } |
222 | 205 |
| 206 unsigned modulusLengthBits() const { return m_modulusLengthBits; } |
| 207 const WebVector<unsigned char>& publicExponent() const { return m_publicExpo
nent; } |
223 const WebCryptoAlgorithm& hash() const { return m_hash; } | 208 const WebCryptoAlgorithm& hash() const { return m_hash; } |
224 | 209 |
225 private: | 210 private: |
| 211 const unsigned m_modulusLengthBits; |
| 212 const WebVector<unsigned char> m_publicExponent; |
226 const WebCryptoAlgorithm m_hash; | 213 const WebCryptoAlgorithm m_hash; |
227 }; | 214 }; |
228 | 215 |
229 class WebCryptoRsaOaepParams : public WebCryptoAlgorithmParams { | 216 class WebCryptoRsaOaepParams : public WebCryptoAlgorithmParams { |
230 public: | 217 public: |
231 WebCryptoRsaOaepParams(bool hasLabel, const unsigned char* label, unsigned l
abelSize) | 218 WebCryptoRsaOaepParams(bool hasLabel, const unsigned char* label, unsigned l
abelSize) |
232 : m_hasLabel(hasLabel) | 219 : m_hasLabel(hasLabel) |
233 , m_optionalLabel(label, labelSize) | 220 , m_optionalLabel(label, labelSize) |
234 { | 221 { |
235 BLINK_ASSERT(hasLabel || !labelSize); | 222 BLINK_ASSERT(hasLabel || !labelSize); |
236 } | 223 } |
237 | 224 |
238 virtual WebCryptoAlgorithmParamsType type() const { return WebCryptoAlgorith
mParamsTypeRsaOaepParams; } | 225 virtual WebCryptoAlgorithmParamsType type() const { return WebCryptoAlgorith
mParamsTypeRsaOaepParams; } |
239 | 226 |
240 bool hasLabel() const { return m_hasLabel; } | 227 bool hasLabel() const { return m_hasLabel; } |
241 const WebVector<unsigned char>& optionalLabel() const { return m_optionalLab
el; } | 228 const WebVector<unsigned char>& optionalLabel() const { return m_optionalLab
el; } |
242 | 229 |
243 private: | 230 private: |
244 const bool m_hasLabel; | 231 const bool m_hasLabel; |
245 const WebVector<unsigned char> m_optionalLabel; | 232 const WebVector<unsigned char> m_optionalLabel; |
246 }; | 233 }; |
247 | 234 |
248 } // namespace blink | 235 } // namespace blink |
249 | 236 |
250 #endif | 237 #endif |
OLD | NEW |