update format of doxygen
Change-Id: I52abc25afb46df4ac010b5251b123a6c1be2434b
diff --git a/src/ca-module.cpp b/src/ca-module.cpp
index eae209e..d64d904 100644
--- a/src/ca-module.cpp
+++ b/src/ca-module.cpp
@@ -39,6 +39,7 @@
static const time::seconds DEFAULT_DATA_FRESHNESS_PERIOD = 1_s;
static const time::seconds REQUEST_VALIDITY_PERIOD_NOT_BEFORE_GRACE_PERIOD = 120_s;
+static const int AES_128_KEY_LEN = 16;
NDN_LOG_INIT(ndncert.ca);
diff --git a/src/configuration.hpp b/src/configuration.hpp
index 8a1d037..c881786 100644
--- a/src/configuration.hpp
+++ b/src/configuration.hpp
@@ -85,7 +85,7 @@
* fired whenever a request instance is created, challenge status is updated, and when certificate
* is issued.
*
- * @p CaState, input, the state of the certificate request whose status is updated.
+ * @param CaState The state of the certificate request whose status is updated.
*/
using StatusUpdateCallback = function<void(const CaState&)>;
diff --git a/src/detail/crypto-helper.hpp b/src/detail/crypto-helper.hpp
index 38110c5..c3546c4 100644
--- a/src/detail/crypto-helper.hpp
+++ b/src/detail/crypto-helper.hpp
@@ -28,7 +28,6 @@
static const int INFO_LEN = 10;
static const uint8_t INFO[] = {0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9};
-static const int AES_128_KEY_LEN = 16;
class ECDHState
{
@@ -60,16 +59,17 @@
};
/**
- * HMAC based key derivation function (HKDF)
- * @p secret, intput, the input to the HKDF
- * @p secretLen, intput, the length of the secret
- * @p salt, intput, the salt used in HKDF
- * @p saltLen, intput, the length of the salt
- * @p output, output, the output of the HKDF
- * @p output_len, intput, the length of expected output
- * @p info, intput, the additional information used in HKDF
- * @p info_len, intput, the additional information used in HKDF
- * @return the length of the derived key if successful, -1 if failed
+ * @brief HMAC based key derivation function (HKDF).
+ *
+ * @param secret The input to the HKDF.
+ * @param secret_len The length of the secret.
+ * @param salt The salt used in HKDF.
+ * @param salt_len The length of the salt.
+ * @param output The output of the HKDF.
+ * @param output_len The length of expected output.
+ * @param info The additional information used in HKDF.
+ * @param info_len The length of the additional information.
+ * @return int The length of the derived key if successful, -1 if failed.
*/
int
hkdf(const uint8_t* secret, int secret_len,
@@ -78,12 +78,13 @@
const uint8_t* info = INFO, int info_len = INFO_LEN);
/**
- * HMAC based on SHA-256
- * @p data, intput, the array to hmac
- * @p data_length, intput, the length of the array
- * @p key, intput, the key for the function
- * @p key_len, intput, the length of the key
- * @p result, output, result of the HMAC. Enough memory (32 Bytes) must be allocated beforehands
+ * @brief HMAC based on SHA-256.
+ *
+ * @param data The intput array to hmac.
+ * @param data_length The length of the input array.
+ * @param key The HMAC key.
+ * @param key_length The length of the HMAC key.
+ * @param result The result of the HMAC. Enough memory (32 Bytes) must be allocated beforehands.
* @throw runtime_error when an error occurred in the underlying HMAC.
*/
void
@@ -92,60 +93,64 @@
uint8_t* result);
/**
- * Authenticated GCM 128 Encryption with associated data
- * @p plaintext, input, plaintext
- * @p plaintext_len, input, size of plaintext
- * @p associated, input, associated authentication data
- * @p associated_len, input, size of associated authentication data
- * @p key, input, 16 bytes AES key
- * @p iv, input, 12 bytes IV
- * @p ciphertext, output, enough memory must be allocated beforehands
- * @p tag, output, 16 bytes tag
- * @return the size of ciphertext
- * @throw runtime_error when there is an error in the process of encryption
+ * @brief Authenticated GCM 128 Encryption with associated data.
+ *
+ * @param plaintext The plaintext.
+ * @param plaintext_len The size of plaintext.
+ * @param associated The associated authentication data.
+ * @param associated_len The size of associated authentication data.
+ * @param key 16 bytes AES key.
+ * @param iv 12 bytes IV.
+ * @param ciphertext The output and enough memory must be allocated beforehands.
+ * @param tag 16 bytes tag.
+ * @return int The size of ciphertext.
+ * @throw runtime_error When there is an error in the process of encryption.
*/
int
aes_gcm_128_encrypt(const uint8_t* plaintext, size_t plaintext_len, const uint8_t* associated, size_t associated_len,
const uint8_t* key, const uint8_t* iv, uint8_t* ciphertext, uint8_t* tag);
/**
- * Authenticated GCM 128 Decryption with associated data
- * @p ciphertext, input, ciphertext
- * @p ciphertext_len, input, size of ciphertext
- * @p associated, input, associated authentication data
- * @p associated_len, input, size of associated authentication data
- * @p tag, input, 16 bytes tag
- * @p key, input, 16 bytes AES key
- * @p iv, input, 12 bytes IV
- * @p plaintext, output, enough memory must be allocated beforehands
- * @return the size of plaintext or -1 if the verification fails
- * @throw runtime_error when there is an error in the process of encryption
+ * @brief Authenticated GCM 128 Decryption with associated data.
+ *
+ * @param ciphertext The ciphertext.
+ * @param ciphertext_len The size of ciphertext.
+ * @param associated The associated authentication data.
+ * @param associated_len The size of associated authentication data.
+ * @param tag 16 bytes tag.
+ * @param key 16 bytes AES key.
+ * @param iv 12 bytes IV.
+ * @param plaintext The output and enough memory must be allocated beforehands.
+ * @return int The size of plaintext or -1 if the verification fails.
+ * @throw runtime_error When there is an error in the process of encryption.
*/
int
aes_gcm_128_decrypt(const uint8_t* ciphertext, size_t ciphertext_len, const uint8_t* associated, size_t associated_len,
const uint8_t* tag, const uint8_t* key, const uint8_t* iv, uint8_t* plaintext);
/**
- * Encode the payload into TLV block with Authenticated GCM 128 Encryption
- * @p tlv::type, intput, the TLV TYPE of the encoded block, either ApplicationParameters or Content
- * @p key, intput, 16 Bytes, the AES key used for encryption
- * @p payload, input, the plaintext payload
- * @p payloadSize, input, the size of the plaintext payload
- * @p associatedData, input, associated data used for authentication
- * @p associatedDataSize, input, the size of associated data
- * @return the TLV block with @p tlv::type TLV TYPE
+ * @brief Encode the payload into TLV block with Authenticated GCM 128 Encryption.
+ *
+ * @param tlv_type The TLV TYPE of the encoded block, either ApplicationParameters or Content.
+ * @param key The AES key used for encryption.
+ * @param payload The plaintext payload.
+ * @param payloadSize The size of the plaintext payload.
+ * @param associatedData The associated data used for authentication.
+ * @param associatedDataSize The size of associated data.
+ * @return Block The TLV block with @param tlv_type TLV TYPE.
*/
Block
encodeBlockWithAesGcm128(uint32_t tlv_type, const uint8_t* key, const uint8_t* payload, size_t payloadSize,
const uint8_t* associatedData, size_t associatedDataSize);
/**
- * Decode the payload from TLV block with Authenticated GCM 128 Encryption
- * @p block, intput, the TLV block in the format of NDNCERT protocol
- * @p key, intput, 16 Bytes, the AES key used for encryption
- * @p associatedData, input, associated data used for authentication
- * @p associatedDataSize, input, the size of associated data
- * @return the plaintext buffer
+ * @brief Decode the payload from TLV block with Authenticated GCM 128 Encryption.
+ *
+ * @param block The TLV block in the format of NDNCERT protocol.
+ * @param key The AES key used for encryption.
+ * @param associatedData The associated data used for authentication.
+ * @param associatedDataSize The size of associated data.
+ * @return Buffer The plaintext buffer.
*/
Buffer
decodeBlockWithAesGcm128(const Block& block, const uint8_t* key,
diff --git a/src/name-assignment/assignment-func.hpp b/src/name-assignment/assignment-func.hpp
index 355efdd..a936bac 100644
--- a/src/name-assignment/assignment-func.hpp
+++ b/src/name-assignment/assignment-func.hpp
@@ -36,10 +36,11 @@
/**
* @brief The name assignment function provided by the CA operator to generate available
* namecomponents.
+ *
* The function does not guarantee that all the returned names are available. Therefore the
* CA should further check the availability of each returned name and remove unavailable results.
*
- * @p vector, input, a list of parameter key-value pair used for name assignment.
+ * @param vector A list of parameter key-value pair used for name assignment.
* @return a vector containing the possible namespaces derived from the parameters.
*/
virtual std::vector<PartialName>
diff --git a/src/requester.hpp b/src/requester.hpp
index 0267803..65cf831 100644
--- a/src/requester.hpp
+++ b/src/requester.hpp
@@ -34,26 +34,30 @@
{
public:
/**
- * Generates a CA profile discovery Interest following RDR protocol.
- * @p caName, the name prefix of the CA.
+ * @brief Generates a CA profile discovery Interest following RDR protocol.
+ *
+ * @param caName The name prefix of the CA.
* @return A shared pointer to an Interest ready to be sent.
*/
static shared_ptr<Interest>
genCaProfileDiscoveryInterest(const Name& caName);
/**
- * Generates a CA profile fetching Interest following RDR protocol.
- * @p reply, the Data packet replied from discovery Interest.
+ * @brief Generates a CA profile fetching Interest following RDR protocol.
+ *
+ * @param reply The Data packet replied from discovery Interest.
* @return A shared pointer to an Interest ready to be sent.
*/
static shared_ptr<Interest>
genCaProfileInterestFromDiscoveryResponse(const Data& reply);
/**
- * Decodes the CA profile from the replied CA profile Data packet.
+ * @brief Decodes the CA profile from the replied CA profile Data packet.
+ *
* Will first verify the signature of the packet using the key provided inside the profile.
* The application should be cautious whether to add CaProfile into the RequesterCaCache.
- * @p reply, the Data packet replied from CA profile fetching Interest.
+ *
+ * @param reply The Data packet replied from CA profile fetching Interest.
* @return the CaProfile if decoding is successful
* @throw std::runtime_error if the decoding fails or receiving an error packet.
*/
@@ -61,12 +65,14 @@
onCaProfileResponse(const Data& reply);
/**
- * Decodes the CA profile from the replied CA profile Data packet after the redirection.
+ * @brief Decodes the CA profile from the replied CA profile Data packet after the redirection.
+ *
* Will first verify the signature of the packet using the key provided inside the profile and
* verify the certificate's digest matches the one obtained from the original CA.
* The application should be cautious whether to add CaProfile into the RequesterCaCache.
- * @p reply, the Data packet replied from CA profile fetching Interest.
- * @p caCertFullName, the full name obtained from original CA's probe response.
+ *
+ * @param reply The Data packet replied from CA profile fetching Interest.
+ * @param caCertFullName The full name obtained from original CA's probe response.
* @return the CaProfile if decoding is successful
* @throw std::runtime_error if the decoding fails or receiving an error packet.
*/
@@ -74,21 +80,24 @@
onCaProfileResponseAfterRedirection(const Data& reply, const Name& caCertFullName);
/**
- * Generates a PROBE interest to the CA (for suggested name assignments).
- * @p ca, the CA that interest is send to
- * @p probeInfo, the requester information to carry to the CA
+ * @brief Generates a PROBE interest to the CA (for suggested name assignments).
+ *
+ * @param ca The CA that interest is send to
+ * @param probeInfo The requester information to carry to the CA
* @return A shared pointer of to the encoded interest, ready to be sent.
*/
static shared_ptr<Interest>
genProbeInterest(const CaProfile& ca, std::vector<std::tuple<std::string, std::string>>&& probeInfo);
/**
- * Decodes the replied data for PROBE process from the CA.
+ * @brief Decodes the replied data for PROBE process from the CA.
+ *
* Will first verify the signature of the packet using the key provided inside the profile.
- * @p reply, The replied data packet
- * @p ca, the profile of the CA that replies the packet
- * @p identityNames, The vector to load the decoded identity names from the data.
- * @p otherCas, The vector to load the decoded redirection CA prefixes from the data.
+ *
+ * @param reply The replied data packet
+ * @param ca the profile of the CA that replies the packet
+ * @param identityNames The vector to load the decoded identity names from the data.
+ * @param otherCas The vector to load the decoded redirection CA prefixes from the data.
* @throw std::runtime_error if the decoding fails or receiving an error packet.
*/
static void
@@ -97,11 +106,12 @@
// NEW/REVOKE/RENEW related helpers
/**
- * Generates a NEW interest to the CA.
- * @p state, The current requester state for this request. Will be modified in the function.
- * @p identityName, The identity name to be requested.
- * @p notBefore, The expected notBefore field for the certificate (starting time)
- * @p notAfter, The expected notAfter field for the certificate (expiration time)
+ * @brief Generates a NEW interest to the CA.
+ *
+ * @param state The current requester state for this request. Will be modified in the function.
+ * @param identityName The identity name to be requested.
+ * @param notBefore The expected notBefore field for the certificate (starting time)
+ * @param notAfter The expected notAfter field for the certificate (expiration time)
* @return The shared pointer to the encoded interest.
*/
static shared_ptr<Interest>
@@ -110,18 +120,20 @@
const time::system_clock::TimePoint& notAfter);
/**
- * Generates a REVOKE interest to the CA.
- * @p state, The current requester state for this request. Will be modified in the function.
- * @p certificate, the certificate to the revoked.
+ * @brief Generates a REVOKE interest to the CA.
+ *
+ * @param state The current requester state for this request. Will be modified in the function.
+ * @param certificate The certificate to the revoked.
* @return The shared pointer to the encoded interest.
*/
static shared_ptr<Interest>
genRevokeInterest(RequesterState& state, const security::Certificate& certificate);
/**
- * Decodes the replied data of NEW, RENEW, or REVOKE interest from the CA.
- * @p state, the current requester state for the request. Will be updated in the function.
- * @p reply, the replied data from the network
+ * @brief Decodes the replied data of NEW, RENEW, or REVOKE interest from the CA.
+ *
+ * @param state The current requester state for the request. Will be updated in the function.
+ * @param reply The replied data from the network
* @return the list of challenge accepted by the CA, for CHALLENGE step.
* @throw std::runtime_error if the decoding fails or receiving an error packet.
*/
@@ -130,9 +142,10 @@
// CHALLENGE helpers
/**
- * Generates the required parameter for the selected challenge for the request
- * @p state, The requester state of the request.Will be updated in the function.
- * @p challengeSelected, The selected challenge for the request.
+ * @brief Generates the required parameter for the selected challenge for the request
+ *
+ * @param state, The requester state of the request.Will be updated in the function.
+ * @param challengeSelected, The selected challenge for the request.
* Can use state.m_challengeType to continue.
* @return The requirement list for the current stage of the challenge, in name, prompt mapping.
* @throw std::runtime_error if the challenge is not supported.
@@ -141,9 +154,10 @@
selectOrContinueChallenge(RequesterState& state, const std::string& challengeSelected);
/**
- * Generates the CHALLENGE interest for the request.
- * @p state, The requester state of the request.
- * @p parameters, The requirement list, in name, value mapping.
+ * @brief Generates the CHALLENGE interest for the request.
+ *
+ * @param state, The requester state of the request.
+ * @param parameters, The requirement list, in name, value mapping.
* @return The shared pointer to the encoded interest
* @throw std::runtime_error if the challenge is not selected or is not supported.
*/
@@ -152,33 +166,37 @@
std::vector<std::tuple<std::string, std::string>>&& parameters);
/**
- * Decodes the responded data from the CHALLENGE interest.
- * @p state, the corresponding requester state of the request. Will be modified.
- * @p reply, the response data.
+ * @brief Decodes the responded data from the CHALLENGE interest.
+ *
+ * @param state, the corresponding requester state of the request. Will be modified.
+ * @param reply, the response data.
* @throw std::runtime_error if the decoding fails or receiving an error packet.
*/
static void
onChallengeResponse(RequesterState& state, const Data& reply);
/**
- * Generate the interest to fetch the issued certificate
- * @p state, the state of the request.
+ * @brief Generate the interest to fetch the issued certificate
+ *
+ * @param state, the state of the request.
* @return The shared pointer to the encoded interest
*/
static shared_ptr<Interest>
genCertFetchInterest(const RequesterState& state);
/**
- * Decoded and installs the response certificate from the certificate fetch.
- * @p reply, the data replied from the certificate fetch interest.
+ * @brief Decoded and installs the response certificate from the certificate fetch.
+ *
+ * @param reply, the data replied from the certificate fetch interest.
* @return The shared pointer to the certificate being fetched.
*/
static shared_ptr<security::Certificate>
onCertFetchResponse(const Data& reply);
/**
- * End the current request session and performs cleanup if necessary.
- * @p state, the requester state for the request.
+ * @brief End the current request session and performs cleanup if necessary.
+ *
+ * @param state, the requester state for the request.
*/
static void
endSession(RequesterState& state);