Java REST认证-数字签名?
我正试图保护使用SpringMVC开发的RESTAPI 在谷歌搜索上,我遇到了这个问题 这是最好的方法吗?它使用数字证书吗?还是仅用于基于SOAP的Web服务的数字证书Java REST认证-数字签名?,java,security,rest,Java,Security,Rest,我正试图保护使用SpringMVC开发的RESTAPI 在谷歌搜索上,我遇到了这个问题 这是最好的方法吗?它使用数字证书吗?还是仅用于基于SOAP的Web服务的数字证书 还请告诉我是否有更好的REST身份验证替代方案。您可以像这样模拟公钥/私钥身份验证 你需要两件基本的东西 用户Id/应用程序Id(检查此应用程序是否允许访问此应用程序)(私钥) API的随机密钥(用于检查此方法是否允许用于当时经过身份验证的应用程序) Rest服务(服务器端)将通过“应用程序ID”记录所有允许的应用程序 现在您可
还请告诉我是否有更好的REST身份验证替代方案。您可以像这样模拟公钥/私钥身份验证 你需要两件基本的东西
- 相当容易实现
- 只要机密访问密钥保持机密,就没有明显的漏洞
- 双方都必须知道秘密访问密钥,因此,作为用户,您必须信任REST服务的提供者为您的秘密访问密钥保密。在大多数情况下,这可能不是一个很大的限制,但仍然李>
如上所述:对于大多数服务来说,这是一种非常好的方法。使用带有客户端证书的PKI是另一种选择,在某些情况下更好 非常感谢Jens Schauder和@MadhailSilence为我们的应用程序提供的用户名/密码(例如admin/admin123)存储在数据库中。我如何为上述内容生成访问密钥和秘密访问密钥。有什么标准吗?一旦生成,我将在数据库中保存这两个。亚马逊有如下类似的东西,访问密钥-Aikikhmzwu7uql3l43a秘密访问密钥-6lhqye32gqscsfacqbj3kioujqzzeyswbsdasdownever在数据库中存储密码!存储哈希代码。您可以并且应该使用随机数生成器创建API密钥。因为这将被放在应用程序中,所以它不必很容易记忆或做任何事情。