public void GetMessageTypeTest() { // todo: refactor var expectedSequence = new byte[] { (byte)SksAsn1Type.Sequence, 0x0E, (byte)SksAsn1Type.Printablestring, 0x03, 65, 66, 67, (byte)SksAsn1Type.OctetString, 0x05, 0x00, 0x01, 0x02, 0x03, 0x04, }; var expectedSequenceBase64 = Convert.ToBase64String(expectedSequence); var expected = $"-----BEGIN INITIAL MESSAGE 1-----{expectedSequenceBase64}-----END INITIAL MESSAGE 1"; var expectedType = PemMessageType.InitialMessage1; var messageType = PemParser.GetMessageType(expected); Assert.AreEqual(expectedType, messageType); }
public static void HandleMessage(SksMessageReceivedEventArgs sksMessageReceivedEventArgs) { var messageType = PemParser.GetMessageType(sksMessageReceivedEventArgs.Message); // todo: doriesit otway reese switch (messageType) { case PemMessageType.LongTermKey: break; case PemMessageType.InitialMessage1: break; case PemMessageType.InitialMessage2: break; case PemMessageType.ErrorMessage: break; case PemMessageType.ChatMessage: HandleChatMessage(sksMessageReceivedEventArgs); break; case PemMessageType.Akep2Message1: HandleAkep2Message1(sksMessageReceivedEventArgs); break; case PemMessageType.Akep2Message2: HandleAkep2Message2(sksMessageReceivedEventArgs); break; case PemMessageType.Akep2Message3: HandleAkep2Message3(sksMessageReceivedEventArgs); break; case PemMessageType.OtwayReesMessage1: break; case PemMessageType.OtwayReesMessage2: //HandleOtwayReeseMessage2(sksMessageReceivedEventArgs); break; case PemMessageType.OtwayReesMessage3: break; case PemMessageType.OtwayReesMessage4: //HandleOtwayReeseMessage4(sksMessageReceivedEventArgs); break; case PemMessageType.HandshakeMessage1: HandleHandshakeMessage1(sksMessageReceivedEventArgs); break; case PemMessageType.HandshakeMessage2: HandleHandshakeMessage2(sksMessageReceivedEventArgs); break; case PemMessageType.HandshakeMessage3: HandleHandshakeMessage3(sksMessageReceivedEventArgs); break; case PemMessageType.HandshakeMessage4: HandleHandshakeMessage4(sksMessageReceivedEventArgs); break; case PemMessageType.SshTlsMessage1: break; case PemMessageType.SshTlsMessage2: break; case PemMessageType.SshTlsMessage3: break; default: throw new ArgumentOutOfRangeException(); } }