gpt4 book ai didi

java - 多服务器加密解密

转载 作者:太空宇宙 更新时间:2023-11-04 08:02:36 25 4
gpt4 key购买 nike

我们的系统设置涉及多个服务器。例如,当用户登录应用程序时,访问管理服务器执行身份验证部分,成功登录后,它将 HTTP 请求转发到 Web 服务器,Web 服务器进一步将其转发到应用程序服务器。

现在的需求是,在AM服务器进行身份验证时,我们需要在cookie中写入一些数据,并将这些cookie添加到转发到应用服务器的HTTP请求中。部署在 App Server 上的应用程序将读取这些 cookie 并使用该值。

我已经完成并测试成功。但实际上cookie中的数据需要采用加密格式。因此AM服务器应该加密数据,而App服务器应该解密数据才能使用它。我在 AM 服务器上创建了一个 JCEKS keystore ,并使用 keytool 命令向其中添加了一个加密 key 。然后,在 AM 服务器上编写的自定义类中,我使用 Cipher 使用 AES-128 算法对数据进行加密。至此已成功完成。
我还在我的应用服务器上创建了另一个 JCEKS keytor,并使用 keytool 命令向其添加了加密 key 。然后,我从 AM 服务器的 keystore 导出证书,并将其导入到应用服务器的 keystore 中,这在应用服务器的 keystore 中创建了一个 TrustedCert 条目。但是当我也使用 Cipher 和 AES-128 解密应用服务器上的数据时,出现异常:

javax.crypto.BadPaddingException: Given final block not properly padded

我的 keystore 设置中肯定缺少某些内容。请提供一些有关如何执行此操作的指导。

谢谢!

最佳答案

我找到了解决方案。我做错的是我在两个 keystore 中生成加密 key 。正确的方法是在一个 keystore 中生成 key 并将其导出导入到另一个 keystore 。我无法使用 keytool 做到这一点,所以我使用了 keytool IUI,很棒的工具!!!

关于java - 多服务器加密解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12619862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com