Comment vérifier l'intégrité d'un objet téléchargé sur Amazon S3 ?
Date de la dernière mise à jour : 10/08/2021
Je souhaite télécharger un objet dans un compartiment Amazon Simple Storage Service (Amazon S3). Je souhaite aussi vérifier l'intégrité de cet objet. Comment procéder ?
Brève description
Suivez ces étapes pour vérifier l'intégrité des objets téléchargés à l'aide de l'en-tête Content-MD5 :
Remarque : lorsque vous utilisez l'en-tête Content-MD5, Amazon S3 vérifie l'objet par rapport à la valeur Content-MD5 fournie. Si les valeurs ne correspondent pas, une erreur s'affiche.
1. Calculez la valeur Content-MD5 de l'objet.
2. Vérifiez l'intégrité de l'objet téléchargé en transmettant la valeur Content-MD5 en tant qu'en-tête de requête pendant le téléchargement de l'objet.
Résolution
Calculer la valeur Content-MD5 de l'objet
Système d'exploitation Windows
Important : Microsoft File Checksum Integrity Verifier (FCIV) est un utilitaire de ligne de commande non pris en charge qui calcule les hachages cryptographiques MD5 pour les fichiers. FCIV fonctionne sous Windows 2000, Windows XP et Windows Server 2003.
Si vous employez un système d'exploitation Windows, vous pouvez utiliser l'applet de commande Get-FileHash de Microsoft PowerShell Utility pour calculer le digest MD5, comme suit :
Get-FileHash \path\to\file -algorithm MD5 | Format-List
Remarque : l'applet de commande Get-FileHash est disponible avec Microsoft PowerShell Utility 4.0 et les versions ultérieures.
Voici un exemple de sortie :
Algorithm : MD5
Hash : C9A5A6878D97B48CC965C1E41859F034
Path : \path\to\file
Ensuite, appliquez l'encodage base64 au digest MD5 calculé pour obtenir la valeur Content-MD5 requise :
$hashString ='C9A5A6878D97B48CC965C1E41859F034'
$hashByteArray = [byte[]] ($hashString -replace '..', '0x$&,' -split ',' -ne '')
$ContentMD5 = [System.Convert]::ToBase64String($hashByteArray)
Echo $ContentMD5
yaWmh42XtIzJZcHkGFnwNA==
Dans cet exemple, la sortie d'Echo $ContentMD5, ("yaWmh42XtIzJZcHkGFnwNA=="), est la valeur Content-MD5 requise.
Système d'exploitation Linux
Si vous utilisez un système d'exploitation Linux, exécutez la commande OpenSSL suivante pour obtenir la valeur Content-MD5 de votre fichier :
openssl md5 -binary PATH/TO/FILE | base64
Vérifier l'intégrité de l'objet téléchargé
Lorsque vous utilisez PutObject pour télécharger des objets sur Amazon S3, transmettez la valeur Content-MD5 en tant qu'en-tête de requête. Amazon S3 vérifie l'objet par rapport à la valeur Content-MD5 fournie. Si les valeurs ne correspondent pas, une erreur s'affiche.
L'en-tête de requête Content-MD5 peut également être utilisé avec l'API S3 UploadPart.
Informations connexes
Cet article vous a-t-il été utile ?
Besoin d'aide pour une question technique ou de facturation ?