サードパーティから提供された公開鍵を使用して、MediaWiki環境内で小さな文字列/トークンをPGP暗号化およびASCIIアーマーする必要があります。これは私に与えます:
- PHPを使用する必要があります
- exec_shell()から離れた方がいい... true?
- Webサーバー環境
これを読んだ後、GnuPG libを使用することを計画しています:http: //devzone.zend.com/1278/using-gnupg-with-php/
どのユーザーがPGP公開鍵を.gnupgフォルダーに保存する必要がありますか?
更新1
これまでのところ、ハードコーディングされた公開鍵をテストしています(今のところ、テストするためだけに)
// GnuPG stuff
putenv("GNUPGHOME=/tmp");
$pubkey = "-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.6 (GNU/Linux)
...key...
-----END PGP PUBLIC KEY BLOCK-----";
$ token="some text";
$gpg = new gnupg();
$gpg->seterrormode(gnupg::ERROR_EXCEPTION);
try
{
$info = $gpg->import($pubkey);
// var_dump($info); // to see fingerprint
$info = $gpg -> addencryptkey("...fingerprint...");
$enc = $gpg -> encrypt($token);
}
catch (Exception $e) {
echo 'ERROR: ' . $e->getMessage();
}
$token = urlencode($enc);
echo $token, "\n";
暗号化されているようですが、今はストリップが必要かどうかを判断する必要があります
Encrypted Data: -----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.5 (GNU/Linux)
URLのトークンを暗号化しているので