cd main
go run github.com/ubirch/ubirch-protocol-sim/go/main /dev/ttyUSB0 115200
A configuration file main/config.json
is required. To be able to communicate with the UBIRCH backend, it
must contain the "password"
-key which is the UBIRCH API auth token and can be acquired at the
UBIRCH web UI.
(See here how to claim your IMSI) and
copy the value of the "password" from the apiConfig
as your auth token.
The default UBIRCH backend environment is "prod"
, but may be overwritten with the "env"
-key.
For testing, set it to "demo"
.
{
"password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx",
"env": "demo"
}
If you wish to test the SIM functionality without actually sending ubirch protocol packages (UPPs)
to the UBIRCH backend at all, simply don't set the "password"
-key in the config file and the script will skip
backend communication.
The PIN to unlock the SIM card is normally acquired through a bootstrapping with the UBIRCH backend,
but bootstrapping can be omitted by setting the "pin"
-key.
The "debug"
-key additionally enables extended debug output.
{
"pin": "1234",
"debug": true
}
To test this implementation with a Pycom Gpy, install the uart proxy and then run main.go with the corresponding connection to the USB serial interface:
- Go to UBIRCH web UI
- Login or register if you don't have an account yet.
- Go to Things (in the menu on the left) and click on
+ ADD NEW DEVICE
. - Enter the IMSI of your SIM card to the ID field, add a description and click on
register
. - Click on your device (IMSI) in the overview and take note of the the
apiConfig
. - The value of the
Example output:
2020/05/08 13:32:11 SIM Interface Example
2020/05/08 13:32:11 +++ AT+CFUN? (8)
2020/05/08 13:32:11 --- ERROR (5)
2020/05/08 13:32:11 +++ AT+CFUN=4,1 (11)
2020/05/08 13:32:11 --- OK (2)
2020/05/08 13:32:11 +++ AT+CFUN? (8)
2020/05/08 13:32:20 --- +SHUTDOWN (9)
2020/05/08 13:32:20 --- +SYSSTART (9)
2020/05/08 13:32:20 --- +CFUN: 4 (8)
2020/05/08 13:32:20 --- OK (2)
2020/05/08 13:32:20 >> get IMSI
2020/05/08 13:32:20 +++ AT+CIMI (7)
2020/05/08 13:32:20 --- ERROR (5)
2020/05/08 13:32:21 +++ AT+CIMI (7)
2020/05/08 13:32:21 --- 987654321054321 (15)
2020/05/08 13:32:21 --- OK (2)
2020/05/08 13:32:21 IMSI: 987654321054321
2020/05/08 13:32:22 PIN: 1234
2020/05/08 13:32:22 >> select SIM applet
2020/05/08 13:32:22 +++ AT+CSIM=42,"00A4040010D2760001180002FF34108389C0028B02" (55)
2020/05/08 13:32:22 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:22 --- OK (2)
2020/05/08 13:32:22 >> authenticate
2020/05/08 13:32:22 +++ AT+CSIM=18,"002000000431323334" (31)
2020/05/08 13:32:22 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:22 --- OK (2)
2020/05/08 13:32:22 >> get certificate "ucrt"
2020/05/08 13:32:22 +++ AT+CSIM=18,"80A500000475637274" (31)
2020/05/08 13:32:23 --- +CSIM: 4,6118 (13)
2020/05/08 13:32:23 --- OK (2)
2020/05/08 13:32:23 >> get response
2020/05/08 13:32:23 +++ AT+CSIM=10,"00C0000018" (23)
2020/05/08 13:32:23 --- +CSIM: 52,C40475637274C01003120206091240209202000018A8619F9000 (62)
2020/05/08 13:32:23 --- OK (2)
2020/05/08 13:32:23 +++ AT+CSIM=10,"80CC000000" (23)
2020/05/08 13:32:23 --- +CSIM: 516,C38202BF308202783082021FA003020102020A00898822806660170001300A06082A8648CE3D0403023081AD3127302506092A864886F70D01090116186B65796D616E6167656D656E74407562697263682E636F6D310B30090603550406130244453120301E06035504080C174E6F727468205268696E652D576573747068616C69616E3110300E06035504070C07436F6C6F676E6531193017060355040A0C10756269726368205465737420476D62483126302406035504030C1D75626972636820476D624820446576696365205369676E696E67204341301E170D3230303333313130303230365A170D3430303332363130303230365A304E310B3009066310 (527)
2020/05/08 13:32:23 --- OK (2)
2020/05/08 13:32:23 +++ AT+CSIM=10,"80CC010000" (23)
2020/05/08 13:32:24 --- +CSIM: 516,035504061302444531143012060355040A0C0B75626972636820476D62483129302706035504030C2030333132303230363039313234303230393230323030303031384138363139463059301306072A8648CE3D020106082A8648CE3D030107034200045F8ABFCF849244055507544A5FAD890F6B0E85DC9EEF6BE0F6988FE8282D03CA1F2654F67B84516312978FA0653DBAF8CD89F136407ABD31C7861F495BD69F50A38184308181300E0603551D0F0101FF04040302078030150603551D20040E300C300A06086781120101010101301D0603551D0E04160414CCF918A22559CA97498BF91AC46DD2AEA246DCF5301806086781120101010000040C0C0A6310 (527)
2020/05/08 13:32:24 --- OK (2)
2020/05/08 13:32:24 +++ AT+CSIM=10,"80CC010000" (23)
2020/05/08 13:32:24 --- +CSIM: 394,47442D4E472D30363137301F0603551D2304183016801461FF0342F9D212185342C879E63FD9E9A63F1D9A300A06082A8648CE3D040302034700304402203AF38012A8760169BF5F4BAFDE93B94413323AE9A6B760BDF8340295B019B28802206F09BAB852A823CB45F7063CB22D1591F8772780514A392E1C98F6793A9D9DEF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009000 (405)
2020/05/08 13:32:24 --- OK (2)
2020/05/08 13:32:24 DEC tag=0xc3, len=703 [2bf], data=308202783082021fa003020102020a00898822806660170001300a06082a8648ce3d0403023081ad3127302506092a864886f70d01090116186b65796d616e6167656d656e74407562697263682e636f6d310b30090603550406130244453120301e06035504080c174e6f727468205268696e652d576573747068616c69616e3110300e06035504070c07436f6c6f676e6531193017060355040a0c10756269726368205465737420476d62483126302406035504030c1d75626972636820476d624820446576696365205369676e696e67204341301e170d3230303333313130303230365a170d3430303332363130303230365a304e310b300906035504061302444531143012060355040a0c0b75626972636820476d62483129302706035504030c2030333132303230363039313234303230393230323030303031384138363139463059301306072a8648ce3d020106082a8648ce3d030107034200045f8abfcf849244055507544a5fad890f6b0e85dc9eef6be0f6988fe8282d03ca1f2654f67b84516312978fa0653dbaf8cd89f136407abd31c7861f495bd69f50a38184308181300e0603551d0f0101ff04040302078030150603551d20040e300c300a06086781120101010101301d0603551d0e04160414ccf918a22559ca97498bf91ac46dd2aea246dcf5301806086781120101010000040c0c0a47442d4e472d30363137301f0603551d2304183016801461ff0342f9d212185342c879e63fd9e9a63f1d9a300a06082a8648ce3d040302034700304402203af38012a8760169bf5f4bafde93b94413323ae9a6b760bdf8340295b019b28802206f09bab852a823cb45f7063cb22d1591f8772780514a392e1c98f6793a9d9def00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ["0\x82\x02x0\x82\x02\x1f\xa0\x03\x02\x01\x02\x02\n\x00\x89\x88\"\x80f`\x17\x00\x010\n\x06\b*\x86H\xce=\x04\x03\x020\x81\xad1'0%\x06\t*\x86H\x86\xf7\r\x01\t\x01\x16\[email protected]\v0\t\x06\x03U\x04\x06\x13\x02DE1 0\x1e\x06\x03U\x04\b\f\x17North Rhine-Westphalian1\x100\x0e\x06\x03U\x04\a\f\aCologne1\x190\x17\x06\x03U\x04\n\f\x10ubirch Test GmbH1&0$\x06\x03U\x04\x03\f\x1dubirch GmbH Device Signing CA0\x1e\x17\r200331100206Z\x17\r400326100206Z0N1\v0\t\x06\x03U\x04\x06\x13\x02DE1\x140\x12\x06\x03U\x04\n\f\vubirch GmbH1)0'\x06\x03U\x04\x03\f 03120206091240209202000018A8619F0Y0\x13\x06\a*\x86H\xce=\x02\x01\x06\b*\x86H\xce=\x03\x01\a\x03B\x00\x04_\x8a\xbfτ\x92D\x05U\aTJ_\xad\x89\x0fk\x0e\x85ܞ\xefk\xe0\xf6\x98\x8f\xe8(-\x03\xca\x1f&T\xf6{\x84Qc\x12\x97\x8f\xa0e=\xba\xf8͉\xf16@z\xbd1dž\x1fI[֟P\xa3\x81\x840\x81\x810\x0e\x06\x03U\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\a\x800\x15\x06\x03U\x1d \x04\x0e0\f0\n\x06\bg\x81\x12\x01\x01\x01\x01\x010\x1d\x06\x03U\x1d\x0e\x04\x16\x04\x14\xcc\xf9\x18\xa2%YʗI\x8b\xf9\x1a\xc4mҮ\xa2F\xdc\xf50\x18\x06\bg\x81\x12\x01\x01\x01\x00\x00\x04\f\f\nGD-NG-06170\x1f\x06\x03U\x1d#\x04\x180\x16\x80\x14a\xff\x03B\xf9\xd2\x12\x18SB\xc8y\xe6?\xd9\xe9\xa6?\x1d\x9a0\n\x06\b*\x86H\xce=\x04\x03\x02\x03G\x000D\x02 :\xf3\x80\x12\xa8v\x01i\xbf_K\xafޓ\xb9D\x132:馷`\xbd\xf84\x02\x95\xb0\x19\xb2\x88\x02 o\t\xba\xb8R\xa8#\xcbE\xf7\x06<\xb2-\x15\x91\xf8w'\x80QJ9.\x1c\x98\xf6y:\x9d\x9d\xef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"]
2020/05/08 13:32:24 retrieved certificate from SIM: 308202783082021fa003020102020a00898822806660170001300a06082a8648ce3d0403023081ad3127302506092a864886f70d01090116186b65796d616e6167656d656e74407562697263682e636f6d310b30090603550406130244453120301e06035504080c174e6f727468205268696e652d576573747068616c69616e3110300e06035504070c07436f6c6f676e6531193017060355040a0c10756269726368205465737420476d62483126302406035504030c1d75626972636820476d624820446576696365205369676e696e67204341301e170d3230303333313130303230365a170d3430303332363130303230365a304e310b300906035504061302444531143012060355040a0c0b75626972636820476d62483129302706035504030c2030333132303230363039313234303230393230323030303031384138363139463059301306072a8648ce3d020106082a8648ce3d030107034200045f8abfcf849244055507544a5fad890f6b0e85dc9eef6be0f6988fe8282d03ca1f2654f67b84516312978fa0653dbaf8cd89f136407abd31c7861f495bd69f50a38184308181300e0603551d0f0101ff04040302078030150603551d20040e300c300a06086781120101010101301d0603551d0e04160414ccf918a22559ca97498bf91ac46dd2aea246dcf5301806086781120101010000040c0c0a47442d4e472d30363137301f0603551d2304183016801461ff0342f9d212185342c879e63fd9e9a63f1d9a300a06082a8648ce3d040302034700304402203af38012a8760169bf5f4bafde93b94413323ae9a6b760bdf8340295b019b28802206f09bab852a823cb45f7063cb22d1591f8772780514a392e1c98f6793a9d9def00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2020/05/08 13:32:24 >> get key "ukey"
2020/05/08 13:32:24 +++ AT+CSIM=18,"80A5000004756b6579" (31)
2020/05/08 13:32:24 --- +CSIM: 4,6118 (13)
2020/05/08 13:32:24 --- OK (2)
2020/05/08 13:32:24 >> get response
2020/05/08 13:32:24 +++ AT+CSIM=10,"00C0000018" (23)
2020/05/08 13:32:25 --- +CSIM: 52,C404756B6579C010498D2C4D5F634206B9F75B4754EBD6249000 (62)
2020/05/08 13:32:25 --- OK (2)
2020/05/08 13:32:25 ENC tag=0xd0, len= 1 [01], data=00 ["\x00"]
2020/05/08 13:32:25 +++ AT+CSIM=16,"80CB000003D00100" (29)
2020/05/08 13:32:25 --- +CSIM: 4,6148 (13)
2020/05/08 13:32:25 --- OK (2)
2020/05/08 13:32:25 >> get response
2020/05/08 13:32:25 +++ AT+CSIM=10,"00C0000048" (23)
2020/05/08 13:32:25 --- +CSIM: 148,C2030B0100C341048D21F58705AFF6425690196C616F22041585E25DC1BC0C8EB060DCE334AD511B000E348AC9F36963D1A47CDF0EA25EBDE2EA7BF320FA180535D40C35FCC9D3BB9000 (159)
2020/05/08 13:32:25 --- OK (2)
2020/05/08 13:32:25 DEC tag=0xc2, len= 3 [03], data=0b0100 ["\v\x01\x00"]
2020/05/08 13:32:25 DEC tag=0xc3, len= 65 [41], data=048d21f58705aff6425690196c616f22041585e25dc1bc0c8eb060dce334ad511b000e348ac9f36963d1a47cdf0ea25ebde2ea7bf320fa180535d40c35fcc9d3bb ["\x04\x8d!\xf5\x87\x05\xaf\xf6BV\x90\x19lao\"\x04\x15\x85\xe2]\xc1\xbc\f\x8e\xb0`\xdc\xe34\xadQ\x1b\x00\x0e4\x8a\xc9\xf3icѤ|\xdf\x0e\xa2^\xbd\xe2\xea{\xf3 \xfa\x18\x055\xd4\f5\xfc\xc9ӻ"]
2020/05/08 13:32:25 public key [base64]: jSH1hwWv9kJWkBlsYW8iBBWF4l3BvAyOsGDc4zStURsADjSKyfNpY9GkfN8Ool694up78yD6GAU11Aw1/MnTuw==
2020/05/08 13:32:25 public key [hex]: 8d21f58705aff6425690196c616f22041585e25dc1bc0c8eb060dce334ad511b000e348ac9f36963d1a47cdf0ea25ebde2ea7bf320fa180535d40c35fcc9d3bb
2020/05/08 13:32:25 >> get UUID of "ukey"
2020/05/08 13:32:25 +++ AT+CSIM=18,"80A5000004756b6579" (31)
2020/05/08 13:32:25 --- +CSIM: 4,6118 (13)
2020/05/08 13:32:25 --- OK (2)
2020/05/08 13:32:25 >> get response
2020/05/08 13:32:25 +++ AT+CSIM=10,"00C0000018" (23)
2020/05/08 13:32:26 --- +CSIM: 52,C404756B6579C010498D2C4D5F634206B9F75B4754EBD6249000 (62)
2020/05/08 13:32:26 --- OK (2)
2020/05/08 13:32:26 DEC tag=0xc4, len= 4 [04], data=756b6579 ["ukey"]
2020/05/08 13:32:26 DEC tag=0xc0, len= 16 [10], data=498d2c4d5f634206b9f75b4754ebd624 ["I\x8d,M_cB\x06\xb9\xf7[GT\xeb\xd6$"]
2020/05/08 13:32:26 UUID: 498d2c4d-5f63-4206-b9f7-5b4754ebd624
2020/05/08 13:32:27 >> sign with key "_ukey"
2020/05/08 13:32:27 ENC tag=0xc4, len= 5 [05], data=5f756b6579 ["_ukey"]
2020/05/08 13:32:27 ENC tag=0xd0, len= 1 [01], data=21 ["!"]
2020/05/08 13:32:27 >> sign init
2020/05/08 13:32:27 +++ AT+CSIM=30,"80B500000AC4055F756B6579D00121" (43)
2020/05/08 13:32:27 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:27 --- OK (2)
2020/05/08 13:32:27 >> sign update/final
2020/05/08 13:32:27 +++ AT+CSIM=138,"80B60000407b22616c676f726974686d223a2265636473612d703235367631222c2263726561746564223a22323032302d30352d30385431313a34393a32322e3235315a22" (152)
2020/05/08 13:32:27 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:27 --- OK (2)
2020/05/08 13:32:27 >> sign update/final
2020/05/08 13:32:27 +++ AT+CSIM=138,"80B60000402c2268774465766963654964223a2234393864326334642d356636332d343230362d623966372d356234373534656264363234222c227075624b6579223a226a" (152)
2020/05/08 13:32:27 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:27 --- OK (2)
2020/05/08 13:32:27 >> sign update/final
2020/05/08 13:32:27 +++ AT+CSIM=138,"80B600004053483168775776396b4a576b426c735957386942425746346c33427641794f73474463347a537455527341446a534b79664e705939476b664e384f6f6c363934" (152)
2020/05/08 13:32:28 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:28 --- OK (2)
2020/05/08 13:32:28 >> sign update/final
2020/05/08 13:32:28 +++ AT+CSIM=138,"80B60000407570373879443647415531314177312f4d6e5475773d3d222c227075624b65794964223a226a53483168775776396b4a576b426c735957386942425746346c33" (152)
2020/05/08 13:32:28 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:28 --- OK (2)
2020/05/08 13:32:28 >> sign update/final
2020/05/08 13:32:28 +++ AT+CSIM=138,"80B6000040427641794f73474463347a537455527341446a534b79664e705939476b664e384f6f6c3639347570373879443647415531314177312f4d6e5475773d3d222c22" (152)
2020/05/08 13:32:28 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:28 --- OK (2)
2020/05/08 13:32:28 >> sign update/final
2020/05/08 13:32:28 +++ AT+CSIM=138,"80B600004076616c69644e6f744166746572223a22323032312d30352d30385431313a34393a32322e3235315a222c2276616c69644e6f744265666f7265223a2232303230" (152)
2020/05/08 13:32:29 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:29 --- OK (2)
2020/05/08 13:32:29 >> sign update/final
2020/05/08 13:32:29 +++ AT+CSIM=54,"80B68000162d30352d30385431313a34393a32322e3235315a227d" (67)
2020/05/08 13:32:29 --- +CSIM: 4,6146 (13)
2020/05/08 13:32:29 --- OK (2)
2020/05/08 13:32:29 >> get response
2020/05/08 13:32:29 +++ AT+CSIM=10,"00C0000046" (23)
2020/05/08 13:32:29 --- +CSIM: 144,304402200EBFAEEBA0AEB4A71ACC6FE3CEB10EBF540035F33FD5849845908EF6240EA5480220215DB3A86036D960DA4084721971012B0B4C5695F717421A1DBDE77B6F15385E9000 (155)
2020/05/08 13:32:29 --- OK (2)
2020/05/08 13:32:29 certificate: {"pubKeyInfo":{"algorithm":"ecdsa-p256v1","created":"2020-05-08T11:32:26.251Z","hwDeviceId":"498d2c4d-5f63-4206-b9f7-5b4754ebd624","pubKey":"jSH1hwWv9kJWkBlsYW8iBBWF4l3BvAyOsGDc4zStURsADjSKyfNpY9GkfN8Ool694up78yD6GAU11Aw1/MnTuw==","pubKeyId":"jSH1hwWv9kJWkBlsYW8iBBWF4l3BvAyOsGDc4zStURsADjSKyfNpY9GkfN8Ool694up78yD6GAU11Aw1/MnTuw==","validNotAfter":"2021-05-08T11:32:26.251Z","validNotBefore":"2020-05-08T11:32:26.251Z"},"signature":"MEQCIA6/ruugrrSnGsxv486xDr9UADXzP9WEmEWQjvYkDqVIAiAhXbOoYDbZYNpAhHIZcQErC0xWlfcXQhodved7bxU4Xg=="}
2020/05/08 13:32:29 key registration successful. response: {"pubKeyInfo":{"algorithm":"ecdsa-p256v1","created":"2020-05-08T11:32:26.251Z","hwDeviceId":"498d2c4d-5f63-4206-b9f7-5b4754ebd624","pubKey":"jSH1hwWv9kJWkBlsYW8iBBWF4l3BvAyOsGDc4zStURsADjSKyfNpY9GkfN8Ool694up78yD6GAU11Aw1/MnTuw==","pubKeyId":"jSH1hwWv9kJWkBlsYW8iBBWF4l3BvAyOsGDc4zStURsADjSKyfNpY9GkfN8Ool694up78yD6GAU11Aw1/MnTuw==","validNotAfter":"2021-05-08T11:32:26.251Z","validNotBefore":"2020-05-08T11:32:26.251Z"},"signature":"MEQCIA6/ruugrrSnGsxv486xDr9UADXzP9WEmEWQjvYkDqVIAiAhXbOoYDbZYNpAhHIZcQErC0xWlfcXQhodved7bxU4Xg=="}
2020/05/08 13:32:30 {"Timestamp":1588938565,"ID":"498d2c4d-5f63-4206-b9f7-5b4754ebd624","Value":2596996162}
2020/05/08 13:32:30 data hash [base64]: RcsOOUpHHv0xqi1r6z/fLkpqXVY+zO9KnOGR/m0FAxI=
2020/05/08 13:32:30 >> sign with key "_ukey"
2020/05/08 13:32:30 ENC tag=0xc4, len= 5 [05], data=5f756b6579 ["_ukey"]
2020/05/08 13:32:30 ENC tag=0xd0, len= 1 [01], data=21 ["!"]
2020/05/08 13:32:30 >> sign init
2020/05/08 13:32:30 +++ AT+CSIM=30,"80B562000AC4055F756B6579D00121" (43)
2020/05/08 13:32:30 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:30 --- OK (2)
2020/05/08 13:32:30 >> sign update/final
2020/05/08 13:32:30 +++ AT+CSIM=138,"80B60000407b2254696d657374616d70223a313538383933383536352c224944223a2234393864326334642d356636332d343230362d623966372d35623437353465626436" (152)
2020/05/08 13:32:30 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:30 --- OK (2)
2020/05/08 13:32:30 >> sign update/final
2020/05/08 13:32:30 +++ AT+CSIM=56,"80B68000173234222c2256616c7565223a323539363939363136327d" (69)
2020/05/08 13:32:30 --- +CSIM: 4,6179 (13)
2020/05/08 13:32:30 --- OK (2)
2020/05/08 13:32:30 >> get response
2020/05/08 13:32:30 +++ AT+CSIM=10,"00C0000079" (23)
2020/05/08 13:32:31 --- +CSIM: 246,9522C410498D2C4D5F634206B9F75B4754EBD62400C42045CB0E394A471EFD31AA2D6BEB3FDF2E4A6A5D563ECCEF4A9CE191FE6D050312C440B333E047215603324BAF27ACEC24EB7E914C463BC673FF272B8D8D18E5DF61AB47D92BA06DAEFD1BC1E2DB7F80FC4A9856D9786C69FE234478C56A6DD9162EDF9000 (257)
2020/05/08 13:32:31 --- OK (2)
2020/05/08 13:32:31 UPP [hex]: 9522c410498d2c4d5f634206b9f75b4754ebd62400c42045cb0e394a471efd31aa2d6beb3fdf2e4a6a5d563eccef4a9ce191fe6d050312c440b333e047215603324baf27acec24eb7e914c463bc673ff272b8d8d18e5df61ab47d92ba06daefd1bc1e2db7f80fc4a9856d9786c69fe234478c56a6dd9162edf
2020/05/08 13:32:31 >> verify with key "ukey"
2020/05/08 13:32:31 ENC tag=0xc4, len= 4 [04], data=756b6579 ["ukey"]
2020/05/08 13:32:31 ENC tag=0xd0, len= 1 [01], data=21 ["!"]
2020/05/08 13:32:31 >> verify init
2020/05/08 13:32:31 +++ AT+CSIM=28,"80B7220009C404756B6579D00121" (41)
2020/05/08 13:32:31 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:31 --- OK (2)
2020/05/08 13:32:31 >> verify update/final
2020/05/08 13:32:31 +++ AT+CSIM=138,"80B80000409522c410498d2c4d5f634206b9f75b4754ebd62400c42045cb0e394a471efd31aa2d6beb3fdf2e4a6a5d563eccef4a9ce191fe6d050312c440b333e047215603" (152)
2020/05/08 13:32:31 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:31 --- OK (2)
2020/05/08 13:32:31 >> verify update/final
2020/05/08 13:32:31 +++ AT+CSIM=124,"80B8800039324baf27acec24eb7e914c463bc673ff272b8d8d18e5df61ab47d92ba06daefd1bc1e2db7f80fc4a9856d9786c69fe234478c56a6dd9162edf" (138)
2020/05/08 13:32:32 --- +CSIM: 4,9000 (13)
2020/05/08 13:32:32 --- OK (2)
2020/05/08 13:32:32 verified: true