将SSL加密消息发送到https服务器

时间:2013-01-25 08:44:09

标签: sockets https

我的消息已经被https服务器的证书加密(带有公钥)。 我是否应该将此消息发送到https服务器(我可以使用任何语言),而无需进一步加密。

实际案例如下: 1)在我的服务器上,我使用证书https(例如google)创建加密邮件 2)将此消息发送给朋友(例如通过电子邮件),以便他不能“读取”消息的内容 3)他应该将此消息(已加密)发送到谷歌,接收并阅读答案。

抱歉我的英文。 感谢所有


我可能很难解释:我有两个参数可以通过post方法(p1,p2)发送到https服务器:

String parms =“p1 = hello& p2 = world”; 此字符串已使用服务器https的证书的公钥加密,如下所示。

String encParms = encrpythWithCertificate (parms, "/tmp/localhost.localdomain.cer");

现在我必须将此字符串(encParms)发送到使用相同证书的https服务器。

所以我有这段代码:

HttpsURLConnection conn = .....
conn.setRequestProperty ("Content-Length", encParms.length ());
OutputStream outputStream = urlCon.getOutputStream ();
outputStream.write (encParms.toByteArray());
outputStream.close ();

如果我发送parms一切正常。如果我发送encParms不起作用。我想原因是encParms已经加密,然后是“第二次加密通过”,为服务器生成难以理解的消息。

我的问题是:如何发送邮件encParms以便https服务器正确接收邮件?

1 个答案:

答案 0 :(得分:1)

HTTPS(确切地说,SSL层)提供传输级安全性并加密整个通道。它不关心被转移的内容。通常没有理由(在您的场景中)担心消息是否再次加密 - 双重加密不会显着影响传输速度。 SSL确实具有禁用加密的NULL密码套件,但正如所说的那样在您的情况下没有意义。