Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Unified Diff: public/platform/WebCryptoAlgorithmParams.h

Issue 109393003: [webcrypto] Refactor some of the algorithm parameter names. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Improve a comment Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/modules/crypto/RsaKeyGenParams.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: public/platform/WebCryptoAlgorithmParams.h
diff --git a/public/platform/WebCryptoAlgorithmParams.h b/public/platform/WebCryptoAlgorithmParams.h
index a6d6105c5af678b11d846e5831e9b5fa84886da2..e2de88e19e48d722ffe32654699f2a0254664744 100644
--- a/public/platform/WebCryptoAlgorithmParams.h
+++ b/public/platform/WebCryptoAlgorithmParams.h
@@ -42,7 +42,12 @@ namespace blink {
//
// http://www.w3.org/TR/WebCryptoAPI
//
-// The parameters in the spec have the same name, minus the "WebCrypto" prefix.
+// For the most part, the parameters in the spec have the same name,
+// except that in the blink code:
+//
+// - Structure names are prefixed by "WebCrypto"
+// - Optional fields are prefixed by "optional"
+// - Data length properties are suffixed by either "Bits" or "Bytes"
class WebCryptoAlgorithmParams {
public:
@@ -75,33 +80,36 @@ private:
class WebCryptoAesCtrParams : public WebCryptoAlgorithmParams {
public:
- WebCryptoAesCtrParams(unsigned char length, const unsigned char* counter, unsigned counterSize)
+ WebCryptoAesCtrParams(unsigned char lengthBits, const unsigned char* counter, unsigned counterSize)
: WebCryptoAlgorithmParams(WebCryptoAlgorithmParamsTypeAesCtrParams)
, m_counter(counter, counterSize)
- , m_length(length)
+ , m_lengthBits(lengthBits)
{
}
const WebVector<unsigned char>& counter() const { return m_counter; }
- unsigned char length() const { return m_length; }
+ unsigned char lengthBits() const { return m_lengthBits; }
private:
const WebVector<unsigned char> m_counter;
- const unsigned char m_length;
+ const unsigned char m_lengthBits;
};
class WebCryptoAesKeyGenParams : public WebCryptoAlgorithmParams {
public:
- explicit WebCryptoAesKeyGenParams(unsigned short length)
+ explicit WebCryptoAesKeyGenParams(unsigned short lengthBits)
: WebCryptoAlgorithmParams(WebCryptoAlgorithmParamsTypeAesKeyGenParams)
- , m_length(length)
+ , m_lengthBits(lengthBits)
{
}
- unsigned short length() const { return m_length; }
+ // FIXME: Delete once no longer referenced by chromium.
+ unsigned short length() const { return m_lengthBits; }
+
+ unsigned short lengthBits() const { return m_lengthBits; }
private:
- const unsigned short m_length;
+ const unsigned short m_lengthBits;
};
class WebCryptoHmacParams : public WebCryptoAlgorithmParams {
@@ -121,31 +129,35 @@ private:
class WebCryptoHmacKeyParams : public WebCryptoAlgorithmParams {
public:
- WebCryptoHmacKeyParams(const WebCryptoAlgorithm& hash, bool hasLength, unsigned length)
+ WebCryptoHmacKeyParams(const WebCryptoAlgorithm& hash, bool hasLengthBytes, unsigned lengthBytes)
: WebCryptoAlgorithmParams(WebCryptoAlgorithmParamsTypeHmacKeyParams)
, m_hash(hash)
- , m_hasLength(hasLength)
- , m_length(length)
+ , m_hasLengthBytes(hasLengthBytes)
+ , m_optionalLengthBytes(lengthBytes)
{
BLINK_ASSERT(!hash.isNull());
+ BLINK_ASSERT(hasLengthBytes || !lengthBytes);
}
const WebCryptoAlgorithm& hash() const { return m_hash; }
- bool hasLength() const { return m_hasLength; }
+ bool hasLengthBytes() const { return m_hasLengthBytes; }
+ // FIXME: Delete once no longer referenced by chromium.
bool getLength(unsigned& length) const
{
- if (!m_hasLength)
+ if (!m_hasLengthBytes)
return false;
- length = m_length;
+ length = m_optionalLengthBytes;
return true;
}
+ unsigned optionalLengthBytes() const { return m_optionalLengthBytes; }
+
private:
const WebCryptoAlgorithm m_hash;
- const bool m_hasLength;
- const unsigned m_length;
+ const bool m_hasLengthBytes;
+ const unsigned m_optionalLengthBytes;
};
class WebCryptoRsaSsaParams : public WebCryptoAlgorithmParams {
@@ -165,59 +177,52 @@ private:
class WebCryptoRsaKeyGenParams : public WebCryptoAlgorithmParams {
public:
- WebCryptoRsaKeyGenParams(unsigned modulusLength, const unsigned char* publicExponent, unsigned publicExponentSize)
+ WebCryptoRsaKeyGenParams(unsigned modulusLengthBits, const unsigned char* publicExponent, unsigned publicExponentSize)
: WebCryptoAlgorithmParams(WebCryptoAlgorithmParamsTypeRsaKeyGenParams)
- , m_modulusLength(modulusLength)
+ , m_modulusLengthBits(modulusLengthBits)
, m_publicExponent(publicExponent, publicExponentSize)
{
}
- unsigned modulusLength() const { return m_modulusLength; }
+ // FIXME: Delete once no longer referenced by chromium.
+ unsigned modulusLength() const { return m_modulusLengthBits; }
+
+ unsigned modulusLengthBits() const { return m_modulusLengthBits; }
const WebVector<unsigned char>& publicExponent() const { return m_publicExponent; }
private:
- const unsigned m_modulusLength;
+ const unsigned m_modulusLengthBits;
const WebVector<unsigned char> m_publicExponent;
};
class WebCryptoAesGcmParams : public WebCryptoAlgorithmParams {
public:
- WebCryptoAesGcmParams(const unsigned char* iv, unsigned ivSize, bool hasAdditionalData, const unsigned char* additionalData, unsigned additionalDataSize, bool hasTagLength, unsigned char tagLength)
+ WebCryptoAesGcmParams(const unsigned char* iv, unsigned ivSize, bool hasAdditionalData, const unsigned char* additionalData, unsigned additionalDataSize, bool hasTagLengthBits, unsigned char tagLengthBits)
: WebCryptoAlgorithmParams(WebCryptoAlgorithmParamsTypeAesGcmParams)
, m_iv(iv, ivSize)
, m_hasAdditionalData(hasAdditionalData)
- , m_additionalData(additionalData, additionalDataSize)
- , m_hasTagLength(hasTagLength)
- , m_tagLength(tagLength)
+ , m_optionalAdditionalData(additionalData, additionalDataSize)
+ , m_hasTagLengthBits(hasTagLengthBits)
+ , m_optionalTagLengthBits(tagLengthBits)
{
+ BLINK_ASSERT(hasAdditionalData || !additionalDataSize);
+ BLINK_ASSERT(hasTagLengthBits || !tagLengthBits);
}
const WebVector<unsigned char>& iv() const { return m_iv; }
bool hasAdditionalData() const { return m_hasAdditionalData; }
- bool getAdditionalData(const WebVector<unsigned char>*& additionalData) const
- {
- if (!m_hasAdditionalData)
- return false;
- additionalData = &m_additionalData;
- return true;
- }
+ const WebVector<unsigned char>& optionalAdditionalData() const { return m_optionalAdditionalData; }
- bool hasTagLength() const { return m_hasTagLength; }
- bool getTagLength(unsigned& tagLength) const
- {
- if (!m_hasTagLength)
- return false;
- tagLength = m_tagLength;
- return true;
- }
+ bool hasTagLengthBits() const { return m_hasTagLengthBits; }
+ unsigned optionalTagLengthBits() const { return m_optionalTagLengthBits; }
private:
const WebVector<unsigned char> m_iv;
const bool m_hasAdditionalData;
- const WebVector<unsigned char> m_additionalData;
- const bool m_hasTagLength;
- const unsigned char m_tagLength;
+ const WebVector<unsigned char> m_optionalAdditionalData;
+ const bool m_hasTagLengthBits;
+ const unsigned char m_optionalTagLengthBits;
};
class WebCryptoRsaOaepParams : public WebCryptoAlgorithmParams {
@@ -226,26 +231,21 @@ public:
: WebCryptoAlgorithmParams(WebCryptoAlgorithmParamsTypeRsaOaepParams)
, m_hash(hash)
, m_hasLabel(hasLabel)
- , m_label(label, labelSize)
+ , m_optionalLabel(label, labelSize)
{
BLINK_ASSERT(!hash.isNull());
+ BLINK_ASSERT(hasLabel || !labelSize);
}
const WebCryptoAlgorithm& hash() const { return m_hash; }
bool hasLabel() const { return m_hasLabel; }
- bool getLabel(const WebVector<unsigned char>*& label) const
- {
- if (!m_hasLabel)
- return false;
- label = &m_label;
- return true;
- }
+ const WebVector<unsigned char>& optionalLabel() const { return m_optionalLabel; }
private:
const WebCryptoAlgorithm m_hash;
const bool m_hasLabel;
- const WebVector<unsigned char> m_label;
+ const WebVector<unsigned char> m_optionalLabel;
};
} // namespace blink
« no previous file with comments | « Source/modules/crypto/RsaKeyGenParams.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698