Hello Mikko,
Current Association - > General tab ->Update High password results to new password sent in non-ciphered way.
Is there any way to cipher password to be set?
<ActionRequest>
<ActionRequestNormal>
<!-- Priority: High, ServiceClass: Confirmed, Invoke ID: 1 -->
<InvokeIdAndPriority Value="C1" />
<MethodDescriptor>
<!-- AssociationLogicalName -->
<ClassId Value="000F" />
<!-- 0.0.40.0.0.255 -->
<InstanceId Value="0000280000FF" />
<!-- Change HLS secret -->
<MethodId Value="02" />
</MethodDescriptor>
<MethodInvocationParameters>
<!-- 0000000100000001 -->
<OctetString Value="30303030303030313030303030303031" />
</MethodInvocationParameters>
</ActionRequestNormal>
</ActionRequest>
Best regards, Andrew
Hi, This sets the password…
Hi,
This sets the password. DLMS meters usually send the password in a non-ciphered format. The connection can be ciphered.
BR,
Mikko
Hello Mikko, It was easy…
Hello Mikko,
It was easy enough to implement in my local branch of Director.
I've just added KEK request dialog just after 'Update High password' button pressed.
So now, if KEK entered is not null, password ciphering used in OnUpdatePassword
if( kek_value != null)
value = GXDLMSSecureClient.Encrypt(kek_value, value);
Otherwise (KEK null, cancel is pressed in KEK request dialog) ciphering is not used, as it was before modification (
bb.SetUInt8((byte)value.Length);
bb.Set(value);
arg.Value = bb.Array();.
)
I've taken encrypt string code sample from some of your previous answers at this forum, so thanks anyway !
Best regards, Andrew.
Hi Andrew, The password…
Hi Andrew,
The password updating format is not defined in DLMS standards. Most of the meter manufacturers are sending it as plain text. Some meter manufacturers are using different ways to encrypt the data.
I'm glad that you were able to solve this.
BR,
Mikko