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()
	{
		// サーバーに接続する
		$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'),
		));
	}
}