【发布时间】:2021-04-16 06:50:10
【问题描述】:
我无法在移动设备上验证广告观看广告,但我可以在 admob 的仪表板中验证
错误:错误:0909006C:PEM 例程:get_name:没有起始行
$publicKey = openssl_get_publickey($result['keys'][0]['pem']);
$query_string = $_SERVER['QUERY_STRING'];
parse_str($query_string, $query_arr);
$signature = trim($query_arr['signature']);
$signature = str_replace(['-', '_'], ['+', '/'], $signature);
signature .= '===';
$message = substr($query_string, 0, strpos($query_string, 'signature') - 1);
$return = [
'code' => 0,
'message' => 'error'
];
$success = openssl_verify($message, base64_decode($signature), $publicKey, OPENSSL_ALGO_SHA256);
if ($success === -1) {
throw new ErrorException(openssl_error_string(), 400);
} elseif ($success === 1) {
$return['code'] = 1;
$return['message'] = 'success';
} else {
throw new ErrorException(openssl_error_string(), 400);
}
【问题讨论】: