Skip to main content
Home
for DLMS smart meters
Open source solutions for DLMS smart metering

Main navigation

  • Home
  • Products
  • About us
  • Open Source
  • Community
  • Forum
  • Downloads
User account menu
  • Log in

Breadcrumb

  1. Home
  2. Forums
  3. Notifications Are Not Encrypted

Notifications are not encrypted

Forum Rules

Before commenting read Forum rules

Don't comment the topic if you have a new question.

You can create a new topic selecting correct category from Gurux Forum and then create a new topic selecting "New Topic" from the top left.

By utkarsh , 20 January, 2020
Forums
Gurux DLMS for Java

Hi Mikko,

I am using push listener example for send notifications to HES. But it seems they are not encrypted.

HES has received
00 3C 0F C0 00 00 01 00 02 02 01 02 02 04 12 00 28 09 06 00 07 19 09 00 FF 0F 02 12 00 00 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 09 0C 07 E4 01 0D 01 0D 23 01 62 01 2C 00

Regards,
Utkarsh

Profile picture for user Kurumi

Kurumi

6 years 4 months ago

Hi Utkarsh,

Hi Utkarsh,

You need to set security, system title, block cipher key and authentication key if you want to encrypt (cipher) the data.

BR,
Mikko

utkarsh

6 years 4 months ago

Thanks Mikko. But

Thanks Mikko. But GXDLMSNotify class doesn't implement security, system title, block cipher key and authentication key.
Do we need to implement GXDLMSClient to send notifications.

Regards,
Utkarsh

Profile picture for user Kurumi

Kurumi

6 years 4 months ago

Hi,

Hi,

You need to use GXDLMSSecureNotify. GXDLMSClient doesn't send notifications, it can receive them.

BR,
Mikko

utkarsh

6 years 4 months ago

Hi Mikko,

Hi Mikko,

We use GXDLMSSecureNotify class but still messages are not encrypted.

media = new GXNet(NetworkType.TCP, getHostName(), getPort(),false,ipv4,getRemoteHostName(),getRemotePort());
//GXDLMSNotify cl = new GXDLMSNotify(true, 64, 1, InterfaceType.WRAPPER);
GXDLMSSecureNotify cl = new GXDLMSSecureNotify(true, 64, 1, InterfaceType.WRAPPER);
GXDLMSPushSetup p = new GXDLMSPushSetup();
GXDLMSClock clock = new GXDLMSClock();
clock.setTime(new GXDateTime(Calendar.getInstance().getTime()));
p.getPushObjectList()
.add(new GXSimpleEntry<GXDLMSObject, GXDLMSCaptureObject>(p,
new GXDLMSCaptureObject(2, 0)));
p.getPushObjectList()
.add(new GXSimpleEntry<GXDLMSObject, GXDLMSCaptureObject>(clock,
new GXDLMSCaptureObject(2, 0)));
media.open();
for (byte[] it : cl.generatePushSetupMessages(null, p)) {

public GXDLMSSecureNotify(final boolean useLogicalNameReferencing,
final int clientAddress, final int serverAddress,
final InterfaceType interfaceType) {
super(useLogicalNameReferencing, clientAddress, serverAddress,
interfaceType);
ciphering = new GXCiphering("ABCDEFGH".getBytes());
setCipher(ciphering);
}

public GXCiphering(final byte[] title) {
publicKeys = new ArrayList<Map.Entry<CertificateType, PublicKey>>();
certificates = new ArrayList<GXx509Certificate>();
setSecurity(Security.NONE);
setSystemTitle(title);
setBlockCipherKey("eeslekakgsl06abc".getBytes());
setAuthenticationKey("eeslekakgsl06abc".getBytes());

Same GXCiphering is used for GXDLMSServerLN_47 which is working fine.

Message:
00 3C 0F C0 00 00 01 00 02 02 01 02 02 04 12 00 28 09 06 00 04 19 09 00 FF 0F 02 12 00 00 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 09 0C 07 E4 01 16 03 0A 0E 05 15 01 E0 00

Regards,
Utkarsh

Profile picture for user Kurumi

Kurumi

6 years 4 months ago

Hi Utkarsh,

Hi Utkarsh,

In GXCiphering-method you are setting security to NONE.

Try like this:

GXDLMSSecureNotify cl = new GXDLMSSecureNotify(true, 1, 1, InterfaceType.WRAPPER);
cl.getCiphering().setSecurity(Security.AUTHENTICATION_ENCRYPTION);

BR,

Mikko

utkarsh

6 years 4 months ago

Thanks Mikko. It worked.

Thanks Mikko. It worked.

MaxLe

6 years 3 months ago

Hi Mikko,

Created as new question.

Profile picture for user Kurumi

Kurumi

6 years 3 months ago

In reply to Hi Mikko, by MaxLe

Hi Max,

Hi Max,

Please, create a new topic if you have a new question. I'll answer for your question there.

BR,
Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Tue, 06/09/2026 - 11:16
    gurux.dlms.java 4.0.95
  • Tue, 06/09/2026 - 10:03
    Gurux.DLMS.Python 1.0.199
  • Mon, 06/08/2026 - 13:39
    gurux.dlms.cpp 9.0.2606.0801
  • Mon, 06/01/2026 - 10:15
    gurux.dlms.cpp 9.0.2606.0101
  • Thu, 05/28/2026 - 16:06
    gurux.dlms.java 4.0.94

New forum topics

  • Error reading L&G Meter
  • Pass a TCP Client to GXNet
  • Australian EDMI Mk10D (Essential Energy area)
  • Strange mix of data notificiation vs get response
  • DLMS Connection
More

Who's new

  • Tuanhgg
  • Adel
  • charnon
  • Paddles
  • Miguel Ángel
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin