ZIP_FILE_SET_ENCRYPTION(3)

NAME
zip_file_set_encryption - set encryption method for file in zip

LIBRARY
libzip (-lzip)

SYNOPSIS
#include <zip.h>
int
zip_file_set_encryption(zip_t *archive, zip_uint64_t index, zip_uint16_t method, const char *password);

DESCRIPTION
The zip_file_set_encryption() function sets the encryption method for the file at position index in the zip archive to method using the password password. The method is the same as returned by zip_stat(3). For the method argument, currently only the following values are supported:

ZIP_EM_NONE
    No encryption.

ZIP_EM_AES_128
    Winzip AES-128 encryption.

ZIP_EM_AES_192
    Winzip AES-192 encryption.

ZIP_EM_AES_256
    Winzip AES-256 encryption.

ZIP_EM_TRAD_PKWARE
    Traditional PKWare encryption. Do not use this method, it is not secure. It is only provided for backwards compatibility.

If password is NULL, the default password provided by zip_set_default_password(3) is used.

The current encryption method for a file in a zip archive can be determined using zip_stat(3).

RETURN VALUES
Upon successful completion 0 is returned. Otherwise, -1 is returned and the error information in archive is set to indicate the error.

ERRORS
zip_file_set_encryption() fails if:

[ZIP_ER_ENCRNOTSUPP]
    Unsupported compression method requested.

[ZIP_ER_INVAL]
    index is not a valid file index in archive, or the argument combination is invalid.

[ZIP_ER_MEMORY]
    Required memory could not be allocated.

[ZIP_ER_RDONLY]
    Read-only zip file, no changes allowed.

SEE ALSO
libzip(3), zip_encryption_method_supported(3), zip_fopen_encrypted(3), zip_fopen_index_encrypted(3), zip_set_default_password(3), zip_stat(3)

HISTORY
zip_file_set_encryption() was added in libzip 1.2.0.

AUTHORS
-nosplit Dieter Baron <dillo@nih.at> and Thomas Klausner <tk@giga.or.at>