Durante la creación de un archivo cifrado en AIX, recibí este error:
$ openssl enc -aes-256-cbc -salt -in test.img -out test.img.enc 
test.img: Value too large to be stored in data type
14221428:error:0200107F:system library:fopen:Value too large to be stored in:bss_file.c:356:fopen('test.img','r')
14221428:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:358:
El tamaño del archivo test.img es de 35 GB
El mismo comando funcionó en Linux para archivos de 100GB.

openssl version.opensslsaber algo sobre el tamaño de los archivos de entrada y salida? Algo así comocat test.img | openssl enc -aes-256-cbc -salt | cat >test.img.enctruss openssl enc -aes-256-cbc -salt -in test.img -out test.img.encRespuestas:
Según el error, su copia de
opensslno está compilada o vinculada con soporte de archivos grandes.fopenprobablemente falla porque intenta descubrir el tamaño del archivo justo después de abrirlo y falla.El truco, entonces, es hacer una
openssllectura desde una tubería y escribir en una tubería. Las tuberías no tienen tamaño, y lofopensabe, por lo que debería estar bien. Las cosas en los otros extremos de las tuberías no necesitan hacer nada elegante, solo necesitan ser filtros de paso entreopenssly los archivos reales. Eso es exactamente lo quecates el trabajo.cat, que ahora se convierte en la cosa directamente expuesta al archivo grande, debe tener soporte para archivos grandes, pero como una utilidad básica suministrada por el sistema operativo, supongamos que sí.fuente