增加加密相关的初始化代码

serial
Matthew 1 year ago
parent 2ed0215b92
commit fbf1a799f7

@ -8,6 +8,7 @@
#include "PhoneDevice2.h"
#include <sys/system_properties.h>
#include <AndroidHelper.h>
#include <linux/spi/spidev.h>
#include <android/multinetwork.h>
@ -272,7 +273,7 @@ Java_com_xypower_mpapp_MicroPhotoService_init(
JNIEnv* env,
jobject pThis, jstring appPath,
jstring ip, jint port, jstring cmdid, jint protocol,
jint networkProtocol, jint encryptData, jlong netHandle, jint signalLevel, jint versionCode) {
jint networkProtocol, jint encryptData, jlong netHandle, jint signalLevel, jint versionCode, jstring simcard) {
/*
google_breakpad::MinidumpDescriptor descriptor(".");
@ -300,6 +301,7 @@ Java_com_xypower_mpapp_MicroPhotoService_init(
const char *appPathStr = env->GetStringUTFChars(appPath, 0);
const char *ipStr = env->GetStringUTFChars(ip, 0);
const char *cmdidStr = env->GetStringUTFChars(cmdid, 0);
const char *simcardStr = env->GetStringUTFChars(simcard, 0);
JavaVM* vm = NULL;
jint ret = env->GetJavaVM(&vm);
@ -316,11 +318,15 @@ Java_com_xypower_mpapp_MicroPhotoService_init(
pTerminal->InitServerInfo(appPathStr, cmdidStr, ipStr, port, udpOrTcp, encryptData);
// pTerminal->SetPacketSize(1 * 1024); // 1K
#ifdef USING_NRSEC
pTerminal->InitEncryptionInfo(simcardStr, "/dev/spidev0.0", "");
#endif
bool res = pTerminal->Startup(device);
env->ReleaseStringUTFChars(appPath, appPathStr);
env->ReleaseStringUTFChars(ip, ipStr);
env->ReleaseStringUTFChars(cmdid, cmdidStr);
env->ReleaseStringUTFChars(simcard, simcardStr);
if (!res)
{
@ -753,6 +759,11 @@ Java_com_xypower_mpapp_MicroPhotoService_importPublicKey(
return JNI_FALSE;
}
std::string version = nrsec.Version();
char buf[128] = { 0 };
strcpy(buf, version.c_str());
jbyte* byteCert = env->GetByteArrayElements(cert, 0);
bool res = nrsec.SM2ImportPublicKey(index, (const uint8_t*)byteCert);
@ -772,10 +783,14 @@ Java_com_xypower_mpapp_MicroPhotoService_genKeys(
#ifdef USING_NRSEC
GpioControl::setRS485Enable(true);
// GpioControl::setRS485Enable(true);
// const char *port = "/dev/mtkgpioctrl";
const char *port = "/dev/spidevSE";
GpioControl::setSpiMode(SPI_MODE_3);
GpioControl::setSpiBitsPerWord(8);
GpioControl::setSpiMaxSpeedHz(33000000);
const char *port = "/dev/mtkgpioctrl";
// const char *port = "/dev/spidevSE";
NrsecPort nrsec;
if (!nrsec.Open(port))
@ -783,7 +798,10 @@ Java_com_xypower_mpapp_MicroPhotoService_genKeys(
return JNI_FALSE;
}
// std::string version = nrsec.Version();
std::string version = nrsec.Version();
char buf[128] = { 0 };
strcpy(buf, version.c_str());
bool res = nrsec.SM2keypair(index) == 0;

@ -662,8 +662,12 @@ public class MicroPhotoService extends Service {
MicroPhotoService service = MicroPhotoService.this;
int versionCode = MicroPhotoContext.getVersionCode(MicroPhotoService.this.getApplicationContext());
String simcard = SysApi.getImei(getApplicationContext());
if (simcard == null) {
simcard = "";
}
service.mNativeHandle = init(appPath, server, port, cmdid, protocol, networkProtocol, encryptData, 0, service.getSignalLevel(), versionCode);
service.mNativeHandle = init(appPath, server, port, cmdid, protocol, networkProtocol, encryptData, 0, service.getSignalLevel(), versionCode, simcard);
if (service.mNativeHandle != 0) {
isRunning = true;
@ -1078,7 +1082,7 @@ CellSignalStrengthGsm cellSignalStrengthGsm = cellInfoGsm.getCellSignalStrength(
cellSignalStrengthGsm.getDbm();
*/
protected native long init(String appPath, String ip, int port, String cmdid, int protocol, int networkProtocl, int encryptData, long netHandle, int signalLevel, int versionCode);
protected native long init(String appPath, String ip, int port, String cmdid, int protocol, int networkProtocl, int encryptData, long netHandle, int signalLevel, int versionCode, String simcard);
protected native long getHeartbeatDuration(long handler);
protected native long[] getPhotoTimeData(long handler, long startTime);
protected native long[] getPhotoTimeData2(long handler);

Loading…
Cancel
Save