安全的方式使桌面客户端能够与Web应用程序进行通信

时间:2011-05-10 17:14:19

标签: api authentication

在路上,我想建立一个桌面客户端,iPhone应用程序等,以便与我正在处理的网络应用程序进行交互。我正在努力将authenitcation层添加到应用程序中,我正在努力记住这些未来的计划。设置它的最佳方法是什么。我一直在阅读有关保护API的内容,而且我阅读的很多内容都建议使用公钥和私钥。这是正确的使用方法吗?在我看来,这不是正确的方法,因为用户将要做的第一件事就是登录,此时我必须将私钥发送到看似不太私密的应用程序。

1 个答案:

答案 0 :(得分:1)

公钥和私钥是正确的方法。您的应用或服务器从不发送其私钥。只公开公钥。过程如下:

  1. 您的应用使用server's public 加密数据并发送它的关键
  2. 数据的唯一方式 解密是使用server's private密钥,因此只有服务器才能读取它。
  3. 服务器使用app's public密钥加密数据并发送
  4. 解密数据的唯一方法是使用app's private密钥,因此只有应用才能读取。
  5. 我建议您阅读有关公私密钥通信如何工作的更多信息。我将尝试提供一个良好的入门指南。

    编辑:关于此事的Wikipedia's article实际上非常好。