Cara membuat file terenkripsi ukuran besar menggunakan perintah openssl

8

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.

Daya
sumber
1
Apakah ini openssl yang datang dengan AIX, atau apakah Anda menginstalnya secara terpisah? Sepertinya tidak dikompilasi untuk menangani file besar. Mengetahui versi dapat membantu juga: openssl version.
Jeff Schaller
3
Apakah itu membantu jika Anda menggunakan pipa untuk mencegah opensslmengetahui apa pun tentang ukuran file input dan output? Sesuatu seperticat test.img | openssl enc -aes-256-cbc -salt | cat >test.img.enc
Celada
EHLO. truss openssl enc -aes-256-cbc -salt -in test.img -out test.img.enc
Tolong
Terima kasih semua, YA itu default openssl datang dengan AIX - OpenSSL 0.9.8r 8 Feb 2011.
Daya
2
Anda mungkin menjalankan batasan 2 GiB / 32 bit - stackoverflow.com/questions/1746751/… - coba pada file yang lebih dari 2GiB dan kemudian yang di bawah.
Liczyrzepa

Jawaban:

2

Berdasarkan kesalahan, salinan Anda openssltidak dikompilasi atau ditautkan dengan dukungan file besar. fopenmungkin gagal karena mencoba menemukan ukuran file tepat setelah membukanya dan gagal.

Kuncinya, kemudian, adalah membuat opensslmembaca dari pipa dan menulis ke pipa. Pipa tidak memiliki ukuran, dan fopentahu ini, jadi harus baik-baik saja dengan itu. Hal-hal di ujung lain dari pipa tidak perlu melakukan sesuatu yang mewah, mereka hanya perlu opensslmelewati filter antara dan file yang sebenarnya. Itulah tepatnya catpekerjaan. 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.

cat test.img | openssl enc -aes-256-cbc -salt | cat >test.img.enc
Celada
sumber