Files
amneziawg-windows-client/embeddable-dll-service/csharp/TunnelDll/Keypair.cs
Jason A. Donenfeld 6ed37f30f5 global: bump date
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2022-01-06 17:28:13 +01:00

34 lines
949 B
C#

/* SPDX-License-Identifier: MIT
*
* Copyright (C) 2019-2022 WireGuard LLC. All Rights Reserved.
*/
using System;
using System.Runtime.InteropServices;
namespace Tunnel
{
public class Keypair
{
public readonly string Public;
public readonly string Private;
public Keypair(string pub, string priv)
{
Public = pub;
Private = priv;
}
[DllImport("tunnel.dll", EntryPoint = "WireGuardGenerateKeypair", CallingConvention = CallingConvention.Cdecl)]
private static extern bool WireGuardGenerateKeypair(byte[] publicKey, byte[] privateKey);
public static Keypair Generate()
{
var publicKey = new byte[32];
var privateKey = new byte[32];
WireGuardGenerateKeypair(publicKey, privateKey);
return new Keypair(Convert.ToBase64String(publicKey), Convert.ToBase64String(privateKey));
}
}
}