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. Node
  3. SS1 Encrypting Only From Server Side

SS1 encrypting only from server side

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 enemy235 , 25 August, 2021
Forums
Gurux DLMS for Java

Hi,
I'm trying to get SS1 working and I have a few issues with it.

Mainly messages are only encrypted from server side and not from client side:

Standard: DLMS
Security: ENCRYPTION
System title: 56 55 54 36 31 38 35 30
Authentication key: 56 55 54 42 52 41 75 74 68 4B 6F 68 6F 75 74 31
Block cipher key 41 42 43 44 31 32 33 34 56 55 54 42 52 31 32 33
TX: 00 01 00 12 43 FC 00 53 60 51 A1 09 06 07 60 85 74 05 08 01 03 A6 0A 04 08 56 55 54 36 31 38 35 30 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 04 43 42 2C 30 66 26 48 67 2E 20 70 4E 6B 04 4D BE 17 04 15 21 13 21 00 00 00 00 01 98 EE D1 DC CF 42 5F 8E 9B 47 75 7B 7E
RX: 00 01 43 FC 00 12 00 5F 61 5D A1 09 06 07 60 85 74 05 08 01 03 A2 03 02 01 00 A3 05 A1 03 02 01 0E A4 0A 04 08 41 42 43 44 45 46 47 48 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12 80 10 24 78 41 2E 3A 62 1F 74 4A 6F 00 11 21 6A 6C 59 BE 17 04 15 28 13 21 00 00 00 00 5E 7A C4 77 8D 74 C6 1C 0B 89 3D 2A D3 42
TX: 00 01 00 12 43 FC 00 26 CB 24 21 00 00 00 00 C3 99 2F D1 D5 90 5D 73 8E 64 47 8B 85 88 DC BE 6E 1D 8C AD D4 B5 FF 1F 4B 99 0C 09 57 FC 77
RX: 00 01 43 FC 00 12 00 1F CF 1D 21 00 00 00 01 03 D8 02 1B 29 63 DB 0B AA 02 27 07 57 39 9D E9 D5 D0 0C B0 49 C3 C0 BB

INFO: -------- Reading (HLS + SS1 E diffe) 1.0.1.8.0.255 ---------------

TX: 00 01 00 12 43 FC 00 0D C0 01 C1 00 03 01 00 01 08 00 FF 01 00
RX: 00 01 43 FC 00 12 00 1C DB 08 41 42 43 44 45 46 47 48 11 21 00 00 00 02 E0 81 CD 2A C9 66 5C E0 9F 58 F3 2A

TX: 00 01 00 12 43 FC 00 0D C0 01 C1 00 03 01 00 01 08 00 FF 03 00
RX: 00 01 43 FC 00 12 00 1A DB 08 41 42 43 44 45 46 47 48 0F 21 00 00 00 03 75 28 77 85 12 9F 76 29 C0 C9

TX: 00 01 00 12 43 FC 00 0D C0 01 C1 00 03 01 00 01 08 00 FF 02 00
RX: 00 01 43 FC 00 12 00 17 DB 08 41 42 43 44 45 46 47 48 0C 21 00 00 00 04 AC 55 E9 10 85 7B 3E

WARNING: DisconnectRequest (HLS + SS1 E diffie)
TX: 00 01 00 12 43 FC 00 05 62 03 80 01 00
RX: 00 01 43 FC 00 12 00 1E 63 18 80 01 00 BE 16 04 15 28 13 21 00 00 00 05 47 2B 8E F0 09 1F 03 11 80 A0 67 7A D9 EC

.
.
.
.
.
.

Then I was debugging it a little bit in GXDLMS class, and I noticed if statement regarding GBT in conformance. When I removed GBT from conformance, it started encrypting even from client side, but this error appeared:

TX:00 01 00 12 43 FC 00 53 60 51 A1 09 06 07 60 85 74 05 08 01 03 A6 0A 04 08 56 55 54 36 31 38 35 30 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 1D 3F 11 34 4C 47 22 0F 40 1B 19 47 63 19 24 71 BE 17 04 15 21 13 21 00 00 00 00 01 98 EE D1 DC CF 42 5F 8E BB 47 75 7B 7E
RX:00 01 43 FC 00 12 00 5F 61 5D A1 09 06 07 60 85 74 05 08 01 03 A2 03 02 01 00 A3 05 A1 03 02 01 0E A4 0A 04 08 41 42 43 44 45 46 47 48 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12 80 10 39 3B 16 26 72 0F 2B 5D 07 0D 4A 4A 62 63 1A 77 BE 17 04 15 28 13 21 00 00 00 00 5E 7A C4 77 8D 74 C6 3C 0B 89 3D 2A D3 42
TX:00 01 00 12 43 FC 00 26 CB 24 21 00 00 00 00 C3 99 2F D1 D5 90 5D 73 8E 64 47 8B 85 88 DC A8 88 1E 5A 36 E9 CB AF 6E 1D 06 17 9C AC 80 11
RX:00 01 43 FC 00 12 00 1F CF 1D 21 00 00 00 01 03 D8 02 1B 29 63 DB 0B F9 F8 3D 2E 42 02 19 9F D7 96 EF 10 15 B5 53 FC

TX:1.0.1.8.0.255:1
TX:00 01 00 12 43 FC 00 B7 DD 08 00 00 00 00 00 00 00 01 08 56 55 54 36 31 38 35 30 08 41 42 43 44 45 46 47 48 00 00 01 02 01 01 81 80 0C E0 19 73 D0 98 BE 0D D1 91 35 24 D5 B3 45 89 8E B6 D9 5C E1 AC 56 07 D3 C8 79 D9 91 06 04 DE 61 14 94 A0 38 09 C8 C4 B0 49 60 D4 46 19 52 F2 27 4E 4F CE 00 44 26 CD 29 26 DC 52 04 74 9B 24 AE 01 BF D3 05 1E D3 15 FA E2 CD B5 C9 32 6B CC A9 16 A5 D8 E8 30 01 00 91 02 2B 53 26 40 D8 E3 26 D3 13 90 34 66 42 5B B5 6C B1 73 CD 32 87 3E BC B7 63 DD AA 79 24 CA F8 B8 EB 5B 40 19 C7 66 12 21 00 00 00 00 D7 54 30 AF 3B EF 65 67 2C DF DC 66 6F
RX:ERR:00 01 43 FC 00 12 00 BA DD 08 00 00 00 00 00 00 00 02 08 41 42 43 44 45 46 47 48 08 56 55 54 36 31 38 35 30 00 00 01 02 01 01 81 80 33 01 85 31 89 F0 E4 26 F6 44 2C D1 70 DF EB 91 7C C8 B8 FF 39 08 E7 15 01 39 11 15 D5 3C 90 00 1C E4 43 01 D5 B5 E2 EE 4C BB 4C 79 B1 51 FF 76 9B 6F E6 F7 BA 7B C6 9D 4C 6D 1E 63 63 2A 21 7A D4 FA DF 33 43 80 26 FA 67 84 BA 1D 42 A9 55 D8 F1 16 14 86 34 EE 66 98 FB 4C 82 DD 2F 62 2A 91 CC AA 98 32 5C 63 85 37 34 F9 1D 6D 7F AF 37 B3 38 85 0C CF EF D0 78 A0 2E D2 79 67 9E A8 9F A4 15 31 00 00 00 00 D5 C7 33 42 0C 75 EB FD 36 5C EC 50 EC DC E4 2B

javax.crypto.AEADBadTagException: Tag mismatch!
java.base/com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:623)
java.base/com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1116)
java.base/com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1053)
java.base/com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:853)
java.base/com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446)
java.base/javax.crypto.Cipher.doFinal(Cipher.java:2202)
gurux.dlms.secure.GXSecure.encryptAesGcm(GXSecure.java:675)
gurux.dlms.secure.GXSecure.decryptAesGcm(GXSecure.java:1028)
gurux.dlms.secure.GXCiphering.decrypt(GXCiphering.java:147)
gurux.dlms.GXDLMS.handleGeneralCiphering(GXDLMS.java:3953)
gurux.dlms.GXDLMS.getPdu(GXDLMS.java:3692)
gurux.dlms.GXDLMS.getData(GXDLMS.java:4112)
gurux.dlms.GXDLMSClient.getData(GXDLMSClient.java:2452)
client.reader.MyReader.myReadDLMSPacket(MyReader.java:320)

Profile picture for user Kurumi

Kurumi

5 years ago

Hi,

Hi,

Thank you for this information. The new version from C# is released tomorrow and java after that. Hopefully in this week.

GBT is checked for the next version.

BR,
Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Wed, 08/26/2026 - 09:04
    Gurux.DLMS.Python 1.0.203
  • Mon, 08/17/2026 - 11:28
    Gurux.DLMS.Python 1.0.202
  • Mon, 08/17/2026 - 09:47
    gurux.dlms.cpp 9.0.2608.1701
  • Mon, 08/17/2026 - 09:25
    gurux.dlms.c 9.0.2608.1701
  • Mon, 07/27/2026 - 12:37
    gurux.dlms.cpp 9.0.2607.2701

New forum topics

  • Security vulnerability report — request for a private contact (GuruxDLMS.c / ANSI C)
  • Topic: Insufficient Memory Error When Reading Class 7 Profile Generic Objects
  • SN ReadResponse returns all-null values when response spans multiple HDLC frames
  • Gurux.Serial.Android 3.0.6 – CH340 (HL-340) USB-Serial Adapter Not Working,
  • Trying to talk to a L&G E360 meter (Using Python Gurux)
More

Who's new

  • cyby
  • Metin Onan
  • ssv007
  • 3nzol3dur
  • dw772
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin