PHPSecLib

はじめに

PHP のセキュリティで保護された通信ライブラリは、任意精度の整数の LGPL ライセンスの純粋な PHP の実装が含まれています, PKCS#1 (v2.1) に帰順した RSA, DES, 3DES, RC4, Rijndael, AES, SSH-1, SSH-2, そして SFTP です。この本はそれらを使用する方法について説明します。

ドキュメンテーション

オリジナルの PHPSecLib ドキュメントは こちらです。

FuelPHP の使用

PHPSecLib ベンダのパッケージは、安全なハッシュを生成する為に、 Crypt クラスで FuelPHP で使用されています。 PBKDF2 を使用して認証パッケージにされています。

アプリケーションの使用状況

アプリケーションで使用するため PHPSecLib パッケージは名前空間が付き、オートローダで、使いやすいライブラリになっています。 アプリケーションから直接使用することができます。

<?php
/**
 * SSHログインを行うサンプルコントローラ
 */

class Controller_Ssh extends Controller
{
	public function action_index()
	{
		// connect to my server
		$ssh = new \phpseclib\Net\SSH2('myserver.example.org');

		// ログイン
		if ( ! $ssh->login('username', 'password'))
		{
			throw new \Exception('ssh login failed');
		}

		// ディレクトリリストをViewに渡す。
		return View::forge('ssh/dirinfo', array(
			'pwd' => $ssh->exec('pwd'),
			'info' => $ssh->exec('ls -la'),
		));
	}
}