Z-Blog Wiki Z-Blog Wiki

Z-Blog官方文库

用户工具

站点工具


appcenter:verification:callback:server

这是本文档旧的修订版!


验证服务端

验证系统会对验证结果加密后,通知到开发者设置的回调地址。HTTP方法为POST,Content-Type为application/zblogverify。

Body的加密方式为:RSA(base64(AES_KEY) + '.' + base64(AES_IV)) + '.' + AES(realData)

明文数据格式

{
	"id": "65fbe736-aa01-4d60-946a-64da5e1bccd7", /* 本次校验的ID */
	"from": "initiative", /* 校验来源 */
	"error": {
		"number": 0, /* 错误编号 */
		"message": "OK", /* 错误信息 */
		"verified": true, /* 是否验证成功 */
		"cracking": false, /* 疑似破解 */
		"user": {
			"message": "面向用户的错误信息" 
		}
	},
	"appId": "应用ID",
	"host": "网站", 
	"user": {
		"id": "应用中心ID",
		"username": "用户账号" 
	},
	"license": {
		"appId": "授权文件保存的应用ID", 
		"userId": "授权文件保存的用户ID", 
		"timestamp": "授权文件生成时间戳" 
	}
}

示例代码

PHP

以下代码仅能运行于PHP 5.3+。

<?php
function getVerifyData($data) {
	$publicKey = openssl_pkey_get_public('-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoH4uiMZYWy1sOXuq4YAA
MtyrAtUcWHOXalSAmtDs1FA2H8fTBbEF+gnvg83Byp/mIvHMIaXc7RPIniwoMgDo
Xo3H0GquBEOH4YoufIqfRFGFwnBw7V1KNv9Iw4XpmBYEboD5HT4PLuoUvSP78iWK
7kMMsYsYOVi7EPn8DbPZbvxnrDXkJmkj3l8YhGWtAjbFU7XgyEKEKBTes9fcxWSW
GCdd1jV9oXcV9EQRkRr50wMvydgIWAAWvcVZ5zzK4sZelZDaGz7yEXG/Q1F1Xp3e
GcC057CQoaEzuTQILUCypiNeQpKdzGXxwyp+Q6DAYITjyFBjQ5WbQiSaZtCPV5D9
lwIDAQAB
-----END PUBLIC KEY-----');
	$rsaDecrypted = '';
	$explodeData = explode('.', $data);
	$rsaEncrypted = $explodeData[0];
	$aesEncrypted = $explodeData[1];
	openssl_public_decrypt(base64_decode($rsaEncrypted), $rsaDecrypted, $publicKey);
	$aesInfo = explode('.', $rsaDecrypted);
	$aesKey = base64_decode($aesInfo[0]);
	$aesIv = base64_decode($aesInfo[1]);
	$data = openssl_decrypt(base64_decode($aesEncrypted), 'aes-256-cbc', $aesKey, OPENSSL_RAW_DATA, $aesIv);
	return json_decode($data, false);
}
 
$object = getVerifyData(file_get_contents('php://input'));
 
if ($object->error->number === 0) {
	echo '验证通过';
}
 
var_dump($object);

测试数据

BzS14KuWQcK3HBMqm4AsO2rZ22/cucjm+u9BEMnefUR2Frk5YjnhILtPPthOqgQoHO95/CzkteEv83qOHSsozx2y+omFhK0Hb4H6AcQWhm1WZoC8+Cjr1zm1SaBser9iDGaAotERyxvUpvEb2xKqsrBoiXLuLKKgTktYcMr+nen1sbDLFeWPEKf+/Oe5BFesyO+AOM40iKWGWWCffj2D5Chj8ED5wxUIuAT/QdWbuMSi8Qjf/K5mL+NB/T72B3aGChrZhsQP44QWN5VOeA9+K+lSCpV2/tkVCw2pw74dAsqQHm4oHW5BL9RAr6qbcbAzOxRonM8dVui/7Fku5UyoAA==.ZkHNgiEAUte9uKLxUF7PeyqC9DFi8Btxo+6sBcms11HHTYSA3Ar/vkAGtv62BqplITaxIE1zZk/yTe0aeo7GsPlYpK5p5tYfz6iLGNv6WugRzPHc86I04DRbFFXcjPlLCxMgbRONLdaAyCNp6o3lCPsKgCPfrkM05ctOc+owp19u7q3VSDPP0dpQ71X0VNz3g4gI7MegSiLW+TOaClfiutuBRIpRsuWE97MQ4ZHufFLO9xQhURRkVsFFixfVnhw0+mcT2XwSE2J/KfIOMvu6LtHXbx6LiYy/kRybLS6HzKqk6P9/C2mHw0HPKTbqF21Qt1olukWbRbc7i1QUL+IHQmaDZ5TAEMd+5MkbsGQR4ae7JBQNciqTHnRB9hP9LQE/yDdmNoo9dFBcZyBqJ4ZVhQoIlWRb5gnk2bieowK3t+Vr/cQMocZsc6w31+tne+KfyNzehsGvtTyZRZjItAcfF3kGu71cmyp5ZtXy7W7HdaFGapwbeFdz31X5T5x4QCjW

appcenter/verification/callback/server.1522947740.txt · 最后更改: 2018/04/06 01:02 由 zsx