Programmation
Classe pour faire de l'AES-256 en Php PDF Imprimer Envoyer
Mardi, 18 Octobre 2011 09:41

Après plusieurs recherches sur le net pour faire dialoguer PHP avec une application Java qui utilise le cryptage AES-256, je vous offre une classe toute faite.

Elle prend en charge l'AES 128, 192, 256, selon la longeur de la clé que vous passerez, et tous les autres mode supporté par MCrypt.

Pour crypter en AES-256,  on utilise l algorithme "MCRYPT_RIJNDAEL_128" en mode "MCRYPT_MODE_CBC" avec une clé de 32.

 

AES a une valeur fixe pour le "block size" et l'IV de 128 bits (16 chars).
La seule valeur changeante est la taille de la clé selon le cryptage voulu:
- AES 128 (key_size: 16, block_size: 16, iv_size: 16)
- AES 192 (key_size: 24, block_size: 16, iv_size: 16)
- AES 256 (key_size: 32, block_size: 16, iv_size: 16)

 

Explication longue en anglais (je me suis basé dessus pour faire la version courte):

http://www.chilkatsoft.com/p/php_aes.asp

Explications sur les modes d'opérations (ECB, CBC, CFB...)
http://fr.wikipedia.org/wiki/Mode_d%27op%C3%A9ration_%28cryptographie%29

 

Cette classe a aussi une implémentation simple de la fonction OpenSSL "EVP_BytesToKey" qui n'existe pas en PHP et qui permet de dériver une donnée pour renvoyer une clé et un vecteur d'initialisation.

Etant donné qu'elle ne correspond pas tout à fait à la fonction originelle, je l'ai nommé "deriveKeyAndIV".

 

 

Lire la suite...
 
php et ssh2_auth_pubkey_file() PDF Imprimer Envoyer
Vendredi, 14 Octobre 2011 09:56

Parlons un peu d'une fonction de la librairie PECL ssh2 : ssh2_auth_pubkey_file().

Cette fonction permet de se connecter avec une clé publique, seulement dans la documentation php et les exemples sont flous sur certains points:

Le nom de la fonction, bien qu'elle fasse de l'authentification par clé publique nécessite le couple clé privée + clé publique en php.

La clé privée est obligatoire car la fonction a besoin de générer une signature, dans la fonction Java la clé publique est récupéré automatiquement, mais pas en php.

Ces clés sont bien nos clés à nous et non pas celles du distant et le serveur distant doit avoir notre clé publique dans son "authorized_keys" pour que cela fonctionne.

Le chemin des clés doit être absolu (utilisez realpath() au besoin).

Dans certains commentaires il est dit que le mode "ssh-rsa" pose problème, dans mon cas il fonctionne parfaitement (php 5.3+/libssh 0.11+).

Toujours pour les clés il faut qu'elle soit au format OpenSSH, notamment la clé publique doit avoir le format suivant :"<type de la clé><un espace><les données de la clé>", c'est du à une limitation de la librairie libssh2.

 

 

 
gForge pre commit hook pour fichier php PDF Imprimer Envoyer
Mercredi, 29 Juin 2011 12:36

Faire une vérification des fichiers PHP via le Commit Hook dans gForge

Voici un petit tutorial pour faire un filtre qui va tester les fichiers commit et les refuser si ce ne sont pas des php valide.

Fait avec la version de gForge AS 5.5

 

Lire la suite...
 
Personnaliser Wappalyzer (PHP, java...) PDF Imprimer Envoyer
Mercredi, 26 Janvier 2011 14:37

Pour ceux qui utilisent l'addon Wappalizer pour Firefox (http://wappalyzer.com/), voici un petit code à ajouter pour qu’il détecte PHP par les headers et l extension :

{
"Php": {
"icon": "http://static.php.net/www.php.net/favicon.ico",
"categories": {
"1": 18
},
"url": "\\.php(\\?.+)?$",
"headers": {
"X-Powered-By": "^PHP.*",
"Cookie" : "PHPSESSID"
}
}
}

 

Lire la suite...
 
Installation d'un serveur SVN (subversion) sur un Synology DS1010+ PDF Imprimer Envoyer
Lundi, 16 Août 2010 13:54

Voici un petit tutoriel en français pour installer un serveur SVN (subversion) sur un Synology DS1010+

synology ds1010+

Lire la suite...
 
<< Début < Précédent 1 2 Suivant > Fin >>

Page 1 sur 2
French (Fr)English (United Kingdom)
oct.11

Interface personnalisée

Left4Run 1.0.1
avr.09

Lanceur graphique pour Left4Dead

nov.08

Lanceur graphique pour les serveurs DoL.

nov.08

Programme alternatif au ComponentChooser pour les personnes ayant le .net et ne voulant pas insta...