https证书设置,beego要求通过指定证书和明文秘钥文件进行tls证书设置。
使用明文密钥进行tls证书设置
密钥要进行加密
https证书设置,beego要求通过指定证书和明文秘钥文件进行tls证书设置。
使用明文密钥进行tls证书设置
密钥要进行加密
我没太理解你的意思。根据我的理解,我们这边是通过设置HTTPSCertFile
和HTTPSKeyFile
两个配置项来指定证书和密钥。并没有什么明文密钥进行证书设置?
或者你可以写个简单的demo给我看一下?
HTTPSKeyFile是明文的,没有进行加密
其实我不太理解真实需求,一般HTTPSKeyFile是明文部署的,因为使用密码加锁的话,密码也还是要存储在某处,而不是程序启动的时候每次都输入一遍的。
@flycash 我理解是题主提到HTTPSKeyFile秘钥是敏感信息,不能直接明文存储,需要加密保护。 如果是要对HTTPSKeyFile秘钥明文进行加密保护,是否可以考虑实现两层秘钥管理机制对敏感信息进行保护?
我其实我都没理解。我简单的以为,题主的意思是说,我们不能在内存里面直接明文存储这种文件。
因为最后要拿明文去认证,所以明文应该会有某个时刻是存在于内存中的。 个人建议比较安全的一个做法是采用defer语句,在认证结束后立即将敏感信息的变量内存置0,减少泄露的可能性。这个改动可能应该不大。
另外,解密这部分可能不需要beego来做而是用户来做?如果是这样,用户解密拿到的明文字节数组或string而不再是文件名,beego是否可以考虑提供一个类似于tls.X509KeyPair的接口给用户直接传入明文信息呢?不过这似乎对beego的Run函数有些影响。如果保留原来的文件名配置方式,则意味着用户在解密完还得将明文写入文件了。
建议参考nginx的https配置:https://www.cnblogs.com/chnmig/p/10343890.html nginx同样没有对密钥相关文件有加密的操作。 正常的服务器的话,没有加密的必要性,如果是因为你配置了访问目录引起密码文件泄露的安全问题的话,可以禁止相关密钥文件访问,或者移动到不可对外访问的目录。
目前能做的是先关闭此issue。 有其他问题可以提供demo代码给到我们协助排查问题,我们会尽力解决,感谢你的支持!