[6.4.0] add func of auth cert show

This commit is contained in:
EmArrow
2024-04-08 16:30:05 +08:00
parent afd44e9da7
commit 4e35d90a57
16 changed files with 217 additions and 71 deletions

View File

@@ -129,7 +129,7 @@ class MoGoAutopilotControlProvider :
.setConnectionMode(AdasOptions.IPC_CONNECTION_MODE.PING)
.setPingAddressList(AdasManager.getInstance().pingAddressList)
.setPassenger(false)
.setEnableCertification(SharedPrefsMgr.getInstance().getBoolean(MoGoConfig.AUTOPILOT_CERTIFICATION, MoGoConfig.AUTOPILOT_CERTIFICATION_DEFAULT_VALUE))
.setEnableCertification(SharedPrefsMgr.getInstance().getBoolean("${MoGoConfig.AUTOPILOT_CERTIFICATION}-${DebugConfig.getNetMode()}", MoGoConfig.AUTOPILOT_CERTIFICATION_DEFAULT_VALUE))
.setRootCrt(CallerCloudCertManager.getRootCrtF())
.setDeviceCrt(CallerCloudCertManager.getDeviceCrtF())
.setUnableLaunchAutopilotGear(FunctionBuildConfig.unableLaunchAutopilotGear)
@@ -260,7 +260,7 @@ class MoGoAutopilotControlProvider :
.setConnectionMode(AdasOptions.IPC_CONNECTION_MODE.PING)
.setPingAddressList(AdasManager.getInstance().pingAddressList)
.setPassenger(false)// 乘客端直连工控机改为false
.setEnableCertification(SharedPrefsMgr.getInstance().getBoolean(MoGoConfig.AUTOPILOT_CERTIFICATION, MoGoConfig.AUTOPILOT_CERTIFICATION_DEFAULT_VALUE))
.setEnableCertification(SharedPrefsMgr.getInstance().getBoolean("${MoGoConfig.AUTOPILOT_CERTIFICATION}-${DebugConfig.getNetMode()}", MoGoConfig.AUTOPILOT_CERTIFICATION_DEFAULT_VALUE))
.setRootCrt(CallerCloudCertManager.getRootCrtF())
.setDeviceCrt(CallerCloudCertManager.getDeviceCrtF())
.setUnableLaunchAutopilotGear(FunctionBuildConfig.unableLaunchAutopilotGear)
@@ -321,7 +321,7 @@ class MoGoAutopilotControlProvider :
// 设置IP地址
val options = AdasOptions.newBuilder()
.setPassenger(false)
.setEnableCertification(SharedPrefsMgr.getInstance().getBoolean(MoGoConfig.AUTOPILOT_CERTIFICATION, MoGoConfig.AUTOPILOT_CERTIFICATION_DEFAULT_VALUE))
.setEnableCertification(SharedPrefsMgr.getInstance().getBoolean("${MoGoConfig.AUTOPILOT_CERTIFICATION}-${DebugConfig.getNetMode()}", MoGoConfig.AUTOPILOT_CERTIFICATION_DEFAULT_VALUE))
.setRootCrt(CallerCloudCertManager.getRootCrtF())
.setDeviceCrt(CallerCloudCertManager.getDeviceCrtF())
.setConnectionMode(AdasOptions.IPC_CONNECTION_MODE.SPECIFIED)

View File

@@ -17,6 +17,7 @@ import com.mogo.eagle.core.function.api.cloud.IMoGoCloudListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotActionsListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarConfigListenerManager
import com.mogo.eagle.core.function.call.autopilot.CallerParallelDrivingActionsListenerManager
import com.mogo.eagle.core.function.call.cloud.CallerCloudListenerManager
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
@@ -59,13 +60,14 @@ class MoGoAdasMsgConnectStatusListenerImpl :
private val isSentBasicInfoReq = AtomicBoolean(false)//是否已回复域控基础信息请求
@Volatile
private var certificationResult = ""
private var certificationResult = "未开启认证"
init {
CallerCloudListenerManager.addListener(TAG, this)
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
CallerAutopilotActionsListenerManager.setConnected(AdasManager.getInstance().ipcConnectionStatus == AdasConstants.IpcConnectionStatus.CONNECTED)
CallerParallelDrivingActionsListenerManager.setConnected(AdasManager.getInstance().ipcConnectionStatus == AdasConstants.IpcConnectionStatus.CONNECTED)
CallerAutopilotCarConfigListenerManager.invokeAutopilotCertFileResult(certificationResult)
}
private fun connectToast(reason: String) {
@@ -249,7 +251,7 @@ class MoGoAdasMsgConnectStatusListenerImpl :
*/
override fun onCertification(status: AdasConstants.CertificationStatus) {
if (status == AdasConstants.CertificationStatus.TIMEOUT) {
certificationResult = ":认证超时";
certificationResult = "证书认证超时"
CallerLogger.d(
"$M_D_C$TAG",
"域控证书认证超时表示域控未发送BasicInfoReq接口的数据【这种情况可能是连接出现了问题】"
@@ -257,24 +259,25 @@ class MoGoAdasMsgConnectStatusListenerImpl :
} else {
if (status != AdasConstants.CertificationStatus.NOT_ENABLED) {
if (status == AdasConstants.CertificationStatus.CERTIFICATE_CHAIN_SUCCESS) {
certificationResult = ":成功校验域控证书"
CallerLogger.d(
"$M_D_C$TAG",
"域控证书链校验成功"
"成功校验域控证书"
)
} else if (status == AdasConstants.CertificationStatus.ROOT_CRT_ERROR) {
certificationResult = "ROOT证书异常";
certificationResult = "获取ROOT证书异常"
CallerLogger.d(
"$M_D_C$TAG",
"ROOT证书异常表示未传递证书没有拿到ROOT证书"
)
} else if (status == AdasConstants.CertificationStatus.IPC_CRT_ERROR) {
certificationResult = ":域控证书异常";
certificationResult = "获取域控证书异常"
CallerLogger.d(
"$M_D_C$TAG",
"域控证书异常表示域控发送了BasicInfoReq接口的数据但是未传递证书或证书解码失败【失败的可能性很低】"
)
} else if (status == AdasConstants.CertificationStatus.CERTIFICATE_CHAIN_FAILED) {
certificationResult = ":证书校验失败";
certificationResult = "域控证书校验失败"
CallerLogger.d(
"$M_D_C$TAG",
"域控证书链校验失败(表示证书链未验证通过。证书不匹配、证书格式不正确)"
@@ -282,6 +285,7 @@ class MoGoAdasMsgConnectStatusListenerImpl :
}
}
}
CallerAutopilotCarConfigListenerManager.invokeAutopilotCertFileResult(certificationResult)
}
private fun saveIntoMsgBox(
@@ -341,7 +345,7 @@ class MoGoAdasMsgConnectStatusListenerImpl :
* 工控机获取SN
*/
override fun onAutopilotSNRequest(basicInfoReq: MessagePad.BasicInfoReq) {
CallerLogger.d("$M_D_C$TAG", "收到域控基础信息请求");
CallerLogger.d("$M_D_C$TAG", "收到域控基础信息请求")
isReceivedBasicInfoReq.set(true)
if (!TextUtils.isEmpty(SharedPrefsMgr.getInstance().sn)) {
syncBasicInfoToAutopilot()
@@ -396,7 +400,7 @@ class MoGoAdasMsgConnectStatusListenerImpl :
}
override fun tokenGot(token: String, sn: String) {
CallerLogger.d("$M_D_C$TAG", "SN获取成功=$sn");
CallerLogger.d("$M_D_C$TAG", "SN获取成功=$sn")
if (isReceivedBasicInfoReq.get() && !isSentBasicInfoReq.get()) {//已收到域控基础信息请求但是之前SN没有所以还未回复现在获取到SN后再进行回复
syncBasicInfoToAutopilot()
}