Je me demande si quelqu'un a réussi à générer une signature EC2 v2 pour son API en utilisant php. Tous les exemples/bibliothèques que je peux trouver en ligne sont pour v1 de la signature et qui a été déprécié en raison de l'insécurité. Une bibliothèque existante qui implémente la génération de signature serait également appréciée.Comment puis-je générer une signature v2 pour Amazon EC2 en utilisant PHP?
0
A
Répondre
0
Here's une bibliothèque PHP qui prend en charge V2. Je n'ai pas essayé cependant.
0
est ici un code que j'ai écrit et ai utilisé:
define("AWSKEY", "Your AWS Key");
define("AWSSECRET", "Your AWS Secret");
public function get($parameters, $host) {
// Build out the variables
$domain = "https://$host/";
$parameters['AWSAccessKeyId'] = AWSKEY;
$parameters['Timestamp'] = date('c');
$parameters['Version'] = '2007-11-07';
$parameters['SignatureMethod'] = 'HmacSHA256';
$parameters['SignatureVersion'] = 2;
// Write the signature
$signature = "GET\n";
$signature .= "$host\n";
$signature .= "/\n";
$sigparams = $parameters;
ksort($sigparams);
$first = true;
foreach($sigparams as $key=>$param) {
$signature .= (!$first ? '&' : '') . rawurlencode($key) . '=' . rawurlencode($param);
$first = false;
}
$signature = hash_hmac('sha256', $signature, $AWSKEY, true);
$signature = base64_encode($signature);
$parameters['Signature'] = $signature;
$url = $domain . '?';
$first = true;
foreach($parameters as $key=>$param) {
$url .= (!$first ? '&' : '') . rawurlencode($key) . '=' . rawurlencode($param);
$first = false;
}
$ch = curl_init(trim($url));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
return $output;
}
Voici comment vous l'utilisez:
$params = array(
'Action' => 'ListDomains'
);
$db->get($params, 'sdb.amazonaws.com');
Cette exécuterait une requête ListDomains
sur SimpleDB. La fonction elle-même retournera la sortie d'Amazon. Pour les commandes plus compliquées, (c'est-à-dire: PUT, POST, etc.) il n'y a pas de modifications majeures qui doivent être faites.
1
http://mierendo.com/software/aws_signed_query/
Je crois que ce V2
0
Utilisez AWSSECRET constante pour hacher la signature, pas AWSKEY $ (une variable non référencée).
Questions connexes
- 1. Scripting Shell pour générer une image EC2
- 2. Amazon EC2 et EBS utilisant Windows AMIs
- 3. Demande de licence Amazon EC2
- 4. Déploiement sur Amazon EC2
- 5. Création d'une solution de sauvegarde Amazon EC2 sur Amazon S3
- 6. Exécuter Amazon EC2 AMI dans Windows
- 7. Générer la liste de présence en PDF en utilisant PHP
- 8. Quels sont les instanceState valides pour l'API Amazon EC2?
- 9. Combien d'utilisateurs une instance Amazon EC2 peut-elle servir?
- 10. Tutoriel utilisant R sur Amazon EC2 un navigateur en utilisant seulement pour la construction d'un modèle de régression
- 11. Enregistrer l'image de l'URL vers Amazon S3 en utilisant PHP
- 12. Télécharger l'image en utilisant Amazon S3
- 13. Volume Automount EBS dans l'instance Windows Amazon EC2
- 14. Générer un PDF avec signature numérique
- 15. Comment générer une table des matières en utilisant dompdf?
- 16. Comment séquencer des événements en PHP pour télécharger des fichiers sur Amazon S3
- 17. Une fonction définie par l'utilisateur mysql convient-elle à la signature de l'URL Amazon S3?
- 18. Téléchargement vers Amazon S3 en utilisant cURL/libcurl
- 19. Comment générer plus de 255 caractères dans une cellule Excel en utilisant Spreadsheet_Excel_Writer() dans PHP?
- 20. Comment générer rDoc pour un plugin particulier en utilisant rake
- 21. Comment encoder une vidéo en utilisant PHP?
- 22. Générer TestCases pour les méthodes en fonction de sa signature à l'aide CodeDom en C#
- 23. En utilisant XAMPP, comment échanger PHP 5.3 pour PHP 5.2?
- 24. Expliquez ce qu'est Amazon EC2 et puis-je l'utiliser comme service d'hébergement Web?
- 25. Générer la clé pour un logiciel développé en utilisant vb.net
- 26. Générer des vignettes en utilisant PHP provoque une mauvaise qualité d'image
- 27. Comment cloner une clé dans Amazon S3 en utilisant Python (et boto)?
- 28. en utilisant la distance levenshtein pour générer l'extrait
- 29. Aide au téléchargement d'images vers l'instance EC2 (Flash -> PHP)
- 30. Générer un ticket kerberos en utilisant .NET