我的应用程序需要使用公钥和私钥组合才能创建签名URL以从Cloudfront访问我们的资产。我遇到的问题是如何保护此密钥对,以便未经授权的用户不能简单地自行下载密钥对,并在未经我们许可的情况下生成签名的URL。保护网络应用程序中的公钥/私钥对
我认为是对密钥对进行加密,但是这看起来没有什么用处,因为加密密钥必须存储在客户端代码中,这在Javascript中是可见的。我想不出任何其他方式来保护那些只能使用Chrome开发工具的人的密钥对。
有谁知道一种方法,我可以保护我的密钥对而不必在客户端代码中存储密钥?我已经考虑过代码混淆,但是这种技术似乎很容易解决。我正在查找是否有其他可能。
谢谢。
你能解释一下这种情况吗?私密密钥对组合/签名URL是什么意思? - 提供一个简单的场景以及你要做的事情 –
一般而言,用户可以访问任何存储在客户端(任何客户端,无论是桌面应用程序,浏览器,手机上的移动应用程序等)的任何内容。不知道什么是实际数据流,最好的办法可能是将请求发送到服务器以执行实际的加密操作。 – mfanto
@RoyiNamir公钥和私钥对是PEM文件。 Cloudfront签名URL背后的基本前提是您创建了描述访问策略的签名字符串,使用RSA私钥对其进行哈希处理,并使用公钥对其进行验证。然后将此签名附加到URL并在Cloudfront中进行验证。 – aeskreis