此示例将对给定的文本进行明文签名。
示例 #1 gnupg 明文签名示例(过程式)
<?php
// 初始化 gnupg
$res = gnupg_init();
// 实际上不需要。明文签名是默认的
gnupg_setsignmode($res,GNUPG_SIG_MODE_CLEAR);
// 添加密钥,密码为“test”用于签名
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
// 签名
$signed = gnupg_sign($res,"just a test");
echo $signed;
?>
示例 #2 gnupg 明文签名示例(面向对象)
<?php
// 新建类
$gnupg = new gnupg();
// 实际上不需要。明文签名是默认的
$gnupg->setsignmode(gnupg::SIG_MODE_CLEAR);
// 添加密钥,密码为“test”用于签名
$gnupg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
// 签名
$signed = $gnupg->sign("just a test");
echo $signed;
?>
示例 #3 keylistiterator
此扩展还提供密钥环迭代器。
<?php
// 创建一个新的迭代器,用于列出所有与“example”匹配的公钥
$iterator = new gnupg_keylistiterator("example");
foreach($iterator as $fingerprint => $userid){
echo $fingerprint." -> ".$userid."\n";
}
?>