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

serial
Matthew 1 year ago
parent 2ed0215b92
commit fbf1a799f7

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

@ -662,8 +662,12 @@ public class MicroPhotoService extends Service {
MicroPhotoService service = MicroPhotoService.this; MicroPhotoService service = MicroPhotoService.this;
int versionCode = MicroPhotoContext.getVersionCode(MicroPhotoService.this.getApplicationContext()); 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) { if (service.mNativeHandle != 0) {
isRunning = true; isRunning = true;
@ -1078,7 +1082,7 @@ CellSignalStrengthGsm cellSignalStrengthGsm = cellInfoGsm.getCellSignalStrength(
cellSignalStrengthGsm.getDbm(); 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 getHeartbeatDuration(long handler);
protected native long[] getPhotoTimeData(long handler, long startTime); protected native long[] getPhotoTimeData(long handler, long startTime);
protected native long[] getPhotoTimeData2(long handler); protected native long[] getPhotoTimeData2(long handler);

Loading…
Cancel
Save