Hello,
I'm new with DLMS, so please be patient if my terms are not conventional.
I'm able to communicate with .NET library and a meter with and without encryption successfully.
I'm able to communicate without encryption with a meter using android application.
But, enabling encryption I'm unable to work with it.
Checking the code, there is a difference in the code .NET vs JAVA that I don't understand.
https://github.com/Gurux/Gurux.DLMS.Android/blob/2f01fa4987df6294175a08…
https://github.com/Gurux/Gurux.DLMS.Net/blob/fd66dfe92ce62cf0c3d4b0520c…
Specifically in the line https://github.com/Gurux/Gurux.DLMS.Net/blob/fd66dfe92ce62cf0c3d4b0520c…
For .NET the GXCryptoNotifier is created, and it will encrypt the messages, but in JAVA looks like is not present and looks like it doesn't initialize the notifier (that from my understand) is the responsible for encoding/decoding.
Looks like it is used only in DLMSServer, but I should be connect to a meter, so I should use the client.
Is conceptually wrong?
There is some instantiation under the hood that I'm unable to find?
Thank you!
Hi, GXCryptoNotifier is not…
Hi,
GXCryptoNotifier is not needed. You can set the block cipher and authentication keys like this:
client.getCiphering().setSecurity(Security.AUTHENTICATION_ENCRYPTION);
client.getCiphering().setBlockCipherKey(GXCommon.hexToBytes("YOUR KEY");
client.getCiphering().setAuthenticationKey(GXCommon.hexToBytes("YOUR KEY");