函数名称:rnp_op_sign_cleartext()
适用版本:RNP 1.0.0 以上
函数说明:该函数用于对明文进行签名,并生成签名后的文本。
参数:
$ffi (FFI 对象):FFI 对象,用于加载和调用 RNP 库的函数。
$input (string):待签名的明文文本。
$output (FFI\CData):签名后的文本。
返回值:成功返回 0,失败返回其他值。
使用示例:
<?php
// 加载 RNP 库
$ffi = FFI::cdef("
int rnp_op_sign_cleartext(FFI\CData ffi, string input, FFI\CData output);
", "librnp.so");
// 待签名的明文文本
$input = "This is a test message.";
// 创建输出缓冲区
$output = FFI::new("char[1024]");
// 调用函数进行签名
$result = $ffi->rnp_op_sign_cleartext($ffi, $input, $output);
if ($result === 0) {
// 打印签名后的文本
echo "Signed text: " . FFI::string($output) . "\n";
} else {
echo "Sign failed.\n";
}
?>
注意事项:
在调用该函数之前,需要先加载 RNP 库,并通过 FFI 对象定义函数的原型。
签名后的文本将保存在输出缓冲区中,可以通过 FFI::string() 函数将其转换为字符串。
在实际使用时,可以根据需要对输入参数进行合法性检查,以及对返回值进行错误处理。