我正在考虑通过HTTP在特定客户端和特定服务器之间编写安全连接。当然,SSL是最好和最明显的选择。但我一直以为我可以自己做加密。
请注意,这不是将任何客户端连接到特定服务器,而是将特定客户端(例如,我的PC上的Java客户端应用程序)连接到特定服务器(我的网站托管在其他地方)。因此,第三方认证似乎没有必要,因为服务器确切地知道要注意哪个客户端,并且cleint确切地知道要找到哪个服务器。
如果我想将文件从客户端上传到服务器。我可以手动加密它(AES或其他),并将密钥硬编码到客户端应用程序中,并在公共视图之外放入服务器上的文件。
请告诉我,如果我疯了,愚蠢或推着风车。我的想法可能吗?
答案 0 :(得分:1)
简短的回答是,“不,你不能。”您可以编写一些您认为实现安全连接的代码,但实际上它将是不安全的。设计和实现安全连接是一项非常熟练的工作;只需看看安全顾问会因此而向您收取的费用。
既然你在这里提出这个问题,可以合理地假设你不是这样的人。由于你没有所需的技能和经验,你生产的任何东西都是不安全的。
使用现有的标准,可以避免所有明显的错误,以及许多不那么明显的错误。
答案 1 :(得分:0)
您的想法可能,而且实际上,如果您只需要将文件发送到特定的URL,则使用加密数据发出POST请求会更容易(如果URL /标头不需要对您安全)。< / p>
答案 2 :(得分:0)
Trying to roll your own replacement for SSL is a bad idea.不要滚动你自己的加密。相反,您应该使用SSL。它可以满足您的需求。
鉴于您需要对客户端和服务器进行身份验证,您应该将SSL与客户端证书(以及标准的服务器证书)一起使用。