Selama pembuatan file terenkripsi di AIX, saya menerima kesalahan ini:
$ 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:
test.img Ukuran File adalah 35GB
Perintah yang sama bekerja di Linux untuk file 100GB.
openssl version
.openssl
mengetahui apa pun tentang ukuran file input dan output? Sesuatu seperticat test.img | openssl enc -aes-256-cbc -salt | cat >test.img.enc
truss openssl enc -aes-256-cbc -salt -in test.img -out test.img.enc
Jawaban:
Berdasarkan kesalahan, salinan Anda
openssl
tidak dikompilasi atau ditautkan dengan dukungan file besar.fopen
mungkin gagal karena mencoba menemukan ukuran file tepat setelah membukanya dan gagal.Kuncinya, kemudian, adalah membuat
openssl
membaca dari pipa dan menulis ke pipa. Pipa tidak memiliki ukuran, danfopen
tahu ini, jadi harus baik-baik saja dengan itu. Hal-hal di ujung lain dari pipa tidak perlu melakukan sesuatu yang mewah, mereka hanya perluopenssl
melewati filter antara dan file yang sebenarnya. Itulah tepatnyacat
pekerjaan.cat
, yang sekarang menjadi hal yang langsung terpapar ke file besar, perlu memiliki dukungan file besar, tetapi sebagai utilitas dasar yang disediakan OS, mari kita asumsikan hal itu terjadi.sumber