Ich benutze Amazon aws Java SDK für die Codierung.Wie kann sichergestellt werden, dass eine Datei mit SSE-C verschlüsselt wird, bevor sie von Amazon S3 heruntergeladen wird?
Ich habe einige meiner lokalen Dateien auf S3 mithilfe von SSE-C (serverseitige Verschlüsselung mit vom Kunden bereitgestellten Schlüssel) hochgeladen und einige Dateien ohne Verschlüsselung. Bevor ich eine Datei in einem anderen Modul herunterlade, muss ich sicherstellen, dass diese bestimmte Datei verschlüsselt ist oder nicht. Ich habe diese link verwiesen. Aber dieses Verfahren ist für Dateien, die mit SSE verschlüsselt sind (was von SSE-C verschieden ist). Nach dem Verweis auf Amazon aws Java APIs habe ich den folgenden Code geschrieben.
Base64 b = new Base64();
byte[] keyBytes = b.decode("encryptionKey");
SecretKey key = new SecretKeySpec(keyBytes,0,keyBytes.length,"AES");
SSECustomerKey sseKey = new SSECustomerKey(key);
GetObjectMetadataRequest request2 =new GetObjectMetadataRequest("bucketname","keyname").withSSECustomerKey(sseKey);
ObjectMetadata metadata = s3client.getObjectMetadata(request2);
System.out.println("Encryption algorithm used: " + metadata.getSSECustomerAlgorithm());
Das obige Stück Code funktioniert einwandfrei, um eine verschlüsselte Datei herunterzuladen. Aber Ausnahme beim Herunterladen von Dateien, die nicht verschlüsselt wurden.
Gibt es eine gemeinsame API, um die Metadaten von verschlüsselten und nicht verschlüsselten Dateien zu erhalten.
Sie sollten den Schlüssel nicht zum Abrufen der Metadaten benötigen, da die Dokumente sagen, dass Metadaten nicht verschlüsselt sind. Funktioniert es, wenn Sie den '.withSSECustomerKey (sseKey)' Teil entfernen? – augurar
Ich bekomme Bad Request 400, wenn ich den Verschlüsselungsschlüssel Teil entfernen – Durgesh
Hmm, ich denke, [dieses Dokument] (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html) sagt, dass Sie die brauchen SSEC-Schlüssel auch für Metadaten. Sie müssen entweder die Ausnahme abfangen und mit/ohne den Schlüssel versuchen oder eine andere Art der Aufzeichnung der verschlüsselten Dateien erstellen. – augurar