From a624ca5e8ed16ce98818b18977f85fa523e16aad Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Wed, 19 Oct 2022 21:13:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A`HttpServer`?= =?UTF-8?q?=E8=AF=B7=E6=B1=82/=E5=BA=94=E7=AD=94=E6=8A=A5=E6=96=87?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C`RSA`=E9=9D=9E=E5=AF=B9=E7=A7=B0=E5=8A=A0?= =?UTF-8?q?=E5=AF=86=E4=BC=A0=E8=BE=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/component/AppExceptionResolver.kt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/server/component/AppExceptionResolver.kt b/app/src/main/java/com/idormy/sms/forwarder/server/component/AppExceptionResolver.kt index 71b8ddd9..f163a0a5 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/server/component/AppExceptionResolver.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/server/component/AppExceptionResolver.kt @@ -1,10 +1,14 @@ package com.idormy.sms.forwarder.server.component +import android.util.Log +import com.idormy.sms.forwarder.utils.Base64 import com.idormy.sms.forwarder.utils.HttpServerUtils +import com.idormy.sms.forwarder.utils.RSACrypt import com.yanzhenjie.andserver.annotation.Resolver import com.yanzhenjie.andserver.error.HttpException import com.yanzhenjie.andserver.framework.ExceptionResolver import com.yanzhenjie.andserver.framework.body.JsonBody +import com.yanzhenjie.andserver.framework.body.StringBody import com.yanzhenjie.andserver.http.HttpRequest import com.yanzhenjie.andserver.http.HttpResponse import com.yanzhenjie.andserver.http.StatusCode @@ -12,6 +16,8 @@ import com.yanzhenjie.andserver.http.StatusCode @Resolver class AppExceptionResolver : ExceptionResolver { + private val TAG: String = "AppExceptionResolver" + override fun onResolve(request: HttpRequest, response: HttpResponse, e: Throwable) { e.printStackTrace() if (e is HttpException) { @@ -23,7 +29,16 @@ class AppExceptionResolver : ExceptionResolver { } //返回统一结构报文 - response.setBody(JsonBody(HttpServerUtils.response(e.message.toString()))) + var resp = HttpServerUtils.response(e.message.toString()) + Log.d(TAG, "resp: $resp") + if (HttpServerUtils.safetyMeasures != 2) { + response.setBody(JsonBody(resp)) + } else { + val privateKey = RSACrypt.getPrivateKey(HttpServerUtils.serverPrivateKey.toString()) + resp = Base64.encode(resp.toByteArray()) + resp = RSACrypt.encryptByPrivateKey(resp, privateKey) + response.setBody(StringBody(resp)) + } } } \ No newline at end of file