【问题标题】:Send SSL encrypted message to https server向 https 服务器发送 SSL 加密消息
【发布时间】: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 加密消息”,如果您有一条由服务器的公钥加密的消息,则只有服务器可以解密它。谷歌当然不能,除非它首先发出消息,这在你的问题中没有说明。您的程序存在严重问题。

标签: sockets https


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2021-09-04
    • 2014-03-16
    • 2015-01-05
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多