[英]ECDiffieHellmanPublicKey from ByteArray (using ECDiffieHellman NamedCurves)
[英]ECDiffieHellmanCng Get ECDiffieHellmanPublicKey from Byte[]
我采取DiffieHellman密鑰交換了我的服務器,但之后我收到其轉換成對方的公鑰Byte[]
我不能將其轉換回ECDiffieHellmanPublicKey
在使用它DeriveKeyMaterial
這是我的代碼:
var socket = state.Socket;
var buffer = state.Buffer;
var alice = new ECDiffieHellmanCng
{
KeyDerivationFunction = ECDiffieHellmanKeyDerivationFunction.Hash,
HashAlgorithm = CngAlgorithm.Sha256
};
var exchangePacket = new ExchangeMessage(144, (int)PacketType.Exchange)
{
PublicKey = alice.PublicKey.ToByteArray()
};
var len1 = socket.Send(exchangePacket, 0, exchangePacket.Length, SocketFlags.None);
if (0 >= len1) {
return false;
}
var len2 = socket.Receive(buffer, buffer.Length, SocketFlags.None);
if (len2 <= 0)
return false;
Array.Resize(ref buffer, len2);
var bob = new ExchangeMessage(buffer); //HOW TO GET ECDiffieHellmanPublicKey FROM MY BYTE[]
byte[] aliceKey = alice.DeriveKeyMaterial(/*Can't get ECDiffieHellmanPublicKey from byte[]*/);
這將是我的工作方式嗎
DeriveKeyMaterial(ECDiffieHellmanCngPublicKey.FromByteArray(bob.PublicKey, new CngKeyBlobFormat("ECCPUBLICBLOB")));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.