簡體   English   中英

ECDiffieHellmanCng從字節獲取ECDiffieHellmanPublicKey []

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM