Version AWS SDK for Java 1.x wurde am 31. Juli 2024 in den Wartungsmodus versetzt und wird end-of-support
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Amazon S3Clientseitige -Verschlüsselung mit Clientschlüsseln
In den folgenden Beispielen wirdAmazons3EncryptionClientV2Builder-Klasse zum Erstellen einerAmazon S3Client mit aktivierter clientseitiger -Verschlüsselung. Nach der Aktivierung werden alle Objekte, die Sie über diesen Client in Amazon S3 hochladen, verschlüsselt. Alle Objekte, die Sie über diesen Client von Amazon S3 erhalten, werden automatisch entschlüsselt.
Anmerkung
Die folgenden Beispiele zeigen, wie die clientseitige Amazon S3-Verschlüsselung mit von Kunden verwalteten Client-Master-Schlüsseln verwendet wird. So lernen Sie, wie Sie Verschlüsselung verwendenAWSKMS verwaltete Schlüssel finden Sie unterAmazon S3clientseitige -Verschlüsselung mitAWSKMS verwaltete Schlüsselaus.
Bei der Aktivierung der clientseitigen Verschlüsselung stehen zwei Verschlüsselungsmodi zur AuswahlAmazon S3verschlüsselung: streng authentifiziert oder authentifiziert. In den folgenden Abschnitten sehen Sie, wie die unterschiedlichen Modi aktiviert werden. Informationen über die Algorithmen, die bei den verschiedenen Modi eingesetzt werden, finden Sie in der CryptoMode-Definition.
Erforderliche Importe
Importieren Sie für diese Beispiele die folgenden Klassen.
Importe
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;
Strikte authentifizierte Verschlüsselung
Strikte authentifizierte Verschlüsselung ist der Standardmodus, wenn neinCryptoMode
ist angegeben.
Um diesen Modus explizit zu aktivieren, geben Sie dieStrictAuthenticatedEncryption
-Wert imwithCryptoConfiguration
-Methode.
Anmerkung
Bei Verwendung der clientseitigen authentifizierten Verschlüsselung müssen Sie die neueste Bouncy Castle jar
Code
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");
Authentifizierte Verschlüsselungsmodus
Beim Modus AuthenticatedEncryption
wird während der Verschlüsselung ein verbesserter Schlüsselverpackungsalgorithmus angewendet. Bei einer Entschlüsselung in diesem Modus verifiziert der Algorithmus die Integrität des entschlüsselten Objekts und löst eine Ausnahme aus, wenn das Objekt nicht verifiziert werden kann. Weitere Einzelheiten zur Funktionsweise der authentifizierten Verschlüsselung finden Sie unterAmazon S3Clientseitige authentifizierte Verschlüsselung
Anmerkung
Bei Verwendung der clientseitigen authentifizierten Verschlüsselung müssen Sie die neueste Bouncy Castle jar
Zur Aktivierung des Modus geben Sie den AuthenticatedEncryption
-Wert in der withCryptoConfiguration
-Methode an.
Code
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");