Gurux.DLMS.Objects.GXDLMSSecuritySetup.IGXDLMSBase C# (CSharp) Méthode

IGXDLMSBase() private méthode

private IGXDLMSBase ( GXDLMSSettings settings, ValueEventArgs e ) : byte[]
settings Gurux.DLMS.GXDLMSSettings
e Gurux.DLMS.ValueEventArgs
Résultat byte[]
        byte[] IGXDLMSBase.Invoke(GXDLMSSettings settings, ValueEventArgs e)
        {
            if (e.Index == 2)
            {
                foreach (object tmp in e.Parameters as object[])
                {
                    object[] item = tmp as object[];
                    GlobalKeyType type = (GlobalKeyType)Convert.ToInt32(item[0]);
                    byte[] data = (byte[])item[1];
                    switch (type)
                    {
                        case GlobalKeyType.UnicastEncryption:
                        case GlobalKeyType.BroadcastEncryption:
                            //Invalid type
                            e.Error = ErrorCode.ReadWriteDenied;
                            break;
                        case GlobalKeyType.Authentication:
                            //if settings.Cipher is null non secure server is used.
                            settings.Cipher.AuthenticationKey = GXDLMSSecureClient.Decrypt(settings.Kek, data);
                            break;
                        case GlobalKeyType.Kek:
                            settings.Kek = GXDLMSSecureClient.Decrypt(settings.Kek, data);
                            break;
                        default:
                            //Invalid type
                            e.Error = ErrorCode.ReadWriteDenied;
                            break;
                    }
                }
                //Return standard reply.
                return null;
            }
            else
            {
                e.Error = ErrorCode.ReadWriteDenied;
                return null;
            }
        }

Same methods

GXDLMSSecuritySetup::IGXDLMSBase ( ) : int
GXDLMSSecuritySetup::IGXDLMSBase ( ) : int[]
GXDLMSSecuritySetup::IGXDLMSBase ( GXDLMSSettings settings, ValueEventArgs e ) : object
GXDLMSSecuritySetup::IGXDLMSBase ( ) : string[]
GXDLMSSecuritySetup::IGXDLMSBase ( GXDLMSSettings settings, ValueEventArgs e ) : void