diff --git a/app-api/config/url-rules.php b/app-api/config/url-rules.php index adc98ed..996efbe 100644 --- a/app-api/config/url-rules.php +++ b/app-api/config/url-rules.php @@ -5,13 +5,13 @@ return [ 'POST authDevice' => 'auth-device/index', - 'POST authDeviceT' => 'auth-device/indext', + //'POST authDeviceT' => 'auth-device/indext', 'POST checkOtaVersion' => 'upgrade/check-version', 'POST reportOtaUpgradeEvent' => 'upgrade/report-upgrade-event', 'POST checkAppVersion' => 'upgrade/check-app-version', 'POST reportAppUpgradeEvent' => 'upgrade/report-app-upgrade-event', 'POST reportDeviceVersion' => 'upgrade/report-device-version', - 'POST CryptTxt' => 'auth-device/crypt-txt', + //'POST CryptTxt' => 'auth-device/crypt-txt', 'GET errorPage' => 'site/error-page-info', 'GET minaQuery' => 'site/mina-query', ]; \ No newline at end of file diff --git a/app-api/controllers/AuthDeviceController.php b/app-api/controllers/AuthDeviceController.php index 49e0a99..e1f176b 100644 --- a/app-api/controllers/AuthDeviceController.php +++ b/app-api/controllers/AuthDeviceController.php @@ -31,6 +31,7 @@ use function time; class AuthDeviceController extends BaseController { private static $SIGN_SALT = '13456'; + private static $RANDOM_KEY_SALT = '12356'; private static function myLog($str) { @@ -38,10 +39,10 @@ class AuthDeviceController extends BaseController } /** - * 设备授权接口 + * 设备授权接口,未加密的 * @return stdClass */ - public function actionIndex() + private function indexNoEncode() { $getPostData = file_get_contents('php://input', 'r'); self::myLog('actionIndex postData:'.$getPostData); @@ -50,6 +51,40 @@ class AuthDeviceController extends BaseController } /** + * 设备授权接口加密过的 + * @return stdClass + */ + public function actionIndex() + { + $e = new stdClass(); + $e->content = ''; + + $getPostData = file_get_contents('php://input', 'r'); + self::myLog('actionIndext postData:'.$getPostData); + $getPostData = json_decode($getPostData, true); + $randomKey = $getPostData['randomKey']; + $content = $getPostData['content']; + $rsaKeys = Yii::$app->params['AUTH_DEVICE_RSA_PKCS_1']; + $rsa = new RSACrypt($rsaKeys['PRIVATE'], $rsaKeys['PUBLIC']); + $randKey = $rsa->decrypt($randomKey); + if (16 != strlen($randKey)) { + // 检查randKey,当前只是做长度判断 + $randKey = null; + } else { + $randKey = substr(md5($randKey. self::$RANDOM_KEY_SALT), 8, 16); + } + + $aes = new Aes($randKey); + $contentStr = $aes->decrypt($content); + $authResult = $this->authDevice($contentStr); + + $returnStr = json_encode($authResult, JSON_UNESCAPED_UNICODE); + $e->content = $aes->encrypt($returnStr); + + return $e; + } + + /** * @param $getPostData * @return stdClass */ @@ -70,7 +105,7 @@ class AuthDeviceController extends BaseController $manufactureNo = isset($getPostData['manufacture'])?$getPostData['manufacture']:''; $deviceId = isset($getPostData['device_id'])?$getPostData['device_id']:''; $projectNo = isset($getPostData['project'])?$getPostData['project']:''; - $modelNo = isset($getPostData['model'])?$getPostData['model']:''; + $modelNo = isset($getPostData['model'])?$getPostData['model']:''; $productionNo = isset($getPostData['production'])?$getPostData['production']:''; $timestamp = isset($getPostData['timestamp'])?$getPostData['timestamp']:''; $sign = isset($getPostData['sign'])?$getPostData['sign']:''; @@ -121,7 +156,9 @@ class AuthDeviceController extends BaseController $getPostData = json_decode($getPostDataTxt, true); $randomKey = $getPostData['randomKey']; $content = $getPostData['content']; - $rsa = new RSACrypt(); + $rsaKeys = Yii::$app->params['AUTH_DEVICE_RSA_PKCS_1']; + $rsa = new RSACrypt($rsaKeys['PRIVATE'], $rsaKeys['PUBLIC']); + $randKey = $rsa->decrypt($randomKey); $aes = new Aes($randKey); $contentStr = $aes->decrypt($content); @@ -137,34 +174,4 @@ class AuthDeviceController extends BaseController return $e; } - /** - * @return stdClass - */ - public function actionIndext() - { - $e = new stdClass(); - $e->content = ''; - - $getPostData = file_get_contents('php://input', 'r'); - self::myLog('actionIndext postData:'.$getPostData); - $getPostData = json_decode($getPostData, true); - $randomKey = $getPostData['randomKey']; - $content = $getPostData['content']; - $rsa = new RSACrypt(); - $randKey = $rsa->decrypt($randomKey); - if (16 != strlen($randKey)) { - // 检查randKey,当前只是做长度判断 - $randKey = null; - } - $aes = new Aes($randKey); - $contentStr = $aes->decrypt($content); - $authResult = $this->authDevice($contentStr); - - $returnStr = json_encode($authResult, JSON_UNESCAPED_UNICODE); - - $e->content = $aes->encrypt($returnStr); - - return $e; - } - } \ No newline at end of file diff --git a/app-ht/modules/device/controllers/DeviceController.php b/app-ht/modules/device/controllers/DeviceController.php index c703183..ad89553 100644 --- a/app-ht/modules/device/controllers/DeviceController.php +++ b/app-ht/modules/device/controllers/DeviceController.php @@ -716,7 +716,7 @@ class DeviceController extends BaseController $e->success = false; } elseif(DeviceStatus::NO_AUTH == $deviceModel->status) { $deviceModel->status = DeviceStatus::HAS_AUTH; - $deviceModel->auth_at = time(); + //$deviceModel->auth_at = time(); $deviceModel->save(); $e->message = '已经存在该授权设备'; $e->success = false; @@ -756,7 +756,7 @@ class DeviceController extends BaseController $newDeviceModel->device_id = $deviceId; $newDeviceModel->status = DeviceStatus::NO_AUTH; $newDeviceModel->apply_at = $tt ; - $newDeviceModel->auth_at = $tt; + //$newDeviceModel->auth_at = $tt; $newDeviceModel->save(); $deviceFailModel->is_delete = 1; diff --git a/app-ht/modules/device/views/device/delete-index.php b/app-ht/modules/device/views/device/delete-index.php index 8c7356d..2508e64 100644 --- a/app-ht/modules/device/views/device/delete-index.php +++ b/app-ht/modules/device/views/device/delete-index.php @@ -21,11 +21,11 @@ $this->params['breadcrumbs'][] = $this->title;