【发布时间】:2013-01-09 04:55:50
【问题描述】:
我有一条消息已经被 https 服务器的证书加密(使用它的公钥)。 我是否应该将此消息发送到 https 服务器(我可以使用任何语言)而不进行进一步加密。
实际情况是这样的: 1)在我的服务器上,我使用证书 https(例如 google)创建加密消息 2) 将此消息发送给朋友(例如通过电子邮件),这样他就无法“阅读”消息的内容 3) 他应该将此消息(已加密)发送给 google,接收并阅读答案。
对不起我的英语。 谢谢大家
我可能解释得很糟糕:我有两个参数要使用 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 服务器正确接收消息?
【问题讨论】:
-
你的问题没有意义。您可能有一条加密消息,但您没有“SSL 加密消息”,如果您有一条由服务器的公钥加密的消息,则只有服务器可以解密它。谷歌当然不能,除非它首先发出消息,这在你的问题中没有说明。您的程序存在严重问题。