/** * * * @brief Encrypt message in memory * * @param[in] session session handle * @param[in,out] src message to encrypt - usually in-only, but can be * in-out for unencrypted messages; in that case, * we may attach the key and decorate the message * @param[in] extra extra keys for encryption * @param[out] dst pointer to new encrypted message or NULL if no * encryption could take place * @param[in] enc_format The desired format this message should be encrypted with * @param[in] flags flags to set special encryption features * * @retval PEP_STATUS_OK on success * @retval PEP_KEY_HAS_AMBIG_NAME at least one of the receipient keys has * an ambiguous name * @retval PEP_UNENCRYPTED on demand or no recipients with usable * key, is left unencrypted, and key is * attached to it * @retval PEP_ILLEGAL_VALUE illegal parameter values * @retval PEP_OUT_OF_MEMORY out of memory * @retval any other value on error * * @warning the ownership of src remains with the caller * the ownership of dst goes to the caller * * enc_format PEP_enc_inline_EA: * internal format of the encrypted attachments is changing, see * https://dev.pep.foundation/Engine/ElevatedAttachments * * Only use this for transports without support for attachments * when attached data must be sent inline * */ DYNAMIC_API PEP_STATUS encrypt_message( PEP_SESSION session, message *src, stringlist_t *extra, message **dst, PEP_enc_format enc_format, PEP_encrypt_flags_t flags );