RSA,SSLStream - 密钥交换

时间:2014-07-03 13:12:47

标签: c# openssl rsa sslstream

我正在使用SSLStream使用OpenSSL证书与客户端和服务器进行通信。

我将使用的客户端是拥有自己软件的机器,需要使用RSA加密。

我制作了一个服务器和一个客户端,只是为了测试,使用我的计算机作为客户端,以及其他计算机作为服务器,我做了一个简单的密钥交换,只是为了测试这些机器之间的sslstream和de rsa cryptograhy。

两台机器都发送这样的公钥:

byte[] modulus = pubkey.Modulus;
sslStream.Write(modulus, 0, modulus.Length);
sslStream.Flush();

两台机器都收到密钥并按照以下方式创建:

 byte[] exponent = {1, 0, 1};
 byte[] modulus = new byte[256];
 sslStream.Read(modulus, 0, modulus.Length);

 clientPublicKey.D = null;
 clientPublicKey.DP = null;
 clientPublicKey.DQ = null;
 clientPublicKey.Exponent = exponent;
 clientPublicKey.InverseQ = null;
 clientPublicKey.Modulus = modulus;
 clientPublicKey.P = null;
 clientPublicKey.Q = null;

但是,使用我将使用的原始客户端进行测试时,密钥交换方式不同。
交换密钥有另一种方式吗?因为我确信原始机器使用另一种方式与我的服务器交换这些密钥。

0 个答案:

没有答案