我需要使用第三方提供给我的公钥在 MediaWiki 环境中对一个小字符串/令牌进行 PGP 加密和 ASCII 保护。这给了我:
- 需要使用PHP
- 最好远离 exec_shell() ...真的吗?
- 网络服务器环境
我打算在阅读后使用 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 的令牌