介绍
公共文件转换很方便,但也伴随安全问题。数据可能泄露,保留期限可能不明确,合规义务可能增加,恶意文件可能针对复杂的解析器。对于 .NET 团队来说,这些顾虑应在外部转换器成为业务工作流的一部分之前加以解决。
Doconut 提供了一个自托管的 .NET 查看器和转换工作流,能够将受支持的文档处理保留在由应用所有者控制的基础设施内部。这可以减少对公共转换器的依赖,但应用仍需实现访问控制、安全传输、存储策略、清理、补丁和监控。

.NET 应用的安全文件转换与加密
为什么加密很重要
当你将文件投递到云转换器时,它必须通过公共互联网传输。如果传输未加固,黑客可以在中间拦截并窃取数据——典型的“中间人”攻击。即使使用 HTTPS,许多免费工具仍会将文件存放在共享服务器上而不进行额外加密,导致文件暴露于内部威胁或错误配置的存储桶中。
两款 Doconut 产品的实际功能
它们的实现方式不同,混淆二者会导致安全设计失效。
Doconut SDK 安装在你的自有环境中。渲染在你的服务器上进行,组件不会向 Doconut 发起任何调用。这正是其安全论点的核心,也是一个强有力的论点:文件永远不会跨越你不控制的边界,因此不存在第三方保留问题。
SDK 并不会为你的存储加密。它没有 AES-256 静态加密功能、密钥管理,也没有内置审计日志。这些都是平台层面的职责,你几乎肯定已经具备——这正是重点。任何声称查看器库能让你的应用具备审计准备的说法都是在向你兜售额外功能。
Doconut.app 是我们的免费托管站点,属于真实的上传流程:文件上传到我们的服务器,在那里渲染,观看会话结束后即被删除。传输使用 HTTPS。没有账户,也不保留任何文件。对于在火车上阅读的文档,这种方式是可以接受的;但对于受监管的数据则不适合,我们会明确说明这一点。
自动文件删除与生命周期管理
持续存在文件的潜在风险
许多云转换器承诺“转换后自动删除”,但“之后”的定义差异很大。有的服务会保留文件数小时、数天甚至数周,形成一个窗口期,机密文档可能被未授权人员访问或通过取证分析恢复。对于处理合同、设计蓝图或个人数据的企业而言,这种窗口期是不可接受的。
Doconut App 的明确答案
- 在 Doconut.app 上 – 文件仅在观看会话期间存在,会话结束后即被删除。没有可供你配置的保留设置,因为没有账户也没有管理员;删除时机由我们控制。任何观看者均可通过 Ctrl+P 打印。
- 在 SDK 中 – 生命周期由你掌控。组件会将临时渲染输出写入你指定的位置,你负责清理。这是集成过程中最常被忽视的步骤,临时目录中的孤儿渲染文件正是本节警示的“幽灵文件”问题。检查写入位置,并安排相应的清理计划。
- 受控打印 是查看器本身的一部分,而非独立插件,因此在特定角色下限制打印和下载是应用内部的配置与权限问题。
符合合规要求的基于云的受监管行业查看
监管压力
医疗保健(HIPAA)、金融(PCI DSS)和政府(FedRAMP)都对数据的传输、存储和销毁施加了严格的规则。将文件存储在共享多租户服务器上的云转换器很快就会变成合规噩梦,需要昂贵的例外流程或直接放弃该工具。
Doconut 的立场,直截了当
我们没有任何认证。没有 ISO 27001,没有 SOC 2,没有 HIPAA 证明,没有 PCI DSS 评估,没有 FedRAMP 授权。 免费站点和 SDK 都没有。如果供应商问卷要求提供证书,诚实的答案是我们没有可以提供的证书。
在任何情况下,单个软件组件都无法使您的应用程序符合合规要求。这些框架关注的是流程、访问控制、保留、证据和人员。渲染库只是众多控制措施中的一种。
SDK 为受监管环境提供的更多是架构层面的,而非文档层面的:因为它运行在您的基础设施内部且不调用任何外部服务,文档永远不会离开您已经评估过的边界。对于大多数审查而言,这比别人的证书更有价值,也是一项您可以自行提供证据的措施。
Doconut.app 则相反,应该如此对待:公共站点、共享基础设施、没有合同、没有 DPA 也没有 BAA。不要在其上处理受监管的数据。
防止在线文档转换中的恶意软件和代码注入
恶意负载的隐藏威胁
PDF、Office 和 CAD 等文件格式可以嵌入脚本、宏或畸形数据,从而在易受攻击的渲染引擎中触发漏洞利用。对共享服务器上的文件进行处理的云服务可能会意外执行恶意代码,危及服务本身以及下游客户。
渲染模型如何影响此问题
要准确说明解析发生的位置,因为威胁模型完全取决于此:Doconut 在服务器端渲染。 文档在服务器上解析,浏览器接收渲染后的页面。它不是客户端的 WebAssembly 查看器。
由此产生的结果如下:
- 浏览器不是攻击面 —— 没有插件,没有 ActiveX,用户的机器从未收到源文件,仅接收渲染后的输出。
- 服务器是攻击面,而且是您自己的服务器 当您运行 SDK 时。解析未受信任输入的解析器就是未受信任输入的解析器;请以最小权限运行,保持更新,并将上传的字节视为敌对。相较于公共转换器的优势在于,这是一种您自己设计和验证的隔离,而不是需要信任的声明。
- 渲染不是执行 —— .docm 或 .xlsm 中的宏不会被运行,PDF 中的脚本也不会被执行。查看器仅绘制文档。
- 扩展名列表是白名单 —— 免费查看器接受 70 多种扩展名,其他所有文件在上传时都会被拒绝。
如果您的风险评估要求对上传文件进行扫描,上述措施并不能替代扫描。请自行添加此层;查看器本身不包含恶意软件扫描功能。
适配既定 .NET 应用程序风格的查看器
集成挑战
企业通常同时运行 ASP.NET Core、MVC、WebForms 以及较新的 Blazor 应用。添加第三方查看器通常意味着要处理 JavaScript 库、插件兼容性以及浏览器怪癖。每增加一个依赖项都会带来新的攻击面和维护负担。
SDK 对此的解决方案
- 零插件,纯 HTML5 —— 在所有现代浏览器(Chrome、Edge、Firefox、Safari)上均可工作,无需在客户端机器上安装任何东西。
- Blazor 集成 —— 在组件中协调查看器状态,同时将文件访问和处理保留在服务器端。请参阅已安装 SDK 版本的文档。
- 可定制 UI —— 查看器的工具栏、颜色和品牌可根据您的应用进行定制,使其看起来是您产品的一部分,而不是别人的窗口。请从您所安装版本的文档中获取选项名称。
嵌入查看器
添加受支持的 Doconut 包,在 ASP.NET 应用中强制文档授权,并使用该版本的官方文档初始化查看器。不要假设传输、加密、删除或 UI 权限是自动的;请在部署的架构中验证并配置每个控制项。
Blazor 集成与评估
Doconut 可以参与 Blazor 应用工作流,但具体的组件模型和设置取决于所安装的 SDK 版本。必须在完整的部署架构中验证身份验证、安全传输、存储保护、清理和进程隔离,而不是假设它们会自动启用。
要进行评估,可在下载页面获取试用许可证和文档;各版本包含的内容以及条款请参阅定价页面,而不是在此处概述,因为那样容易过时。
如果你只是想先看看某个尴尬的文件如何渲染,Doconut.app一次处理一个文件,免费——渲染后会删除文件。
关键要点
- SDK 的安全属性是架构层面的——它在你的环境中运行,不调用外部服务,因此文档永远不会离开你的边界。它不提供静态加密、密钥管理或审计日志;这些仍由你自行负责。
- Doconut.app 是一次真实的上传——通过 HTTPS 上传,在我们的服务器上渲染,会话结束后删除,无需账户。普通文件可以使用,受监管的数据则不适合。
- 合规性并非内置——我们不持有 ISO 27001、SOC 2、HIPAA、PCI DSS 或 FedRAMP 认证,任何组件也无法为你提供这些认证。
- 渲染在服务器端完成,而非 WebAssembly——浏览器只接收页面,从不获取源文件。渲染不等同于执行,因此宏不会运行。
- 请清理临时目录——在自托管部署中,孤立的渲染输出是实际的“幽灵文件”风险。
- 零插件浏览器体验——可与 ASP.NET Core、MVC、WebForms 和 Blazor 工作流集成。
- 在你自己的环境中评估——渲染质量可在Doconut.app免费检查;其余功能需要在你自己的服务器上使用试用版 SDK。
常见问题
问:Doconut.app 在查看后会保留我的文档副本吗?
答:不会。文档在与你的浏览器关联的临时会话中渲染,会话结束后即从我们的服务器删除。没有账户可供关联,也没有库会重新出现该文档。在自托管的 SDK 部署中,等同的问题是关于你自己的临时目录,答案取决于你配置的清理方式。
问:我可以为特定用户启用下载或打印功能吗?
答:在 SDK 中可以——查看器的控件是可配置的,受控打印是查看器本身的一部分,而不是额外插件,因此你可以在自己的应用中按角色授予这些权限。免费站点Doconut.app没有角色和 API:任何查看者都可以使用 Ctrl+P 打印。
问:它如何处理大型 CAD 或高分辨率图像文件?
答:引擎从几何和像素数据而非嵌入的预览渲染 DWG、DXF、DGN、PSD、TIFF 和 DNG,应用嵌入的 ICC 配置文件,并允许关闭 CAD 图层、测量距离和面积。免费站点有以下限制:CAD 10 MB(超过此大小的图纸会受限),以及 PSD、TIFF 和图像 25 MB。自托管时,限制取决于服务器内存。
问:查看器兼容移动浏览器吗?
答:兼容。由于渲染在服务器完成,浏览器只接收普通的 HTML 和图像,因此在 iOS Safari、Android Chrome 以及任何现代移动浏览器上均可使用——弱设备并不构成劣势,因为它不承担渲染工作。
问:费用是多少?
答:Doconut.app免费,无付费层级、无需账户,也没有试用期会到期——这就是其全部模式。SDK 为商业许可证,提供免费试用;当前版本和价格请参阅定价页面,该页面为权威信息,而非本文。
最后思考
当你在企业 .NET 应用中嵌入基于云的文件转换器时,数据泄露、文件生命周期不确定、合规性缺口以及恶意负载都是实际风险。自托管的 Doconut 工作流可以为基于 Windows 的 .NET 团队提供对处理和存储的更大控制,而外围应用则负责完整的安全设计。
如何在两者之间做决定? 如果文档是普通文件,Doconut.app可以立即免费打开一个。如果不是,则使用SDK的理由在于文件始终保留在你的服务器上——而向审计员证明安全性的工作也由你自行完成,这也是唯一在真实安全审查中仍然成立的方案。