AWS SDK for Java 1.x telah memasuki mode pemeliharaan pada 31 Juli 2024, dan akan mencapai end-of-support
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amazon S3enkripsi sisi klien
Contoh berikut menggunakanAmazons3EncryptionClientV2Builderkelas untuk membuatAmazon S3enkripsi sisi klien diaktifkan. Setelah diaktifkan, objek apa pun yang Anda unggahAmazon S3menggunakan klien ini akan dienkripsi. Setiap benda yang Anda dapatkan dariAmazon S3menggunakan klien ini akan secara otomatis didekripsi.
catatan
Contoh berikut menunjukkan menggunakanAmazon S3enkripsi sisi klien dengan kunci master klien. Untuk mempelajari cara menggunakan enkripsi denganAWSKunci terkelola KMS, lihatAmazon S3enkripsi sisi klien denganAWSKunci terkelola KMS.
Anda dapat memilih dari dua mode enkripsi saat mengaktifkan sisi klienAmazon S3enkripsi: ketat dikonfirmasi atau diautentikasi. Bagian berikut menunjukkan cara mengaktifkan setiap jenis. Untuk mempelajari algoritma yang digunakan setiap mode, lihatCryptoModedefinisi.
Impor yang diperlukan
Impor kelas berikut untuk contoh-contoh ini.
Impor
import com.amazonaws.ClientConfiguration; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3EncryptionClientV2Builder; import com.amazonaws.services.s3.AmazonS3EncryptionV2; import com.amazonaws.services.s3.model.CryptoConfigurationV2; import com.amazonaws.services.s3.model.CryptoMode; import com.amazonaws.services.s3.model.EncryptionMaterials; import com.amazonaws.services.s3.model.StaticEncryptionMaterialsProvider;
Enkripsi terautentikasi
Enkripsi otentikasi yang ketat adalah mode default jika tidakCryptoMode
ditentukan.
Untuk secara eksplisit mengaktifkan mode ini, tentukanStrictAuthenticatedEncryption
value dalamwithCryptoConfiguration
metode.
catatan
Untuk menggunakan enkripsi otentikasi sisi klien, Anda harus menyertakan yang terbaruGoyang Puri jar
Kode
AmazonS3EncryptionV2 s3Encryption = AmazonS3EncryptionClientV2Builder.standard() .withRegion(Regions.US_WEST_2) .withCryptoConfiguration(new CryptoConfigurationV2().withCryptoMode((CryptoMode.StrictAuthenticatedEncryption))) .withEncryptionMaterialsProvider(new StaticEncryptionMaterialsProvider(new EncryptionMaterials(secretKey))) .build(); s3Encryption.putObject(bucket_name, ENCRYPTED_KEY2, "This is the 2nd content to encrypt");
Mode enkripsi
Saat Anda menggunakanAuthenticatedEncryption
mode, algoritma pembungkus kunci ditingkatkan diterapkan selama enkripsi. Saat mendekripsi dalam mode ini, algoritma dapat memverifikasi integritas objek yang didekripsi dan membuang pengecualian jika cek gagal. Untuk detail lebih lanjut tentang cara kerja enkripsi terautentikasi, lihatAmazon S3Enkripsi terautentikasi
catatan
Untuk menggunakan enkripsi otentikasi sisi klien, Anda harus menyertakan yang terbaruGoyang Puri jar
Untuk mengaktifkan mode ini, tentukanAuthenticatedEncryption
value dalamwithCryptoConfiguration
metode.
Kode
AmazonS3EncryptionV2 s3EncryptionClientV2 = AmazonS3EncryptionClientV2Builder.standard() .withRegion(Regions.DEFAULT_REGION) .withClientConfiguration(new ClientConfiguration()) .withCryptoConfiguration(new CryptoConfigurationV2().withCryptoMode(CryptoMode.AuthenticatedEncryption)) .withEncryptionMaterialsProvider(new StaticEncryptionMaterialsProvider(new EncryptionMaterials(secretKey))) .build(); s3EncryptionClientV2.putObject(bucket_name, ENCRYPTED_KEY1, "This is the 1st content to encrypt");