日期:2014-05-20  浏览次数:21144 次

HTTPS/SSL 加密请求过程
现在想做这么一个程序,共有一个客户端(A),一个SERVER端(B),还有N个域名(有CA证书的)
A判断N个域名中哪个可用,然手请求B端,POST一个域名过来,然后由B端请求这个域名(https的)
然后通过之后,B端处理数据并返回给A端,下面是代码
C# code

private void GetHttps()        
{            
ServicePointManager.ServerCertificateValidationCallback = 
new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);            
HttpWebRequest req = (HttpWebRequest)WebRequest.CreateDefault(new Uri("https://****/Default.html"));            
req.Method = "GET";            
HttpWebResponse res = (HttpWebResponse)req.GetResponse();          Stream test = res.GetResponseStream();            
//在下面想做B端向A端回写数据的过程,这个过程怎么通过刚才的HTTPS访问加密呢?           
//第一次做HTTPS的理解的有点不太准确,请大家指导下        
}        
public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)       
 {            
return true;        
}



------解决方案--------------------
https是webServer的加密协议,其实就是个加密的解决方案,隔离安全的关注点。
对https的请求自动会被加密,如果A请求的协议(地址是https://...),通讯都是加密的。

如果B只是个中转,而不是https的host,那么只有B和https的server通讯是加密的

如果A和B都不是WebServer,不会启用https,建议使用其他加密来进行,A和B的通讯。

对等或者非对等双验证。