【发布时间】:2019-11-22 19:19:28
【问题描述】:
我有一个只接受 java.io.File 对象的加密类(PGP Encryption util)。用于加密的内部方法(在 jar 中)仅接受 java.io.File 作为参数。
我需要从共享路径中读取一个文件,在该文件中身份验证需要访问和加密同一文件并写回同一共享路径。所以我使用 jcifs 进行文件读取。它以 SmbFile 格式读取文件。
我这里有两个疑问
1) 是否可以将 SmbFile 转换为 java.io.File,而不将内容写入实际文件(甚至不是临时文件)?并将 File 对象传递给文件加密方法,如下所示。
File someFile = ConvertSmbFileToFile(SmbFile smb);
pgpEncryptionService.encryptFile(someFile,true);
2) 如果上述不可行,是否可以使用 SmbFile 类型作为输入进行 PGP 加密?有人可以分享相关链接吗?
我的项目安全性只希望加密文件通过网络传输。因此,将 SmbFile 写入 java.io.File 似乎不是一种选择。 甚至写入临时文件就像允许未加密的数据通过网络层传输一样。所以临时文件也超出了范围。
【问题讨论】:
-
您是否考虑过以经过身份验证的用户身份运行程序,从而“内置”访问共享?
标签: java java-io smb pgp jcifs