fetchNVCN static method
Implementation
static fetchNVCN(ScpDevice device) async {
//plain text = <salt> + ":" + "security-fetch-nvcn" + ":" + <device ID>
String salt = ScpCrypto().generatePassword();
String payload = "$salt:security-fetch-nvcn:${device.deviceId}";
ScpJson scpJson =
await ScpCrypto().encryptThenEncode(device.knownPassword, payload);
Uri url = Uri.http(
'${device.ipAddress}:$PORT',
'/secure-control',
{
'nonce': '${scpJson.encryptedPayload.base64Nonce}',
'payload': '${scpJson.encryptedPayload.base64Data}',
'payloadLength': '${scpJson.encryptedPayload.dataLength}',
'mac': '${scpJson.encryptedPayload.base64Mac}',
},
);
return await http
.get(url)
.timeout(const Duration(seconds: NVCN_TIMEOUT))
.catchError((e) {
print(e);
});
}