我正在编写一个使用登录名和密码连接到服务器的工具。该工具的用户必须在运行时提供工具的登录名和密码,以便能够连接到服务器以获取一些信息。存储加密密码并在运行时解密
但是,我正在对我的工具进行一些集成测试,因此测试应该能够连接到服务器。我可以使用通用服务器的帐户来执行此操作。
但我想自动化这些集成测试,所以我需要将通用凭证存储在某处加密,集成测试在执行时解密它们(即使它们是通用的,它们仍然是证书,所以我是在将它们存储为未加密时不舒服)。
解决这个问题的方法是什么?如果该工具能够解密密码,那么这意味着它将拥有一些主密钥,而且我认为这是错误的。
我应该公开一些我发送加密值的外部服务来解密,这样加密/解密将在该工具之外进行处理吗?
谢谢
什么是你想测试?互联网还在吗?或者你的客户仍然说出正确的协议?或者密码仍然有效?这是你应该首先找到答案的问题。 – wallenborn
也许你可以解释一下你设想一个坏家伙会窃取凭证的场景,因为目前还不清楚你为什么要保护这些测试凭证,或者来自谁。肯定凭证不会在软件的生产版本中出货?那么你是在保护他们不受其他开发者的影如果是这样,他们不能简单地在某处放置断点来查看解密的凭据吗? – PaulG
@wallenborn我正在测试该工具在实时系统之前的行为是否正确(与单元测试存根服务器相比)。 – Xendar