实验3-1
sdf gmt 0018 裸卡 ukey
user@user-VirtualBox:~/bestidiocs2024/ch06/rochs0018sdf$ cd config
user@user-VirtualBox:~/bestidiocs2024/ch06/rochs0018sdf/config$ chmod +x *.sh
user@user-VirtualBox:~/bestidiocs2024/ch06/rochs0018sdf/config$ sudo ./config.sh
[sudo] user 的密码:
对不起,请重试。
[sudo] user 的密码:
Service udev restarted!
run finished!
user@user-VirtualBox:~/bestidiocs2024/ch06/rochs0018sdf/config$ cd ..
user@user-VirtualBox:~/bestidiocs2024/ch06/rochs0018sdf$ ls
config examples examples-arm.zip example-x86-64.zip readMe.txt rochs0018电路图.pdf
user@user-VirtualBox:~/bestidiocs2024/ch06/rochs0018sdf$ cd examples
user@user-VirtualBox:~/bestidiocs2024/ch06/rochs0018sdf/examples$ make
make: “test”已是最新。
user@user-VirtualBox:~/bestidiocs2024/ch06/rochs0018sdf/examples$ sudo ./test
open device successed!
open session successed!
CosVer: 6200
SDF_GetCosVersion successed
pucChipID[16]:
43464759 32542c05 050207e7 48531020
SDF_GetChipID successed
KeyList:
SGD_KEY_TYPE_ROOTKEY-80: 01
SGD_KEY_TYPE_KPK-81: 00
SGD_KEY_TYPE_FILEKEY-82: 00
SGD_KEY_TYPE_SESSIONKEY-83: 00000000000000000000000000000000
SGD_KEY_TYPE_SM2-84: 00000000000000000000000000000000
SGD_KEY_TYPE_RSA-85: 0000000000000000000000000000000000000000000000000000000000000000
SGD_KEY_TYPE_ECC-86: 00000000000000000000000000000000
SDF_GetKeyList successed
pOutRand[16]:
ae16c18e 346e1223 b81a218a 3977ce64
SDF_GenerateRandom successed!
SDF_ExternalAuthen successed
ExternalAuthen rootkey successed!
SDF_ImportManagerialKey rootkey successed!
SDF_ImportManagerialKey SGD_KEY_TYPE_KPK successed!
SDF_ImportManagerialKey SGD_KEY_TYPE_FILEKEY successed!
SDF_InstallDeviceSN successed!
KeyList:
SGD_KEY_TYPE_ROOTKEY-80: 01
SGD_KEY_TYPE_KPK-81: 01
SGD_KEY_TYPE_FILEKEY-82: 01
SGD_KEY_TYPE_SESSIONKEY-83: 00000000000000000000000000000000
SGD_KEY_TYPE_SM2-84: 00000000000000000000000000000000
SGD_KEY_TYPE_RSA-85: 0000000000000000000000000000000000000000000000000000000000000000
SGD_KEY_TYPE_ECC-86: 00000000000000000000000000000000
SDF_GetKeyList successed
DevSN:hs_0000000000001
SDF_GetDeviceSN successed
SDF_ExternalAuthen successed
ExternalAuthen SGD_KEY_TYPE_FILEKEY successed!
SDF_ConfigDataAreaPermission successed
BinaryReadWriteTest success!
SDF_ImportSessionKey success!
KeyList:
SGD_KEY_TYPE_ROOTKEY-80: 01
SGD_KEY_TYPE_KPK-81: 01
SGD_KEY_TYPE_FILEKEY-82: 01
SGD_KEY_TYPE_SESSIONKEY-83: 01010101010101010101010101010101
SGD_KEY_TYPE_SM2-84: 00000000000000000000000000000000
SGD_KEY_TYPE_RSA-85: 0000000000000000000000000000000000000000000000000000000000000000
SGD_KEY_TYPE_ECC-86: 00000000000000000000000000000000
SDF_GetKeyList successed
SDF_DestroySessionKey success!
KeyList:
SGD_KEY_TYPE_ROOTKEY-80: 01
SGD_KEY_TYPE_KPK-81: 01
SGD_KEY_TYPE_FILEKEY-82: 01
SGD_KEY_TYPE_SESSIONKEY-83: 01010101010101010000000000000000
SGD_KEY_TYPE_SM2-84: 00000000000000000000000000000000
SGD_KEY_TYPE_RSA-85: 0000000000000000000000000000000000000000000000000000000000000000
SGD_KEY_TYPE_ECC-86: 00000000000000000000000000000000
SDF_GetKeyList successed line 4380
SGD_SM4_ECB Encrypt datasize: 4000000 Bytes used time: 6415261 us
SGD_SM4_ECB Encrypt average speed: 4988105 bps
SGD_SM4_ECB Decrypt datasize: 4000000 Bytes used time: 6465405 us
SGD_SM4_ECB Decrypt average speed: 4949419 bps
SGD_SM4_CBC Encrypt datasize: 4000000 Bytes used time: 6524927 us
SGD_SM4_CBC Encrypt average speed: 4904269 bps
SGD_SM4_CBC Decrypt datasize: 4000000 Bytes used time: 6445218 us
SGD_SM4_CBC Decrypt average speed: 4964921 bps
SGD_SM1_ECB Encrypt datasize: 4000000 Bytes used time: 6456104 us
SGD_SM1_ECB Encrypt average speed: 4956549 bps
SGD_SM1_ECB Decrypt datasize: 4000000 Bytes used time: 6539830 us
SGD_SM1_ECB Decrypt average speed: 4893093 bps
SGD_SM1_CBC Encrypt datasize: 4000000 Bytes used time: 6536405 us
SGD_SM1_CBC Encrypt average speed: 4895657 bps
SGD_SM1_CBC Decrypt datasize: 4000000 Bytes used time: 6559270 us
SGD_SM1_CBC Decrypt average speed: 4878591 bps
SGD_AES_ECB Encrypt datasize: 4000000 Bytes used time: 6545869 us
SGD_AES_ECB Encrypt average speed: 4888579 bps
SGD_AES_ECB Decrypt datasize: 4000000 Bytes used time: 6609826 us
SGD_AES_ECB Decrypt average speed: 4841277 bps
SGD_AES_CBC Encrypt datasize: 4000000 Bytes used time: 6489441 us
SGD_AES_CBC Encrypt average speed: 4931087 bps
SGD_AES_CBC Decrypt datasize: 4000000 Bytes used time: 6411746 us
SGD_AES_CBC Decrypt average speed: 4990840 bps
SGD_IPSEC_SM1 Encrypt datasize: 4000000 Bytes used time: 6384714 us
SGD_IPSEC_SM1 Encrypt average speed: 5011970 bps
SGD_IPSEC_SM1 Decrypt datasize: 4000000 Bytes used time: 6461360 us
SGD_IPSEC_SM1 Decrypt average speed: 4952517 bps
SGD_IPSEC_SM4 Encrypt datasize: 4000000 Bytes used time: 6533533 us
SGD_IPSEC_SM4 Encrypt average speed: 4897809 bps
SGD_IPSEC_SM4 Decrypt datasize: 4000000 Bytes used time: 6460892 us
SGD_IPSEC_SM4 Decrypt average speed: 4952876 bps
SDF_ExternalAuthen successed
ExternalAuthen SGD_KEY_TYPE_KPK successed!
Generate_Export_Import_SM2_KeyPair successed!
Generate_Export_Import_ECC_KeyPair successed!
Generate_Export_Import_RSA1024_KeyPair successed!
Generate_Export_Import_RSA2048_KeyPair successed!
KeyList:
SGD_KEY_TYPE_ROOTKEY-80: 01
SGD_KEY_TYPE_KPK-81: 01
SGD_KEY_TYPE_FILEKEY-82: 01
SGD_KEY_TYPE_SESSIONKEY-83: 01010101010101010000000000000000
SGD_KEY_TYPE_SM2-84: 03030302020303030301010300000000
SGD_KEY_TYPE_RSA-85: 0505050101050505050404050000000005050501010505050504040500000000
SGD_KEY_TYPE_ECC-86: 03030302020303030301010300000000
SDF_GetKeyList successed
SM2_Internal_EncDec successed!
ECC_Internal_EncDec successed!
RSA1024_Internal_EncDec successed!
RSA2048_Internal_EncDec successed!
SM2_Internal_SignVerify successed!
SM2-Sign Times: 100 times; Spent time: 650689 us
SM2-Sign average speed: 153 times/s
SM2-Verify Times: 100 times; Spent time: 659184 us
SM2-Verify average speed: 151 times/s
SM2_Internal_SignVerify_test successed!
ECC_Internal_SignVerify successed!
RSA1024_Internal_SignVerify successed!
RSA2048_Internal_SignVerify successed!
RSA1024-Sign Times: 100 times; Spent time: 661723 us
RSA1024-Sign average speed: 151 times/s
RSA1024-Verify Times: 100 times; Spent time: 661700 us
RSA1024-Verify average speed: 151 times/s
RSA1024_Internal_SignVerify_test successed!
RSA2048-Sign Times: 100 times; Spent time: 1694808 us
RSA2048-Sign average speed: 59 times/s
RSA2048-Verify Times: 100 times; Spent time: 644265 us
RSA2048-Verify average speed: 155 times/s
RSA2048_Internal_SignVerify_Test successed!
SM2_External_EncDec successed!
ECC_External_EncDec successed!
RSA1024_External_EncDec successed!
RSA2048_External_EncDec successed!
SM2_External_SignVerify successed!
ECC_External_SignVerify successed!
RSA1024_External_SignVerify successed!
RSA2048_External_SignVerify successed!
The amount of data: 4000000 bytes time: 6500002 us
SGD_SM3Hash average speed: 4923075 bps
SGD_SM3Hash successed!
SGD_SHA_160_Hash successed!
SGD_SHA_224_Hash successed!
SGD_SHA_256_Hash successed!
SGD_SHA_384_Hash successed!
SGD_SHA_512_Hash successed!
SGD_HMac successed!
test successed.
龙脉ukey skf gmt0016
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac$ cd encrypt
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/encrypt$ vim makefile
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/encrypt$ make
rm -f encryptTest
g++ -o encryptTest main.o ../lib/x64/libgm3000.1.0.so
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/encrypt$ ls
encryptTest main.cpp main.o makefile makefile_mac
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/encrypt$ ./encryptTest
encrypt data ok!
user@user-Virtual
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/enumdevinfo$ mv makefile_linux makefile
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/enumdevinfo$ ls
main.cpp main.o makefile makefile_mac
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/enumdevinfo$ make
rm -f enumdevice
g++ -o enumdevice main.o ../lib/linux/x86/libgm3000.1.0.so
/usr/bin/ld: 找不到 ../lib/linux/x86/libgm3000.1.0.so: 没有那个文件或目录
collect2: error: ld returned 1 exit status
make: *** [makefile:31:enumdevice] 错误 1
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/enumdevinfo$ vim makefile
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/enumdevinfo$ make
rm -f enumdevice
g++ -o enumdevice main.o ../lib/x64/libgm3000.1.0.so
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/enumdevinfo$ ls
enumdevice main.cpp main.o makefile makefile_mac
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/enumdevinfo$ ./enumdeviceManufacturer: Longmai AlgSymCap :1799 AlgAsymCap :198400,AlgHashCap :7,evAuthAlgId :1025,Issuer : Longmai Label : GM3000 SerialNumber : F4DE0A4D51D8D58A95E3F06C5F59765 Total space:131072 Manufacturer: Longmai AlgSymCap :1799 AlgAsymCap :198400,AlgHashCap :7,evAuthAlgId :1025,Issuer : Longmai Label : GM3000 SerialNumber : F4DE0A4D51D8D58A95E3F06C5F59765 Total space:131072 Manufacturer: Longmai AlgSymCap :1799 AlgAsymCap :198400,AlgHashCap :7,evAuthAlgId :1025,Issuer : Longmai Label : GM3000 SerialNumber : F4DE0A4D51D8D58A95E3F06C5F59765 Total space:131072 Manufacturer: Longmai AlgSymCap :1799 AlgAsymCap :198400,AlgHashCap :7,evAuthAlgId :1025,Issuer : Longmai Label : GM3000 SerialNumber : F4DE0A4D51D8D58A95E3F06C5F59765 Total space:131072 Manufacturer: Longmai AlgSymCap :1799 AlgAsymCap :198400,AlgHashCap :7,evAuthAlgId :1025,Issuer : Longmai Label : GM3000 SerialNumber : F4DE0A4D51D8D58A95E3F06C5F59765 Total space:131072 Manufacturer: Longmai AlgSymCap :1799 AlgAsymCap :198400,AlgHashCap :7,evAuthAlgId :1025,Issuer : Longmai Label : GM3000 SerialNumber : F4DE0A4D51D8D58A95E3F06C5F59765 Total space:131072 Manufacturer: Longmai AlgSymCap :1799 AlgAsymCap :198400,AlgHashCap :7,evAuthAlgId :1025,Issuer : Longmai Label : GM3000 SerialNumber : F4DE0A4D51D8D58A95E3F06C5F59765 Total space:131072 Manufacturer: Longmai AlgSymCap :1799 AlgAsymCap :198400,AlgHashCap :7,evAuthAlgId :1025,Issuer : Longmai Label : GM3000 SerialNumber : F4DE0A4D51D8D58A95E3F06C5F59765 Total space:131072 Manufacturer: Longmai AlgSymCap :1799 AlgAsymCap :198400,AlgHashCap :7,evAuthAlgId :1025,Issuer : Longmai Label : GM3000 SerialNumber : F4DE0A4D51D8D58A95E3F06C5F59765 Total space:131072 Manufacturer: Longmai AlgSymCap :1799 AlgAsymCap :198400,AlgHashCap :7,evAuthAlgId :1025,Issuer : Longmai Label : GM3000 SerialNumber : F4DE0A4D51D8D58A95E3F06C5F59765 Total space:131072
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/FingerMgrDemo$ vim makefile
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/FingerMgrDemo$ make
rm -f fingerMgrDemo
g++ -o fingerMgrDemo main.o ../lib/x64/libgm3000.1.0.so
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/FingerMgrDemo$ ls
90-mtoken.rules fingerMgrDemo main.cpp main.o makefile skfapi_finger.h skfapi.h
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/FingerMgrDemo$ ./fingerMgrDemo
*******************************************************************Finger 示例
*******************************************************************1. PIN码登录[SKF_VerifyPIN] 2. 指纹录入[SKF_EnrollFingerInit,SKF_EnrollFinger] 3. 指纹验证[SKF_VerifyFinger带UI] 4. 删除指纹[SKF_DeleteFinger] 5. 指纹测试[SKF_TestFinger] 6. 解锁指纹[SKF_UnblockFinger] 7. 获取指纹信息[SKF_GetFingerInfo] 8. 指纹验证[SKF_VerifyPIN,UserPIN=] 9. 获取设备类型[SKF_GetDevInfo] 10. 获指纹取录入个数[SKF_HasFinger,SKF_GetFingerCount] 0. EXIT Select -->7
Failed to get finger info.
*******************************************************************Finger 示例
*******************************************************************1. PIN码登录[SKF_VerifyPIN] 2. 指纹录入[SKF_EnrollFingerInit,SKF_EnrollFinger] 3. 指纹验证[SKF_VerifyFinger带UI] 4. 删除指纹[SKF_DeleteFinger] 5. 指纹测试[SKF_TestFinger] 6. 解锁指纹[SKF_UnblockFinger] 7. 获取指纹信息[SKF_GetFingerInfo] 8. 指纹验证[SKF_VerifyPIN,UserPIN=] 9. 获取设备类型[SKF_GetDevInfo] 10. 获指纹取录入个数[SKF_HasFinger,SKF_GetFingerCount] 0. EXIT Select -->9
SKF_GetDevInfo Successfully.
This is a common device.
非法指令 (核心已转储)
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac$ cd interruptTest
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/interruptTest$ ls
main.cpp makefile
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/interruptTest$ make
g++ -c -o main.o main.cpp
rm -f interruptTest64
g++ -o interruptTest64 main.o ../lib/linux/x64/libgm3000.1.0.so
/usr/bin/ld: 找不到 ../lib/linux/x64/libgm3000.1.0.so: 没有那个文件或目录
collect2: error: ld returned 1 exit status
make: *** [makefile:38:interruptTest64] 错误 1
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/interruptTest$ vim makefile
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/interruptTest$ make
rm -f interruptTest64
g++ -o interruptTest64 main.o ../lib/x64/libgm3000.1.0.so
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/interruptTest$ ls
interruptTest64 main.cpp main.o makefile
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/interruptTest$ ./interruptTest64
0 F4DE0A4D51D8D58A95E3F06C5F59765
1 F4DE0A4D51D8D58A95E3F06C5F59765
2 F4DE0A4D51D8D58A95E3F06C5F59765
3 F4DE0A4D51D8D58A95E3F06C5F59765
4 F4DE0A4D51D8D58A95E3F06C5F59765
5 F4DE0A4D51D8D58A95E3F06C5F59765
6 F4DE0A4D51D8D58A95E3F06C5F59765
7 F4DE0A4D51D8D58A95E3F06C5F59765
8 F4DE0A4D51D8D58A95E3F06C5F59765
9 F4DE0A4D51D8D58A95E3F06C5F59765
10 F4DE0A4D51D8D58A95E3F06C5F59765
11 F4DE0A4D51D8D58A95E3F06C5F59765
12 F4DE0A4D51D8D58A95E3F06C5F59765
13 F4DE0A4D51D8D58A95E3F06C5F59765
14 F4DE0A4D51D8D58A95E3F06C5F59765
15 F4DE0A4D51D8D58A95E3F06C5F59765
16 F4DE0A4D51D8D58A95E3F06C5F59765
17 F4DE0A4D51D8D58A95E3F06C5F59765
18 F4DE0A4D51D8D58A95E3F06C5F59765
19 F4DE0A4D51D8D58A95E3F06C5F59765
20 F4DE0A4D51D8D58A95E3F06C5F59765
21 F4DE0A4D51D8D58A95E3F06C5F59765
22 F4DE0A4D51D8D58A95E3F06C5F59765
23 F4DE0A4D51D8D58A95E3F06C5F59765
24 F4DE0A4D51D8D58A95E3F06C5F59765
25 F4DE0A4D51D8D58A95E3F06C5F59765
26 F4DE0A4D51D8D58A95E3F06C5F59765
27 F4DE0A4D51D8D58A95E3F06C5F59765
28 F4DE0A4D51D8D58A95E3F06C5F59765
29 F4DE0A4D51D8D58A95E3F06C5F59765
30 F4DE0A4D51D8D58A95E3F06C5F59765
31 F4DE0A4D51D8D58A95E3F06C5F59765
32 F4DE0A4D51D8D58A95E3F06C5F59765
33 F4DE0A4D51D8D58A95E3F06C5F59765
34 F4DE0A4D51D8D58A95E3F06C5F59765
35 F4DE0A4D51D8D58A95E3F06C5F59765
36 F4DE0A4D51D8D58A95E3F06C5F59765
37 F4DE0A4D51D8D58A95E3F06C5F59765
38 F4DE0A4D51D8D58A95E3F06C5F59765
39 F4DE0A4D51D8D58A95E3F06C5F59765
40 F4DE0A4D51D8D58A95E3F06C5F59765
41 F4DE0A4D51D8D58A95E3F06C5F59765
^C
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/monitordev$ mv makefile_linux makefile
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/monitordev$ ls
main.cpp makefile makefile_mac
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/monitordev$ vim makefile
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/monitordev$ make
g++ -c -o main.o main.cpp
rm -f monitordev
g++ -o monitordev main.o ../lib/x64/libgm3000.1.0.so -lpthread
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/monitordev$ ls
main.cpp main.o makefile makefile_mac monitordev
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/monitordev$ ./monitordev
SKF_WaitForDevEvent
^C
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac$ cd signature
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/signature$ ls
main.cpp makefile_linux makefile_mac
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/signature$ mv makefile_linux makefile
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/signature$ make
g++ -c -o main.o main.cpp
main.cpp: In function ‘int main()’:
main.cpp:24:29: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]24 | char *pUserPin = "123456";| ^~~~~~~~
main.cpp:36:23: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]36 | char *pubid = "1234567812345678";| ^~~~~~~~~~~~~~~~~~
main.cpp:38:26: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]38 | char *psrcdata = "1234567812345678";| ^~~~~~~~~~~~~~~~~~
rm -f signatureTest
g++ -o signatureTest main.o ../lib/linux/x86/libgm3000.1.0.so
/usr/bin/ld: 找不到 ../lib/linux/x86/libgm3000.1.0.so: 没有那个文件或目录
collect2: error: ld returned 1 exit status
make: *** [makefile:32:signatureTest] 错误 1
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/signature$ vim makefile
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/signature$ make
rm -f signatureTest
g++ -o signatureTest main.o ../lib/x64/libgm3000.1.0.so
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/signature$ ls
main.cpp main.o makefile makefile_mac signatureTest
user@user-VirtualBox:~/bestidiocs2024/ch06/longmaiskf0016-stu/samples/skf/linux_mac/signature$ ./signatureTest
Signature successful.
Verify signature successful.