Enable build with iniparser v 3.1
[platform/framework/native/appfw.git] / inc / FSecCryptoDesEdeCipher.h
index cbea9f4..7e6b288 100644 (file)
@@ -1,5 +1,4 @@
 //
-// Open Service Platform
 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
 //
 // Licensed under the Apache License, Version 2.0 (the License);
@@ -37,10 +36,10 @@ class _SymmetricCipher;
  *     @class          DesEdeCipher
  *     @brief          This class provides methods for encryption and decryption using the Data Encryption Standard in the Encrypt-Decrypt-Encrypt (DES-EDE) mode.
  *
- *     @since       2.0
+ *     @since          2.0
  *
  *     The %DesEdeCipher class provides symmetric cipher using the Data Encryption Standard in the Encrypt-Decrypt-Encrypt (DES-EDE) mode.
- *     Sets appropriate values for the requested mode/key bit/padding scheme and cipher operation (CIPHER_ENCRYPT or CIPHER_DECRYPT) parameters. @n
+ *     This class allows to set appropriate values for the requested mode/key bit/padding scheme and cipher operation (::CIPHER_ENCRYPT or ::CIPHER_DECRYPT) parameters. @n
  *
  *     For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/security/ciphers.htm">Ciphers</a>.
  *
@@ -75,19 +74,22 @@ public:
         *      @since          2.0
         *
         *      @return         An error code
-        *      @param[in]      transformation                  The name of the requested mode/key bit/padding scheme @n
+        *      @param[in]      transformation                  The requested mode/key bit/padding scheme @n
         *                                                                              For example, "CBC/NOPADDING" or "CBC/PKCS7PADDING".
         *      @param[in]      opMode                                  The cipher operation mode @n
         *                                                                              The valid values for %DesEdeCipher are @c CIPHER_ENCRYPT and @c CIPHER_DECRYPT.
         *      @exception      E_SUCCESS                               The method is successful.
-        *  @exception  E_OUT_OF_MEMORY                 The memory is insufficient.
-        *      @exception      E_INVALID_ARG                   A specified input parameter is invalid, or the specified @c opMode does not contain a valid value for the cipher operation.
-        *      @remarks        If @c opMode is not matching the actual operation, the result of the operation is @c null and an exception is returned. @n
-        *                              For example, if @c opMode is set to @c CIPHER_ENCRYPT, @c CIPHER_WRAP, or @c CIPHER_UNWRAP and the DecryptN() method is used, then the result obtained is @c null and an exception is returned.
+        *      @exception      E_OUT_OF_MEMORY                 The memory is insufficient.
+        *      @exception      E_INVALID_ARG                   Either of the following conditions has occurred:
+        *                                                                              - A specified input parameter is invalid.
+        *                                                                              - The specified @c opMode does not contain a valid value for the cipher operation.
+        *      @remarks                If @c opMode is not matching the actual operation, the result of the operation is @c null and an exception is returned. @n
+        *                              For example, if @c opMode is set to @c CIPHER_ENCRYPT, @c CIPHER_WRAP, or @c CIPHER_UNWRAP and the DecryptN() 
+        *                              method is used, then the result obtained is @c null and an exception is returned.
         */
        virtual result Construct(const Tizen::Base::String& transformation, enum CipherOperation opMode);
        /**
-        *      Sets a symmetric key for encryption or decryption.
+        *      Sets the symmetric key for encryption or decryption.
         *
         *      @since          2.0
         *
@@ -116,21 +118,21 @@ public:
         *      Encrypts the data (single-part).
         *
         *      @since          2.0
-        *
+        *      @pre            Before calling this method, set a secret key and an initial vector using SetKey() and SetInitialVector().
         *      @return         A pointer to the Tizen::Base::ByteBuffer class that contains the output, @n
         *                              else @c null if an error occurs
         *      @param[in]      input                                   An instance of Tizen::Base::ByteBuffer
         *      @exception      E_SUCCESS                               The method is successful.
-        *      @exception      E_INVALID_ARG                   The specified instance of Tizen::Base::ByteBuffer is invalid or empty.
+        *      @exception      E_INVALID_ARG                   The specified Tizen::Base::ByteBuffer instance is invalid or empty.
         *      @exception      E_OUT_OF_MEMORY                 The memory is insufficient.
         *      @exception      E_KEY_NOT_FOUND                 The specified key is not found.
         *      @exception      E_INVALID_OPERATION             The specified cipher operation mode for this method is invalid.
         *      @exception      E_OVERFLOW                              This operation has caused the memory to overflow.
-        *      @exception      E_SYSTEM                                A system error has occurred. @n
-        *                                                                              The method has failed to operate with the openssl library, or
-        *                                                                              the Tizen::Base::ByteBuffer operation has failed.
+        *      @exception      E_SYSTEM                                Either of the following conditions has occurred:
+        *                                                                              - A system error has occurred.
+        *                                                                              - The method has failed to operate with the OpenSSL library.
+        *                                                                              - The Tizen::Base::ByteBuffer operation has failed.
         *      @remarks        The specific error code can be accessed using the GetLastResult() method.
-        *      @remarks        A secret key and an initial vector are set before calling this method.
         */
        virtual Tizen::Base::ByteBuffer* EncryptN(const Tizen::Base::ByteBuffer& input);
 
@@ -138,42 +140,42 @@ public:
         *      Decrypts the data (single-part).
         *
         *      @since          2.0
-        *
+        *      @pre            Before calling this method, set a secret key and an initial vector using SetKey() and SetInitialVector().
         *      @return         A pointer to the Tizen::Base::ByteBuffer class that contains the output, @n
         *                              else @c null if an error occurs
         *      @param[in]      input                                   An instance of Tizen::Base::ByteBuffer
         *      @exception      E_SUCCESS                               The method is successful.
-        *      @exception      E_INVALID_ARG                   The specified instance of Tizen::Base::ByteBuffer is invalid or empty.
+        *      @exception      E_INVALID_ARG                   The specified Tizen::Base::ByteBuffer instance is invalid or empty.
         *      @exception      E_OUT_OF_MEMORY                 The memory is insufficient.
         *      @exception      E_KEY_NOT_FOUND                 The specified key is not found.
         *      @exception      E_INVALID_OPERATION             The specified cipher operation mode for this method is invalid.
         *      @exception      E_OVERFLOW                              This operation has caused the memory to overflow.
-        *      @exception      E_SYSTEM                                A system error has occurred. @n
-        *                                                                              The method has failed to operate with the openssl library, or
-        *                                                                              the Tizen::Base::ByteBuffer operation has failed.
-        *  @remarks    The specific error code can be accessed using the GetLastResult() method.
-        * @remarks     A secret key and an initial vector are set before calling this method.
+        *      @exception      E_SYSTEM                                Either of the following conditions has occurred:
+        *                                                                              - A system error has occurred.
+        *                                                                              - The method has failed to operate with the OpenSSL library.
+        *                                                                              - The Tizen::Base::ByteBuffer operation has failed.
+        *      @remarks        The specific error code can be accessed using the GetLastResult() method.
         */
        virtual Tizen::Base::ByteBuffer* DecryptN(const Tizen::Base::ByteBuffer& input);
 
        /**
-        *      Initializes a multiple-part encryption or decryption operation.
+        *      Initializes the instance of %DesEdeCipher for the multiple-part encryption or decryption.
         *
         *      @since          2.0
-        *
+        *      @pre            Before calling this method, set a secret key and an initial vector using SetKey() and SetInitialVector().
         *      @return         An error code
         *      @exception      E_SUCCESS                               The method is successful.
         *      @exception      E_OUT_OF_MEMORY                 The memory is insufficient.
         *      @exception      E_KEY_NOT_FOUND                 The specified key is not found.
         *      @exception      E_INVALID_OPERATION             The specified cipher operation mode for this method is invalid.
-        *      @exception      E_SYSTEM                                A system error has occurred. @n
-        *                                                                              The method has failed to operate with the openssl library.
-        *      @remarks        A secret key and an initial vector are set before calling this method.
+        *      @exception      E_SYSTEM                                Either of the following conditions has occurred:
+        *                                                                              - A system error has occurred.
+        *                                                                              - The method has failed to operate with the openssl library.
         */
        virtual result Initialize(void);
 
        /**
-        *      Updates a multiple-part encryption or decryption operation.
+        *      Updates the multiple-part encryption or decryption operation.
         *
         *      @since          2.0
         *
@@ -183,16 +185,17 @@ public:
         *      @exception      E_SUCCESS                               The method is successful.
         *      @exception      E_OUT_OF_MEMORY                 The memory is insufficient.
         *      @exception      E_OVERFLOW                              This operation has caused the memory to overflow.
-        *      @exception      E_INVALID_ARG                   The specified instance of Tizen::Base::ByteBuffer is invalid or empty.
-        *      @exception      E_SYSTEM                                A system error has occurred. @n
-        *                                                                              The method has failed to operate with the openssl library, or
-        *                                                                              the Tizen::Base::ByteBuffer operation has failed.
+        *      @exception      E_INVALID_ARG                   The specified Tizen::Base::ByteBuffer instance is invalid or empty.
+        *      @exception      E_SYSTEM                                Either of the following conditions has occurred:
+        *                                                                              - A system error has occurred.
+        *                                                                              - The method has failed to operate with the OpenSSL library.
+        *                                                                              - The Tizen::Base::ByteBuffer operation has failed.
         *      @remarks        The specific error code can be accessed using the GetLastResult() method.
         */
        virtual Tizen::Base::ByteBuffer* UpdateN(const Tizen::Base::ByteBuffer& input);
 
        /**
-        *      Finalizes a multiple-part encryption or decryption operation.
+        *      Finalizes the multiple-part encryption or decryption operation.
         *
         *      @since          2.0
         *
@@ -201,9 +204,10 @@ public:
         *      @exception      E_SUCCESS                               The method is successful.
         *      @exception      E_OUT_OF_MEMORY                 The memory is insufficient.
         *      @exception      E_OVERFLOW                              This operation has caused the memory to overflow.
-        *      @exception      E_SYSTEM                                A system error has occurred. @n
-        *                                                                              The method has failed to operate with the openssl library, or
-        *                                                                              the Tizen::Base::ByteBuffer operation has failed.
+        *      @exception      E_SYSTEM                                Either of the following conditions has occurred:
+        *                                                                              - A system error has occurred.
+        *                                                                              - The method has failed to operate with the OpenSSL library.
+        *                                                                              - The Tizen::Base::ByteBuffer operation has failed.
         *      @remarks        The specific error code can be accessed using the GetLastResult() method.
         */
        virtual Tizen::Base::ByteBuffer* FinalizeN(void);
@@ -216,9 +220,10 @@ public:
         *      @return         A pointer to the Tizen::Base::ByteBuffer class that contains the output, @n
         *                              else @c null if an error occurs
         *      @param[in]      secretKey                               The secret key to wrap
-        *      @remarks        This operation is not supported in the %DesEdeCipher class.
-        *                              Therefore, this method always returns @c null.
-        *      @remarks        The @c E_UNSUPPORTED_ALGORITHM exception is returned using the GetLastResult() method.
+        *      @remarks        
+        *                      - This operation is not supported in the %DesEdeCipher class.
+        *                      Therefore, this method always returns @c null.
+        *                      - The @c E_UNSUPPORTED_ALGORITHM exception is returned using the GetLastResult() method.
         */
        virtual Tizen::Base::ByteBuffer* WrapN(const Tizen::Base::ByteBuffer& secretKey);
 
@@ -230,9 +235,10 @@ public:
         *      @return         A pointer to the Tizen::Base::ByteBuffer class that contains the output, @n
         *                              else @c null if an error occurs
         *      @param[in]      wrappedKey                              The wrapped key to unwrap
-        *      @remarks        This operation is not supported in the %DesEdeCipher class.
-        *                              Therefore, this method always returns @c null.
-        *      @remarks        The @c E_UNSUPPORTED_ALGORITHM exception is returned using the GetLastResult() method.
+        *      @remarks        
+        *                      - This operation is not supported in the %DesEdeCipher class.
+        *                      Therefore, this method always returns @c null.
+        *                      - The @c E_UNSUPPORTED_ALGORITHM exception is returned using the GetLastResult() method.
         */
        virtual Tizen::Base::ByteBuffer* UnwrapN(const Tizen::Base::ByteBuffer& wrappedKey);