0

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

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

对不起我的英语不好。谢谢大家


我可能解释得很糟糕:我有两个参数要使用 post 方法(p1,p2)发送到 https 服务器:

字符串参数 = "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 服务器正确接收消息?

4

1 回答 1

1

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

于 2013-01-25T08:52:21.427 回答