zip_file_set_encryption
—
set encryption method for file in zip
#include
<zip.h>
int
zip_file_set_encryption
(zip_t
*archive, zip_uint64_t
index, zip_uint16_t
method, const char
*password);
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).
Upon successful completion 0 is returned. Otherwise, -1 is
returned and the error information in archive is set
to indicate the error.
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.
zip_file_set_encryption
() was added in
libzip 1.2.0.