Hello everyone,
I’m completely new to Gurux and am trying to establish encrypted communication with a gas meter that uses a different AARQ request.
<HDLC len="4F" >
<TargetAddress Value="1" />
<SourceAddress Value="D" />
<!-- AARQ frame. -->
<FrameType Value="10" />
<PDU>
<AssociationRequest>
<ApplicationContextName Value="LN_WITH_CIPHERING" />
<CallingAPTitle Value="[key]" />
<SenderACSERequirements Value="1" />
<MechanismName Value="HighGMAC" />
<CallingAuthentication Value="[auth]" />
<InitiateRequest>
<ProposedDlmsVersionNumber Value="06" />
<ProposedConformance>
<ConformanceBit Name="PriorityMgmtSupported" />
<ConformanceBit Name="Attribute0SupportedWithGet" />
<ConformanceBit Name="BlockTransferWithGetOrRead" />
<ConformanceBit Name="BlockTransferWithSetOrWrite" />
<ConformanceBit Name="BlockTransferWithAction" />
<ConformanceBit Name="MultipleReferences" />
<ConformanceBit Name="Get" />
<ConformanceBit Name="Set" />
<ConformanceBit Name="SelectiveAccess" />
<ConformanceBit Name="EventNotification" />
<ConformanceBit Name="Action" />
</ProposedConformance>
<ProposedMaxPduSize Value="01CE" />
</InitiateRequest>
</AssociationRequest>
</PDU>
</HDLC>How can I put this request together myself now? I’ve already tried using the GXDLMSXmlClient, but unfortunately I’m getting an error message saying that the specified key isn’t in the dictionary.
I’d be very grateful for any help.
Hi, You set AARQ parameters…
Hi,
You set AARQ parameters as a comand line arguments.
Try with this:
-a HighGMac -C AuthenticationEncryption -T YOUR_System_Title -A YOUR_Authentication_Key - B YOUR_Block_Cipher_Key
BR,
Mikko
Hey Mikko, thanks for the…
Hey Mikko, thanks for the quick reply – I’m afraid I wasn’t quite clear enough.
I’m currently using the GXDLMSSecureClient in C#. To generate the AARQ request, I use the client.AARQRequest() function. When I set the parameters as required, a glo_ActionRequest is generated.
Unfortunately, this doesn’t work for my gas meter, as I need to construct the request as described above.
Best regards
Hi, You need to propose the…
Hi,
You need to propose the General Protection Conformance.
Try to add this before you establish the connection to the meter.
client.ProposedConformance|= Conformance.GeneralProtection;
BR,
Mikko
Hey Mikko,I have now set the…
Hey Mikko,
I have now set the General Protection Conformance, but it is still using `glo_InitiateRequest` instead of `InitiateRequest`. Could you also tell me how I can set the CallingAuthentication?
Thank you in advance and best regards,
Leon
Hi, If you want to send…
Hi,
If you want to send InitiateRequest, you don't use secured connection.
InitiateRequest is sent if you change Secure = None or just remove
-C AuthenticationEncryption argument.
BR,
Mikko