<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Great, thanks! I’ve implemented a little interop example for the Accept case with C# client and Go server. You can find it here:<div class=""><br class=""></div><div class=""><a href="https://github.com/Metalnem/noisesocket/tree/master/NoiseSocket.Interop" class="">https://github.com/Metalnem/noisesocket/tree/master/NoiseSocket.Interop</a></div><div class=""><br class=""></div><div class="">You need to have both Go and .NET Core SDK installed to run it (latest .NET Core SDK is available here <a href="https://www.microsoft.com/net/download/dotnet-core/sdk-2.1.300-rc1" class="">https://www.microsoft.com/net/download/dotnet-core/sdk-2.1.300-rc1</a>). Here is how to run it after cloning the <a href="http://NoiseSocket.NET" class="">NoiseSocket.NET</a> repo:</div><div class=""><br class=""></div><div class=""><div class="">cd NoiseSocket.Interop</div><div class="">go get -u <a href="http://gopkg.in/noisesocket.v0" class="">gopkg.in/noisesocket.v0</a></div><div class="">go run main.go</div><div class="">dotnet run</div><div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><br class="">Nemanja</div>

</div>
<div><br class=""><blockquote type="cite" class=""><div class="">On May 15, 2018, at 7:22 AM, Alexey Ermishkin <<a href="mailto:scratch.net@gmail.com" class="">scratch.net@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class="">I’ve added zero padding to handshake payloads, so the compatibility should be restored. I also slowly start to implement latest features to catch up with you guys.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-US" class=""><o:p class=""> </o:p></span></div><div class=""><div style="border-style: solid none none; border-top-width: 1pt; border-top-color: rgb(225, 225, 225); padding: 3pt 0cm 0cm;" class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><b class="">From:</b><span class="Apple-converted-space"> </span>Noise <<a href="mailto:noise-bounces@moderncrypto.org" class="">noise-bounces@moderncrypto.org</a>><span class="Apple-converted-space"> </span><b class="">On Behalf Of<span class="Apple-converted-space"> </span></b>Nemanja Mijailovic<br class=""><b class="">Sent:</b><span class="Apple-converted-space"> </span>Sunday, May 13, 2018 10:27 PM<br class=""><b class="">To:</b><span class="Apple-converted-space"> </span>noise <<a href="mailto:noise@moderncrypto.org" class="">noise@moderncrypto.org</a>><br class=""><b class="">Subject:</b><span class="Apple-converted-space"> </span>[noise] <a href="http://NoiseSocket.NET" class="">NoiseSocket.NET</a><o:p class=""></o:p></div></div></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Hi all!<o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">I've published a .NET implementation of the latest draft revision of the NoiseSocket protocol. It supports Accept/Switch/Retry/Reject, and all Noise primitives from<span class="Apple-converted-space"> </span><a href="http://noise.net/" style="color: purple; text-decoration: underline;" class="">Noise.NET</a>. I've also updated<span class="Apple-converted-space"> </span><a href="http://noise.net/" style="color: purple; text-decoration: underline;" class="">Noise.NET</a><span class="Apple-converted-space"> </span>with support for XXfallback protocol, which means<span class="Apple-converted-space"> </span><a href="http://noisesocket.net/" style="color: purple; text-decoration: underline;" class="">NoiseSocket.NET</a><span class="Apple-converted-space"> </span>also supports it.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">The library is currently not compatible with Noise Socket Go, mostly because Noise Socket Go currently doesn't add the length prefix to the encrypted payload in handshake messages.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">You can find the source code and examples for Accept/Switch/Retry here:<o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><a href="https://github.com/Metalnem/noisesocket" style="color: purple; text-decoration: underline;" class="">https://github.com/Metalnem/noisesocket</a><o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">The downloadable package:<o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><a href="https://www.nuget.org/packages/NoiseSocket.NET" style="color: purple; text-decoration: underline;" class="">https://www.nuget.org/packages/NoiseSocket.NET</a><o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">API docs:<o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><a href="https://metalnem.github.io/noisesocket/api/Noise.NoiseSocket.html" style="color: purple; text-decoration: underline;" class="">https://metalnem.github.io/noisesocket/api/Noise.NoiseSocket.html</a><o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Nemanja</div></div></div></div></blockquote></div><br class=""></div></body></html>